/* automatically generated by rust-bindgen 0.55.1 */ #[repr(C)] #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] pub struct __BindgenBitfieldUnit { storage: Storage, align: [Align; 0], } impl __BindgenBitfieldUnit { #[inline] pub const fn new(storage: Storage) -> Self { Self { storage, align: [] } } } impl __BindgenBitfieldUnit where Storage: AsRef<[u8]> + AsMut<[u8]>, { #[inline] pub fn get_bit(&self, index: usize) -> bool { debug_assert!(index / 8 < self.storage.as_ref().len()); let byte_index = index / 8; let byte = self.storage.as_ref()[byte_index]; let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; let mask = 1 << bit_index; byte & mask == mask } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { debug_assert!(index / 8 < self.storage.as_ref().len()); let byte_index = index / 8; let byte = &mut self.storage.as_mut()[byte_index]; let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; let mask = 1 << bit_index; if val { *byte |= mask; } else { *byte &= !mask; } } #[inline] pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { debug_assert!(bit_width <= 64); debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); let mut val = 0; for i in 0..(bit_width as usize) { if self.get_bit(i + bit_offset) { let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; val |= 1 << index; } } val } #[inline] pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { debug_assert!(bit_width <= 64); debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); for i in 0..(bit_width as usize) { let mask = 1 << i; let val_bit_is_set = val & mask == mask; let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; self.set_bit(index + bit_offset, val_bit_is_set); } } } #[repr(C)] #[derive(Default)] pub struct __IncompleteArrayField(::std::marker::PhantomData, [T; 0]); impl __IncompleteArrayField { #[inline] pub const fn new() -> Self { __IncompleteArrayField(::std::marker::PhantomData, []) } #[inline] pub fn as_ptr(&self) -> *const T { self as *const _ as *const T } #[inline] pub fn as_mut_ptr(&mut self) -> *mut T { self as *mut _ as *mut T } #[inline] pub unsafe fn as_slice(&self, len: usize) -> &[T] { ::std::slice::from_raw_parts(self.as_ptr(), len) } #[inline] pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) } } impl ::std::fmt::Debug for __IncompleteArrayField { fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { fmt.write_str("__IncompleteArrayField") } } #[repr(C)] pub struct __BindgenUnionField(::std::marker::PhantomData); impl __BindgenUnionField { #[inline] pub const fn new() -> Self { __BindgenUnionField(::std::marker::PhantomData) } #[inline] pub unsafe fn as_ref(&self) -> &T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_mut(&mut self) -> &mut T { ::std::mem::transmute(self) } } impl ::std::default::Default for __BindgenUnionField { #[inline] fn default() -> Self { Self::new() } } impl ::std::clone::Clone for __BindgenUnionField { #[inline] fn clone(&self) -> Self { Self::new() } } impl ::std::marker::Copy for __BindgenUnionField {} impl ::std::fmt::Debug for __BindgenUnionField { fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { fmt.write_str("__BindgenUnionField") } } impl ::std::hash::Hash for __BindgenUnionField { fn hash(&self, _state: &mut H) {} } impl ::std::cmp::PartialEq for __BindgenUnionField { fn eq(&self, _other: &__BindgenUnionField) -> bool { true } } impl ::std::cmp::Eq for __BindgenUnionField {} pub const DB2NT: u32 = 1; 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_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 WDK_NTDDI_VERSION: u32 = 167772167; 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 = 167772167; 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_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 __GNUC_VA_LIST: u32 = 1; pub const __SAL_H_FULL_VER: u32 = 140050727; pub const __SPECSTRINGS_STRICT_LEVEL: u32 = 1; pub const __drv_typeConst: u32 = 0; pub const __drv_typeCond: u32 = 1; pub const __drv_typeBitset: u32 = 2; pub const __drv_typeExpr: u32 = 3; pub const STRICT: u32 = 1; pub const MAX_PATH: u32 = 260; pub const FALSE: u32 = 0; pub const TRUE: u32 = 1; pub const _ARGMAX: u32 = 100; pub const _CRT_INT_MAX: u32 = 2147483647; pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1; pub const _CRT_HAS_CXX17: u32 = 0; pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1; pub const _CRT_BUILD_DESKTOP_APP: u32 = 1; pub const _CRT_INTERNAL_NONSTDC_NAMES: u32 = 1; pub const __STDC_SECURE_LIB__: u32 = 200411; pub const __GOT_SECURE_LIB__: u32 = 200411; pub const __STDC_WANT_SECURE_LIB__: u32 = 1; pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254; pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0; pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0; pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1; pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0; pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0; pub const _UPPER: u32 = 1; pub const _LOWER: u32 = 2; pub const _DIGIT: u32 = 4; pub const _SPACE: u32 = 8; pub const _PUNCT: u32 = 16; pub const _CONTROL: u32 = 32; pub const _BLANK: u32 = 64; pub const _HEX: u32 = 128; pub const _LEADBYTE: u32 = 32768; pub const _ALPHA: u32 = 259; pub const ANYSIZE_ARRAY: u32 = 1; pub const DISPATCH_LEVEL: u32 = 2; pub const APC_LEVEL: u32 = 1; pub const PASSIVE_LEVEL: u32 = 0; pub const HIGH_LEVEL: u32 = 15; pub const MEMORY_ALLOCATION_ALIGNMENT: u32 = 16; pub const SYSTEM_CACHE_ALIGNMENT_SIZE: u32 = 64; pub const PRAGMA_DEPRECATED_DDK: u32 = 0; pub const UCSCHAR_INVALID_CHARACTER: u32 = 4294967295; pub const MIN_UCSCHAR: u32 = 0; pub const MAX_UCSCHAR: u32 = 1114111; pub const ALL_PROCESSOR_GROUPS: u32 = 65535; pub const MAXIMUM_PROC_PER_GROUP: u32 = 64; pub const MAXIMUM_PROCESSORS: u32 = 64; pub const APPLICATION_ERROR_MASK: u32 = 536870912; pub const ERROR_SEVERITY_SUCCESS: u32 = 0; pub const ERROR_SEVERITY_INFORMATIONAL: u32 = 1073741824; pub const ERROR_SEVERITY_WARNING: u32 = 2147483648; pub const ERROR_SEVERITY_ERROR: u32 = 3221225472; pub const MAXLONGLONG: u64 = 9223372036854775807; pub const UNICODE_STRING_MAX_CHARS: u32 = 32767; pub const EPERM: u32 = 1; pub const ENOENT: u32 = 2; pub const ESRCH: u32 = 3; pub const EINTR: u32 = 4; pub const EIO: u32 = 5; pub const ENXIO: u32 = 6; pub const E2BIG: u32 = 7; pub const ENOEXEC: u32 = 8; pub const EBADF: u32 = 9; pub const ECHILD: u32 = 10; pub const EAGAIN: u32 = 11; pub const ENOMEM: u32 = 12; pub const EACCES: u32 = 13; pub const EFAULT: u32 = 14; pub const EBUSY: u32 = 16; pub const EEXIST: u32 = 17; pub const EXDEV: u32 = 18; pub const ENODEV: u32 = 19; pub const ENOTDIR: u32 = 20; pub const EISDIR: u32 = 21; pub const ENFILE: u32 = 23; pub const EMFILE: u32 = 24; pub const ENOTTY: u32 = 25; pub const EFBIG: u32 = 27; pub const ENOSPC: u32 = 28; pub const ESPIPE: u32 = 29; pub const EROFS: u32 = 30; pub const EMLINK: u32 = 31; pub const EPIPE: u32 = 32; pub const EDOM: u32 = 33; pub const EDEADLK: u32 = 36; pub const ENAMETOOLONG: u32 = 38; pub const ENOLCK: u32 = 39; pub const ENOSYS: u32 = 40; pub const ENOTEMPTY: u32 = 41; pub const EINVAL: u32 = 22; pub const ERANGE: u32 = 34; pub const EILSEQ: u32 = 42; pub const STRUNCATE: u32 = 80; pub const EDEADLOCK: u32 = 36; pub const EADDRINUSE: u32 = 100; pub const EADDRNOTAVAIL: u32 = 101; pub const EAFNOSUPPORT: u32 = 102; pub const EALREADY: u32 = 103; pub const EBADMSG: u32 = 104; pub const ECANCELED: u32 = 105; pub const ECONNABORTED: u32 = 106; pub const ECONNREFUSED: u32 = 107; pub const ECONNRESET: u32 = 108; pub const EDESTADDRREQ: u32 = 109; pub const EHOSTUNREACH: u32 = 110; pub const EIDRM: u32 = 111; pub const EINPROGRESS: u32 = 112; pub const EISCONN: u32 = 113; pub const ELOOP: u32 = 114; pub const EMSGSIZE: u32 = 115; pub const ENETDOWN: u32 = 116; pub const ENETRESET: u32 = 117; pub const ENETUNREACH: u32 = 118; pub const ENOBUFS: u32 = 119; pub const ENODATA: u32 = 120; pub const ENOLINK: u32 = 121; pub const ENOMSG: u32 = 122; pub const ENOPROTOOPT: u32 = 123; pub const ENOSR: u32 = 124; pub const ENOSTR: u32 = 125; pub const ENOTCONN: u32 = 126; pub const ENOTRECOVERABLE: u32 = 127; pub const ENOTSOCK: u32 = 128; pub const ENOTSUP: u32 = 129; pub const EOPNOTSUPP: u32 = 130; pub const EOTHER: u32 = 131; pub const EOVERFLOW: u32 = 132; pub const EOWNERDEAD: u32 = 133; pub const EPROTO: u32 = 134; pub const EPROTONOSUPPORT: u32 = 135; pub const EPROTOTYPE: u32 = 136; pub const ETIME: u32 = 137; pub const ETIMEDOUT: u32 = 138; pub const ETXTBSY: u32 = 139; pub const EWOULDBLOCK: u32 = 140; pub const _NLSCMPERROR: u32 = 2147483647; pub const MINCHAR: u32 = 128; pub const MAXCHAR: u32 = 127; pub const MINSHORT: u32 = 32768; pub const MAXSHORT: u32 = 32767; pub const MINLONG: u32 = 2147483648; pub const MAXLONG: u32 = 2147483647; pub const MAXBYTE: u32 = 255; pub const MAXWORD: u32 = 65535; pub const MAXDWORD: u32 = 4294967295; pub const ENCLAVE_SHORT_ID_LENGTH: u32 = 16; pub const ENCLAVE_LONG_ID_LENGTH: u32 = 32; pub const VER_SERVER_NT: u32 = 2147483648; pub const VER_WORKSTATION_NT: u32 = 1073741824; pub const VER_SUITE_SMALLBUSINESS: u32 = 1; pub const VER_SUITE_ENTERPRISE: u32 = 2; pub const VER_SUITE_BACKOFFICE: u32 = 4; pub const VER_SUITE_COMMUNICATIONS: u32 = 8; pub const VER_SUITE_TERMINAL: u32 = 16; pub const VER_SUITE_SMALLBUSINESS_RESTRICTED: u32 = 32; pub const VER_SUITE_EMBEDDEDNT: u32 = 64; pub const VER_SUITE_DATACENTER: u32 = 128; pub const VER_SUITE_SINGLEUSERTS: u32 = 256; pub const VER_SUITE_PERSONAL: u32 = 512; pub const VER_SUITE_BLADE: u32 = 1024; pub const VER_SUITE_EMBEDDED_RESTRICTED: u32 = 2048; pub const VER_SUITE_SECURITY_APPLIANCE: u32 = 4096; pub const VER_SUITE_STORAGE_SERVER: u32 = 8192; pub const VER_SUITE_COMPUTE_SERVER: u32 = 16384; pub const VER_SUITE_WH_SERVER: u32 = 32768; pub const VER_SUITE_MULTIUSERTS: u32 = 131072; pub const PRODUCT_UNDEFINED: u32 = 0; pub const PRODUCT_ULTIMATE: u32 = 1; pub const PRODUCT_HOME_BASIC: u32 = 2; pub const PRODUCT_HOME_PREMIUM: u32 = 3; pub const PRODUCT_ENTERPRISE: u32 = 4; pub const PRODUCT_HOME_BASIC_N: u32 = 5; pub const PRODUCT_BUSINESS: u32 = 6; pub const PRODUCT_STANDARD_SERVER: u32 = 7; pub const PRODUCT_DATACENTER_SERVER: u32 = 8; pub const PRODUCT_SMALLBUSINESS_SERVER: u32 = 9; pub const PRODUCT_ENTERPRISE_SERVER: u32 = 10; pub const PRODUCT_STARTER: u32 = 11; pub const PRODUCT_DATACENTER_SERVER_CORE: u32 = 12; pub const PRODUCT_STANDARD_SERVER_CORE: u32 = 13; pub const PRODUCT_ENTERPRISE_SERVER_CORE: u32 = 14; pub const PRODUCT_ENTERPRISE_SERVER_IA64: u32 = 15; pub const PRODUCT_BUSINESS_N: u32 = 16; pub const PRODUCT_WEB_SERVER: u32 = 17; pub const PRODUCT_CLUSTER_SERVER: u32 = 18; pub const PRODUCT_HOME_SERVER: u32 = 19; pub const PRODUCT_STORAGE_EXPRESS_SERVER: u32 = 20; pub const PRODUCT_STORAGE_STANDARD_SERVER: u32 = 21; pub const PRODUCT_STORAGE_WORKGROUP_SERVER: u32 = 22; pub const PRODUCT_STORAGE_ENTERPRISE_SERVER: u32 = 23; pub const PRODUCT_SERVER_FOR_SMALLBUSINESS: u32 = 24; pub const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM: u32 = 25; pub const PRODUCT_HOME_PREMIUM_N: u32 = 26; pub const PRODUCT_ENTERPRISE_N: u32 = 27; pub const PRODUCT_ULTIMATE_N: u32 = 28; pub const PRODUCT_WEB_SERVER_CORE: u32 = 29; pub const PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT: u32 = 30; pub const PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY: u32 = 31; pub const PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING: u32 = 32; pub const PRODUCT_SERVER_FOUNDATION: u32 = 33; pub const PRODUCT_HOME_PREMIUM_SERVER: u32 = 34; pub const PRODUCT_SERVER_FOR_SMALLBUSINESS_V: u32 = 35; pub const PRODUCT_STANDARD_SERVER_V: u32 = 36; pub const PRODUCT_DATACENTER_SERVER_V: u32 = 37; pub const PRODUCT_ENTERPRISE_SERVER_V: u32 = 38; pub const PRODUCT_DATACENTER_SERVER_CORE_V: u32 = 39; pub const PRODUCT_STANDARD_SERVER_CORE_V: u32 = 40; pub const PRODUCT_ENTERPRISE_SERVER_CORE_V: u32 = 41; pub const PRODUCT_HYPERV: u32 = 42; pub const PRODUCT_STORAGE_EXPRESS_SERVER_CORE: u32 = 43; pub const PRODUCT_STORAGE_STANDARD_SERVER_CORE: u32 = 44; pub const PRODUCT_STORAGE_WORKGROUP_SERVER_CORE: u32 = 45; pub const PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE: u32 = 46; pub const PRODUCT_STARTER_N: u32 = 47; pub const PRODUCT_PROFESSIONAL: u32 = 48; pub const PRODUCT_PROFESSIONAL_N: u32 = 49; pub const PRODUCT_SB_SOLUTION_SERVER: u32 = 50; pub const PRODUCT_SERVER_FOR_SB_SOLUTIONS: u32 = 51; pub const PRODUCT_STANDARD_SERVER_SOLUTIONS: u32 = 52; pub const PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE: u32 = 53; pub const PRODUCT_SB_SOLUTION_SERVER_EM: u32 = 54; pub const PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM: u32 = 55; pub const PRODUCT_SOLUTION_EMBEDDEDSERVER: u32 = 56; pub const PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE: u32 = 57; pub const PRODUCT_PROFESSIONAL_EMBEDDED: u32 = 58; pub const PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT: u32 = 59; pub const PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL: u32 = 60; pub const PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC: u32 = 61; pub const PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC: u32 = 62; pub const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE: u32 = 63; pub const PRODUCT_CLUSTER_SERVER_V: u32 = 64; pub const PRODUCT_EMBEDDED: u32 = 65; pub const PRODUCT_STARTER_E: u32 = 66; pub const PRODUCT_HOME_BASIC_E: u32 = 67; pub const PRODUCT_HOME_PREMIUM_E: u32 = 68; pub const PRODUCT_PROFESSIONAL_E: u32 = 69; pub const PRODUCT_ENTERPRISE_E: u32 = 70; pub const PRODUCT_ULTIMATE_E: u32 = 71; pub const PRODUCT_ENTERPRISE_EVALUATION: u32 = 72; pub const PRODUCT_MULTIPOINT_STANDARD_SERVER: u32 = 76; pub const PRODUCT_MULTIPOINT_PREMIUM_SERVER: u32 = 77; pub const PRODUCT_STANDARD_EVALUATION_SERVER: u32 = 79; pub const PRODUCT_DATACENTER_EVALUATION_SERVER: u32 = 80; pub const PRODUCT_ENTERPRISE_N_EVALUATION: u32 = 84; pub const PRODUCT_EMBEDDED_AUTOMOTIVE: u32 = 85; pub const PRODUCT_EMBEDDED_INDUSTRY_A: u32 = 86; pub const PRODUCT_THINPC: u32 = 87; pub const PRODUCT_EMBEDDED_A: u32 = 88; pub const PRODUCT_EMBEDDED_INDUSTRY: u32 = 89; pub const PRODUCT_EMBEDDED_E: u32 = 90; pub const PRODUCT_EMBEDDED_INDUSTRY_E: u32 = 91; pub const PRODUCT_EMBEDDED_INDUSTRY_A_E: u32 = 92; pub const PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER: u32 = 95; pub const PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER: u32 = 96; pub const PRODUCT_CORE_ARM: u32 = 97; pub const PRODUCT_CORE_N: u32 = 98; pub const PRODUCT_CORE_COUNTRYSPECIFIC: u32 = 99; pub const PRODUCT_CORE_SINGLELANGUAGE: u32 = 100; pub const PRODUCT_CORE: u32 = 101; pub const PRODUCT_PROFESSIONAL_WMC: u32 = 103; pub const PRODUCT_EMBEDDED_INDUSTRY_EVAL: u32 = 105; pub const PRODUCT_EMBEDDED_INDUSTRY_E_EVAL: u32 = 106; pub const PRODUCT_EMBEDDED_EVAL: u32 = 107; pub const PRODUCT_EMBEDDED_E_EVAL: u32 = 108; pub const PRODUCT_NANO_SERVER: u32 = 109; pub const PRODUCT_CLOUD_STORAGE_SERVER: u32 = 110; pub const PRODUCT_CORE_CONNECTED: u32 = 111; pub const PRODUCT_PROFESSIONAL_STUDENT: u32 = 112; pub const PRODUCT_CORE_CONNECTED_N: u32 = 113; pub const PRODUCT_PROFESSIONAL_STUDENT_N: u32 = 114; pub const PRODUCT_CORE_CONNECTED_SINGLELANGUAGE: u32 = 115; pub const PRODUCT_CORE_CONNECTED_COUNTRYSPECIFIC: u32 = 116; pub const PRODUCT_CONNECTED_CAR: u32 = 117; pub const PRODUCT_INDUSTRY_HANDHELD: u32 = 118; pub const PRODUCT_PPI_PRO: u32 = 119; pub const PRODUCT_ARM64_SERVER: u32 = 120; pub const PRODUCT_EDUCATION: u32 = 121; pub const PRODUCT_EDUCATION_N: u32 = 122; pub const PRODUCT_IOTUAP: u32 = 123; pub const PRODUCT_CLOUD_HOST_INFRASTRUCTURE_SERVER: u32 = 124; pub const PRODUCT_ENTERPRISE_S: u32 = 125; pub const PRODUCT_ENTERPRISE_S_N: u32 = 126; pub const PRODUCT_PROFESSIONAL_S: u32 = 127; pub const PRODUCT_PROFESSIONAL_S_N: u32 = 128; pub const PRODUCT_ENTERPRISE_S_EVALUATION: u32 = 129; pub const PRODUCT_ENTERPRISE_S_N_EVALUATION: u32 = 130; pub const PRODUCT_HOLOGRAPHIC: u32 = 135; pub const PRODUCT_HOLOGRAPHIC_BUSINESS: u32 = 136; pub const PRODUCT_PRO_SINGLE_LANGUAGE: u32 = 138; pub const PRODUCT_PRO_CHINA: u32 = 139; pub const PRODUCT_ENTERPRISE_SUBSCRIPTION: u32 = 140; pub const PRODUCT_ENTERPRISE_SUBSCRIPTION_N: u32 = 141; pub const PRODUCT_DATACENTER_NANO_SERVER: u32 = 143; pub const PRODUCT_STANDARD_NANO_SERVER: u32 = 144; pub const PRODUCT_DATACENTER_A_SERVER_CORE: u32 = 145; pub const PRODUCT_STANDARD_A_SERVER_CORE: u32 = 146; pub const PRODUCT_DATACENTER_WS_SERVER_CORE: u32 = 147; pub const PRODUCT_STANDARD_WS_SERVER_CORE: u32 = 148; pub const PRODUCT_UTILITY_VM: u32 = 149; pub const PRODUCT_DATACENTER_EVALUATION_SERVER_CORE: u32 = 159; pub const PRODUCT_STANDARD_EVALUATION_SERVER_CORE: u32 = 160; pub const PRODUCT_PRO_WORKSTATION: u32 = 161; pub const PRODUCT_PRO_WORKSTATION_N: u32 = 162; pub const PRODUCT_PRO_FOR_EDUCATION: u32 = 164; pub const PRODUCT_PRO_FOR_EDUCATION_N: u32 = 165; pub const PRODUCT_AZURE_SERVER_CORE: u32 = 168; pub const PRODUCT_AZURE_NANO_SERVER: u32 = 169; pub const PRODUCT_ENTERPRISEG: u32 = 171; pub const PRODUCT_ENTERPRISEGN: u32 = 172; pub const PRODUCT_SERVERRDSH: u32 = 175; pub const PRODUCT_CLOUD: u32 = 178; pub const PRODUCT_CLOUDN: u32 = 179; pub const PRODUCT_HUBOS: u32 = 180; pub const PRODUCT_ONECOREUPDATEOS: u32 = 182; pub const PRODUCT_CLOUDE: u32 = 183; pub const PRODUCT_ANDROMEDA: u32 = 184; pub const PRODUCT_IOTOS: u32 = 185; pub const PRODUCT_CLOUDEN: u32 = 186; pub const PRODUCT_IOTEDGEOS: u32 = 187; pub const PRODUCT_IOTENTERPRISE: u32 = 188; pub const PRODUCT_LITE: u32 = 189; pub const PRODUCT_IOTENTERPRISES: u32 = 191; pub const PRODUCT_UNLICENSED: u32 = 2882382797; pub const LANG_NEUTRAL: u32 = 0; pub const LANG_INVARIANT: u32 = 127; pub const LANG_AFRIKAANS: u32 = 54; pub const LANG_ALBANIAN: u32 = 28; pub const LANG_ALSATIAN: u32 = 132; pub const LANG_AMHARIC: u32 = 94; pub const LANG_ARABIC: u32 = 1; pub const LANG_ARMENIAN: u32 = 43; pub const LANG_ASSAMESE: u32 = 77; pub const LANG_AZERI: u32 = 44; pub const LANG_AZERBAIJANI: u32 = 44; pub const LANG_BANGLA: u32 = 69; pub const LANG_BASHKIR: u32 = 109; pub const LANG_BASQUE: u32 = 45; pub const LANG_BELARUSIAN: u32 = 35; pub const LANG_BENGALI: u32 = 69; pub const LANG_BRETON: u32 = 126; pub const LANG_BOSNIAN: u32 = 26; pub const LANG_BOSNIAN_NEUTRAL: u32 = 30746; pub const LANG_BULGARIAN: u32 = 2; pub const LANG_CATALAN: u32 = 3; pub const LANG_CENTRAL_KURDISH: u32 = 146; pub const LANG_CHEROKEE: u32 = 92; pub const LANG_CHINESE: u32 = 4; pub const LANG_CHINESE_SIMPLIFIED: u32 = 4; pub const LANG_CHINESE_TRADITIONAL: u32 = 31748; pub const LANG_CORSICAN: u32 = 131; pub const LANG_CROATIAN: u32 = 26; pub const LANG_CZECH: u32 = 5; pub const LANG_DANISH: u32 = 6; pub const LANG_DARI: u32 = 140; pub const LANG_DIVEHI: u32 = 101; pub const LANG_DUTCH: u32 = 19; pub const LANG_ENGLISH: u32 = 9; pub const LANG_ESTONIAN: u32 = 37; pub const LANG_FAEROESE: u32 = 56; pub const LANG_FARSI: u32 = 41; pub const LANG_FILIPINO: u32 = 100; pub const LANG_FINNISH: u32 = 11; pub const LANG_FRENCH: u32 = 12; pub const LANG_FRISIAN: u32 = 98; pub const LANG_FULAH: u32 = 103; pub const LANG_GALICIAN: u32 = 86; pub const LANG_GEORGIAN: u32 = 55; pub const LANG_GERMAN: u32 = 7; pub const LANG_GREEK: u32 = 8; pub const LANG_GREENLANDIC: u32 = 111; pub const LANG_GUJARATI: u32 = 71; pub const LANG_HAUSA: u32 = 104; pub const LANG_HAWAIIAN: u32 = 117; pub const LANG_HEBREW: u32 = 13; pub const LANG_HINDI: u32 = 57; pub const LANG_HUNGARIAN: u32 = 14; pub const LANG_ICELANDIC: u32 = 15; pub const LANG_IGBO: u32 = 112; pub const LANG_INDONESIAN: u32 = 33; pub const LANG_INUKTITUT: u32 = 93; pub const LANG_IRISH: u32 = 60; pub const LANG_ITALIAN: u32 = 16; pub const LANG_JAPANESE: u32 = 17; pub const LANG_KANNADA: u32 = 75; pub const LANG_KASHMIRI: u32 = 96; pub const LANG_KAZAK: u32 = 63; pub const LANG_KHMER: u32 = 83; pub const LANG_KICHE: u32 = 134; pub const LANG_KINYARWANDA: u32 = 135; pub const LANG_KONKANI: u32 = 87; pub const LANG_KOREAN: u32 = 18; pub const LANG_KYRGYZ: u32 = 64; pub const LANG_LAO: u32 = 84; pub const LANG_LATVIAN: u32 = 38; pub const LANG_LITHUANIAN: u32 = 39; pub const LANG_LOWER_SORBIAN: u32 = 46; pub const LANG_LUXEMBOURGISH: u32 = 110; pub const LANG_MACEDONIAN: u32 = 47; pub const LANG_MALAY: u32 = 62; pub const LANG_MALAYALAM: u32 = 76; pub const LANG_MALTESE: u32 = 58; pub const LANG_MANIPURI: u32 = 88; pub const LANG_MAORI: u32 = 129; pub const LANG_MAPUDUNGUN: u32 = 122; pub const LANG_MARATHI: u32 = 78; pub const LANG_MOHAWK: u32 = 124; pub const LANG_MONGOLIAN: u32 = 80; pub const LANG_NEPALI: u32 = 97; pub const LANG_NORWEGIAN: u32 = 20; pub const LANG_OCCITAN: u32 = 130; pub const LANG_ODIA: u32 = 72; pub const LANG_ORIYA: u32 = 72; pub const LANG_PASHTO: u32 = 99; pub const LANG_PERSIAN: u32 = 41; pub const LANG_POLISH: u32 = 21; pub const LANG_PORTUGUESE: u32 = 22; pub const LANG_PULAR: u32 = 103; pub const LANG_PUNJABI: u32 = 70; pub const LANG_QUECHUA: u32 = 107; pub const LANG_ROMANIAN: u32 = 24; pub const LANG_ROMANSH: u32 = 23; pub const LANG_RUSSIAN: u32 = 25; pub const LANG_SAKHA: u32 = 133; pub const LANG_SAMI: u32 = 59; pub const LANG_SANSKRIT: u32 = 79; pub const LANG_SCOTTISH_GAELIC: u32 = 145; pub const LANG_SERBIAN: u32 = 26; pub const LANG_SERBIAN_NEUTRAL: u32 = 31770; pub const LANG_SINDHI: u32 = 89; pub const LANG_SINHALESE: u32 = 91; pub const LANG_SLOVAK: u32 = 27; pub const LANG_SLOVENIAN: u32 = 36; pub const LANG_SOTHO: u32 = 108; pub const LANG_SPANISH: u32 = 10; pub const LANG_SWAHILI: u32 = 65; pub const LANG_SWEDISH: u32 = 29; pub const LANG_SYRIAC: u32 = 90; pub const LANG_TAJIK: u32 = 40; pub const LANG_TAMAZIGHT: u32 = 95; pub const LANG_TAMIL: u32 = 73; pub const LANG_TATAR: u32 = 68; pub const LANG_TELUGU: u32 = 74; pub const LANG_THAI: u32 = 30; pub const LANG_TIBETAN: u32 = 81; pub const LANG_TIGRIGNA: u32 = 115; pub const LANG_TIGRINYA: u32 = 115; pub const LANG_TSWANA: u32 = 50; pub const LANG_TURKISH: u32 = 31; pub const LANG_TURKMEN: u32 = 66; pub const LANG_UIGHUR: u32 = 128; pub const LANG_UKRAINIAN: u32 = 34; pub const LANG_UPPER_SORBIAN: u32 = 46; pub const LANG_URDU: u32 = 32; pub const LANG_UZBEK: u32 = 67; pub const LANG_VALENCIAN: u32 = 3; pub const LANG_VIETNAMESE: u32 = 42; pub const LANG_WELSH: u32 = 82; pub const LANG_WOLOF: u32 = 136; pub const LANG_XHOSA: u32 = 52; pub const LANG_YAKUT: u32 = 133; pub const LANG_YI: u32 = 120; pub const LANG_YORUBA: u32 = 106; pub const LANG_ZULU: u32 = 53; pub const SUBLANG_NEUTRAL: u32 = 0; pub const SUBLANG_DEFAULT: u32 = 1; pub const SUBLANG_SYS_DEFAULT: u32 = 2; pub const SUBLANG_CUSTOM_DEFAULT: u32 = 3; pub const SUBLANG_CUSTOM_UNSPECIFIED: u32 = 4; pub const SUBLANG_UI_CUSTOM_DEFAULT: u32 = 5; pub const SUBLANG_AFRIKAANS_SOUTH_AFRICA: u32 = 1; pub const SUBLANG_ALBANIAN_ALBANIA: u32 = 1; pub const SUBLANG_ALSATIAN_FRANCE: u32 = 1; pub const SUBLANG_AMHARIC_ETHIOPIA: u32 = 1; pub const SUBLANG_ARABIC_SAUDI_ARABIA: u32 = 1; pub const SUBLANG_ARABIC_IRAQ: u32 = 2; pub const SUBLANG_ARABIC_EGYPT: u32 = 3; pub const SUBLANG_ARABIC_LIBYA: u32 = 4; pub const SUBLANG_ARABIC_ALGERIA: u32 = 5; pub const SUBLANG_ARABIC_MOROCCO: u32 = 6; pub const SUBLANG_ARABIC_TUNISIA: u32 = 7; pub const SUBLANG_ARABIC_OMAN: u32 = 8; pub const SUBLANG_ARABIC_YEMEN: u32 = 9; pub const SUBLANG_ARABIC_SYRIA: u32 = 10; pub const SUBLANG_ARABIC_JORDAN: u32 = 11; pub const SUBLANG_ARABIC_LEBANON: u32 = 12; pub const SUBLANG_ARABIC_KUWAIT: u32 = 13; pub const SUBLANG_ARABIC_UAE: u32 = 14; pub const SUBLANG_ARABIC_BAHRAIN: u32 = 15; pub const SUBLANG_ARABIC_QATAR: u32 = 16; pub const SUBLANG_ARMENIAN_ARMENIA: u32 = 1; pub const SUBLANG_ASSAMESE_INDIA: u32 = 1; pub const SUBLANG_AZERI_LATIN: u32 = 1; pub const SUBLANG_AZERI_CYRILLIC: u32 = 2; pub const SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN: u32 = 1; pub const SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC: u32 = 2; pub const SUBLANG_BANGLA_INDIA: u32 = 1; pub const SUBLANG_BANGLA_BANGLADESH: u32 = 2; pub const SUBLANG_BASHKIR_RUSSIA: u32 = 1; pub const SUBLANG_BASQUE_BASQUE: u32 = 1; pub const SUBLANG_BELARUSIAN_BELARUS: u32 = 1; pub const SUBLANG_BENGALI_INDIA: u32 = 1; pub const SUBLANG_BENGALI_BANGLADESH: u32 = 2; pub const SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN: u32 = 5; pub const SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC: u32 = 8; pub const SUBLANG_BRETON_FRANCE: u32 = 1; pub const SUBLANG_BULGARIAN_BULGARIA: u32 = 1; pub const SUBLANG_CATALAN_CATALAN: u32 = 1; pub const SUBLANG_CENTRAL_KURDISH_IRAQ: u32 = 1; pub const SUBLANG_CHEROKEE_CHEROKEE: u32 = 1; pub const SUBLANG_CHINESE_TRADITIONAL: u32 = 1; pub const SUBLANG_CHINESE_SIMPLIFIED: u32 = 2; pub const SUBLANG_CHINESE_HONGKONG: u32 = 3; pub const SUBLANG_CHINESE_SINGAPORE: u32 = 4; pub const SUBLANG_CHINESE_MACAU: u32 = 5; pub const SUBLANG_CORSICAN_FRANCE: u32 = 1; pub const SUBLANG_CZECH_CZECH_REPUBLIC: u32 = 1; pub const SUBLANG_CROATIAN_CROATIA: u32 = 1; pub const SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN: u32 = 4; pub const SUBLANG_DANISH_DENMARK: u32 = 1; pub const SUBLANG_DARI_AFGHANISTAN: u32 = 1; pub const SUBLANG_DIVEHI_MALDIVES: u32 = 1; pub const SUBLANG_DUTCH: u32 = 1; pub const SUBLANG_DUTCH_BELGIAN: u32 = 2; pub const SUBLANG_ENGLISH_US: u32 = 1; pub const SUBLANG_ENGLISH_UK: u32 = 2; pub const SUBLANG_ENGLISH_AUS: u32 = 3; pub const SUBLANG_ENGLISH_CAN: u32 = 4; pub const SUBLANG_ENGLISH_NZ: u32 = 5; pub const SUBLANG_ENGLISH_EIRE: u32 = 6; pub const SUBLANG_ENGLISH_SOUTH_AFRICA: u32 = 7; pub const SUBLANG_ENGLISH_JAMAICA: u32 = 8; pub const SUBLANG_ENGLISH_CARIBBEAN: u32 = 9; pub const SUBLANG_ENGLISH_BELIZE: u32 = 10; pub const SUBLANG_ENGLISH_TRINIDAD: u32 = 11; pub const SUBLANG_ENGLISH_ZIMBABWE: u32 = 12; pub const SUBLANG_ENGLISH_PHILIPPINES: u32 = 13; pub const SUBLANG_ENGLISH_INDIA: u32 = 16; pub const SUBLANG_ENGLISH_MALAYSIA: u32 = 17; pub const SUBLANG_ENGLISH_SINGAPORE: u32 = 18; pub const SUBLANG_ESTONIAN_ESTONIA: u32 = 1; pub const SUBLANG_FAEROESE_FAROE_ISLANDS: u32 = 1; pub const SUBLANG_FILIPINO_PHILIPPINES: u32 = 1; pub const SUBLANG_FINNISH_FINLAND: u32 = 1; pub const SUBLANG_FRENCH: u32 = 1; pub const SUBLANG_FRENCH_BELGIAN: u32 = 2; pub const SUBLANG_FRENCH_CANADIAN: u32 = 3; pub const SUBLANG_FRENCH_SWISS: u32 = 4; pub const SUBLANG_FRENCH_LUXEMBOURG: u32 = 5; pub const SUBLANG_FRENCH_MONACO: u32 = 6; pub const SUBLANG_FRISIAN_NETHERLANDS: u32 = 1; pub const SUBLANG_FULAH_SENEGAL: u32 = 2; pub const SUBLANG_GALICIAN_GALICIAN: u32 = 1; pub const SUBLANG_GEORGIAN_GEORGIA: u32 = 1; pub const SUBLANG_GERMAN: u32 = 1; pub const SUBLANG_GERMAN_SWISS: u32 = 2; pub const SUBLANG_GERMAN_AUSTRIAN: u32 = 3; pub const SUBLANG_GERMAN_LUXEMBOURG: u32 = 4; pub const SUBLANG_GERMAN_LIECHTENSTEIN: u32 = 5; pub const SUBLANG_GREEK_GREECE: u32 = 1; pub const SUBLANG_GREENLANDIC_GREENLAND: u32 = 1; pub const SUBLANG_GUJARATI_INDIA: u32 = 1; pub const SUBLANG_HAUSA_NIGERIA_LATIN: u32 = 1; pub const SUBLANG_HAWAIIAN_US: u32 = 1; pub const SUBLANG_HEBREW_ISRAEL: u32 = 1; pub const SUBLANG_HINDI_INDIA: u32 = 1; pub const SUBLANG_HUNGARIAN_HUNGARY: u32 = 1; pub const SUBLANG_ICELANDIC_ICELAND: u32 = 1; pub const SUBLANG_IGBO_NIGERIA: u32 = 1; pub const SUBLANG_INDONESIAN_INDONESIA: u32 = 1; pub const SUBLANG_INUKTITUT_CANADA: u32 = 1; pub const SUBLANG_INUKTITUT_CANADA_LATIN: u32 = 2; pub const SUBLANG_IRISH_IRELAND: u32 = 2; pub const SUBLANG_ITALIAN: u32 = 1; pub const SUBLANG_ITALIAN_SWISS: u32 = 2; pub const SUBLANG_JAPANESE_JAPAN: u32 = 1; pub const SUBLANG_KANNADA_INDIA: u32 = 1; pub const SUBLANG_KASHMIRI_SASIA: u32 = 2; pub const SUBLANG_KASHMIRI_INDIA: u32 = 2; pub const SUBLANG_KAZAK_KAZAKHSTAN: u32 = 1; pub const SUBLANG_KHMER_CAMBODIA: u32 = 1; pub const SUBLANG_KICHE_GUATEMALA: u32 = 1; pub const SUBLANG_KINYARWANDA_RWANDA: u32 = 1; pub const SUBLANG_KONKANI_INDIA: u32 = 1; pub const SUBLANG_KOREAN: u32 = 1; pub const SUBLANG_KYRGYZ_KYRGYZSTAN: u32 = 1; pub const SUBLANG_LAO_LAO: u32 = 1; pub const SUBLANG_LATVIAN_LATVIA: u32 = 1; pub const SUBLANG_LITHUANIAN: u32 = 1; pub const SUBLANG_LOWER_SORBIAN_GERMANY: u32 = 2; pub const SUBLANG_LUXEMBOURGISH_LUXEMBOURG: u32 = 1; pub const SUBLANG_MACEDONIAN_MACEDONIA: u32 = 1; pub const SUBLANG_MALAY_MALAYSIA: u32 = 1; pub const SUBLANG_MALAY_BRUNEI_DARUSSALAM: u32 = 2; pub const SUBLANG_MALAYALAM_INDIA: u32 = 1; pub const SUBLANG_MALTESE_MALTA: u32 = 1; pub const SUBLANG_MAORI_NEW_ZEALAND: u32 = 1; pub const SUBLANG_MAPUDUNGUN_CHILE: u32 = 1; pub const SUBLANG_MARATHI_INDIA: u32 = 1; pub const SUBLANG_MOHAWK_MOHAWK: u32 = 1; pub const SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA: u32 = 1; pub const SUBLANG_MONGOLIAN_PRC: u32 = 2; pub const SUBLANG_NEPALI_INDIA: u32 = 2; pub const SUBLANG_NEPALI_NEPAL: u32 = 1; pub const SUBLANG_NORWEGIAN_BOKMAL: u32 = 1; pub const SUBLANG_NORWEGIAN_NYNORSK: u32 = 2; pub const SUBLANG_OCCITAN_FRANCE: u32 = 1; pub const SUBLANG_ODIA_INDIA: u32 = 1; pub const SUBLANG_ORIYA_INDIA: u32 = 1; pub const SUBLANG_PASHTO_AFGHANISTAN: u32 = 1; pub const SUBLANG_PERSIAN_IRAN: u32 = 1; pub const SUBLANG_POLISH_POLAND: u32 = 1; pub const SUBLANG_PORTUGUESE: u32 = 2; pub const SUBLANG_PORTUGUESE_BRAZILIAN: u32 = 1; pub const SUBLANG_PULAR_SENEGAL: u32 = 2; pub const SUBLANG_PUNJABI_INDIA: u32 = 1; pub const SUBLANG_PUNJABI_PAKISTAN: u32 = 2; pub const SUBLANG_QUECHUA_BOLIVIA: u32 = 1; pub const SUBLANG_QUECHUA_ECUADOR: u32 = 2; pub const SUBLANG_QUECHUA_PERU: u32 = 3; pub const SUBLANG_ROMANIAN_ROMANIA: u32 = 1; pub const SUBLANG_ROMANSH_SWITZERLAND: u32 = 1; pub const SUBLANG_RUSSIAN_RUSSIA: u32 = 1; pub const SUBLANG_SAKHA_RUSSIA: u32 = 1; pub const SUBLANG_SAMI_NORTHERN_NORWAY: u32 = 1; pub const SUBLANG_SAMI_NORTHERN_SWEDEN: u32 = 2; pub const SUBLANG_SAMI_NORTHERN_FINLAND: u32 = 3; pub const SUBLANG_SAMI_LULE_NORWAY: u32 = 4; pub const SUBLANG_SAMI_LULE_SWEDEN: u32 = 5; pub const SUBLANG_SAMI_SOUTHERN_NORWAY: u32 = 6; pub const SUBLANG_SAMI_SOUTHERN_SWEDEN: u32 = 7; pub const SUBLANG_SAMI_SKOLT_FINLAND: u32 = 8; pub const SUBLANG_SAMI_INARI_FINLAND: u32 = 9; pub const SUBLANG_SANSKRIT_INDIA: u32 = 1; pub const SUBLANG_SCOTTISH_GAELIC: u32 = 1; pub const SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN: u32 = 6; pub const SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC: u32 = 7; pub const SUBLANG_SERBIAN_MONTENEGRO_LATIN: u32 = 11; pub const SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC: u32 = 12; pub const SUBLANG_SERBIAN_SERBIA_LATIN: u32 = 9; pub const SUBLANG_SERBIAN_SERBIA_CYRILLIC: u32 = 10; pub const SUBLANG_SERBIAN_CROATIA: u32 = 1; pub const SUBLANG_SERBIAN_LATIN: u32 = 2; pub const SUBLANG_SERBIAN_CYRILLIC: u32 = 3; pub const SUBLANG_SINDHI_INDIA: u32 = 1; pub const SUBLANG_SINDHI_PAKISTAN: u32 = 2; pub const SUBLANG_SINDHI_AFGHANISTAN: u32 = 2; pub const SUBLANG_SINHALESE_SRI_LANKA: u32 = 1; pub const SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA: u32 = 1; pub const SUBLANG_SLOVAK_SLOVAKIA: u32 = 1; pub const SUBLANG_SLOVENIAN_SLOVENIA: u32 = 1; pub const SUBLANG_SPANISH: u32 = 1; pub const SUBLANG_SPANISH_MEXICAN: u32 = 2; pub const SUBLANG_SPANISH_MODERN: u32 = 3; pub const SUBLANG_SPANISH_GUATEMALA: u32 = 4; pub const SUBLANG_SPANISH_COSTA_RICA: u32 = 5; pub const SUBLANG_SPANISH_PANAMA: u32 = 6; pub const SUBLANG_SPANISH_DOMINICAN_REPUBLIC: u32 = 7; pub const SUBLANG_SPANISH_VENEZUELA: u32 = 8; pub const SUBLANG_SPANISH_COLOMBIA: u32 = 9; pub const SUBLANG_SPANISH_PERU: u32 = 10; pub const SUBLANG_SPANISH_ARGENTINA: u32 = 11; pub const SUBLANG_SPANISH_ECUADOR: u32 = 12; pub const SUBLANG_SPANISH_CHILE: u32 = 13; pub const SUBLANG_SPANISH_URUGUAY: u32 = 14; pub const SUBLANG_SPANISH_PARAGUAY: u32 = 15; pub const SUBLANG_SPANISH_BOLIVIA: u32 = 16; pub const SUBLANG_SPANISH_EL_SALVADOR: u32 = 17; pub const SUBLANG_SPANISH_HONDURAS: u32 = 18; pub const SUBLANG_SPANISH_NICARAGUA: u32 = 19; pub const SUBLANG_SPANISH_PUERTO_RICO: u32 = 20; pub const SUBLANG_SPANISH_US: u32 = 21; pub const SUBLANG_SWAHILI_KENYA: u32 = 1; pub const SUBLANG_SWEDISH: u32 = 1; pub const SUBLANG_SWEDISH_FINLAND: u32 = 2; pub const SUBLANG_SYRIAC_SYRIA: u32 = 1; pub const SUBLANG_TAJIK_TAJIKISTAN: u32 = 1; pub const SUBLANG_TAMAZIGHT_ALGERIA_LATIN: u32 = 2; pub const SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH: u32 = 4; pub const SUBLANG_TAMIL_INDIA: u32 = 1; pub const SUBLANG_TAMIL_SRI_LANKA: u32 = 2; pub const SUBLANG_TATAR_RUSSIA: u32 = 1; pub const SUBLANG_TELUGU_INDIA: u32 = 1; pub const SUBLANG_THAI_THAILAND: u32 = 1; pub const SUBLANG_TIBETAN_PRC: u32 = 1; pub const SUBLANG_TIGRIGNA_ERITREA: u32 = 2; pub const SUBLANG_TIGRINYA_ERITREA: u32 = 2; pub const SUBLANG_TIGRINYA_ETHIOPIA: u32 = 1; pub const SUBLANG_TSWANA_BOTSWANA: u32 = 2; pub const SUBLANG_TSWANA_SOUTH_AFRICA: u32 = 1; pub const SUBLANG_TURKISH_TURKEY: u32 = 1; pub const SUBLANG_TURKMEN_TURKMENISTAN: u32 = 1; pub const SUBLANG_UIGHUR_PRC: u32 = 1; pub const SUBLANG_UKRAINIAN_UKRAINE: u32 = 1; pub const SUBLANG_UPPER_SORBIAN_GERMANY: u32 = 1; pub const SUBLANG_URDU_PAKISTAN: u32 = 1; pub const SUBLANG_URDU_INDIA: u32 = 2; pub const SUBLANG_UZBEK_LATIN: u32 = 1; pub const SUBLANG_UZBEK_CYRILLIC: u32 = 2; pub const SUBLANG_VALENCIAN_VALENCIA: u32 = 2; pub const SUBLANG_VIETNAMESE_VIETNAM: u32 = 1; pub const SUBLANG_WELSH_UNITED_KINGDOM: u32 = 1; pub const SUBLANG_WOLOF_SENEGAL: u32 = 1; pub const SUBLANG_XHOSA_SOUTH_AFRICA: u32 = 1; pub const SUBLANG_YAKUT_RUSSIA: u32 = 1; pub const SUBLANG_YI_PRC: u32 = 1; pub const SUBLANG_YORUBA_NIGERIA: u32 = 1; pub const SUBLANG_ZULU_SOUTH_AFRICA: u32 = 1; pub const SORT_DEFAULT: u32 = 0; pub const SORT_INVARIANT_MATH: u32 = 1; pub const SORT_JAPANESE_XJIS: u32 = 0; pub const SORT_JAPANESE_UNICODE: u32 = 1; pub const SORT_JAPANESE_RADICALSTROKE: u32 = 4; pub const SORT_CHINESE_BIG5: u32 = 0; pub const SORT_CHINESE_PRCP: u32 = 0; pub const SORT_CHINESE_UNICODE: u32 = 1; pub const SORT_CHINESE_PRC: u32 = 2; pub const SORT_CHINESE_BOPOMOFO: u32 = 3; pub const SORT_CHINESE_RADICALSTROKE: u32 = 4; pub const SORT_KOREAN_KSC: u32 = 0; pub const SORT_KOREAN_UNICODE: u32 = 1; pub const SORT_GERMAN_PHONE_BOOK: u32 = 1; pub const SORT_HUNGARIAN_DEFAULT: u32 = 0; pub const SORT_HUNGARIAN_TECHNICAL: u32 = 1; pub const SORT_GEORGIAN_TRADITIONAL: u32 = 0; pub const SORT_GEORGIAN_MODERN: u32 = 1; pub const NLS_VALID_LOCALE_MASK: u32 = 1048575; pub const LOCALE_NAME_MAX_LENGTH: u32 = 85; pub const LOCALE_TRANSIENT_KEYBOARD1: u32 = 8192; pub const LOCALE_TRANSIENT_KEYBOARD2: u32 = 9216; pub const LOCALE_TRANSIENT_KEYBOARD3: u32 = 10240; pub const LOCALE_TRANSIENT_KEYBOARD4: u32 = 11264; pub const MAXIMUM_WAIT_OBJECTS: u32 = 64; pub const MAXIMUM_SUSPEND_COUNT: u32 = 127; pub const _MM_HINT_T0: u32 = 1; pub const _MM_HINT_T1: u32 = 2; pub const _MM_HINT_T2: u32 = 3; pub const _MM_HINT_NTA: u32 = 0; pub const PF_TEMPORAL_LEVEL_1: u32 = 1; pub const PF_TEMPORAL_LEVEL_2: u32 = 2; pub const PF_TEMPORAL_LEVEL_3: u32 = 3; pub const PF_NON_TEMPORAL_LEVEL_ALL: u32 = 0; pub const EXCEPTION_READ_FAULT: u32 = 0; pub const EXCEPTION_WRITE_FAULT: u32 = 1; pub const EXCEPTION_EXECUTE_FAULT: u32 = 8; pub const CONTEXT_AMD64: u32 = 1048576; pub const CONTEXT_CONTROL: u32 = 1048577; pub const CONTEXT_INTEGER: u32 = 1048578; pub const CONTEXT_SEGMENTS: u32 = 1048580; pub const CONTEXT_FLOATING_POINT: u32 = 1048584; pub const CONTEXT_DEBUG_REGISTERS: u32 = 1048592; pub const CONTEXT_FULL: u32 = 1048587; pub const CONTEXT_ALL: u32 = 1048607; pub const CONTEXT_XSTATE: u32 = 1048640; pub const CONTEXT_EXCEPTION_ACTIVE: u32 = 134217728; pub const CONTEXT_SERVICE_ACTIVE: u32 = 268435456; pub const CONTEXT_EXCEPTION_REQUEST: u32 = 1073741824; pub const CONTEXT_EXCEPTION_REPORTING: u32 = 2147483648; pub const INITIAL_MXCSR: u32 = 8064; pub const INITIAL_FPCSR: u32 = 639; pub const RUNTIME_FUNCTION_INDIRECT: u32 = 1; pub const UNW_FLAG_NHANDLER: u32 = 0; pub const UNW_FLAG_EHANDLER: u32 = 1; pub const UNW_FLAG_UHANDLER: u32 = 2; pub const UNW_FLAG_CHAININFO: u32 = 4; pub const UNW_FLAG_NO_EPILOGUE: u32 = 2147483648; pub const UNWIND_HISTORY_TABLE_SIZE: u32 = 12; pub const OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME: &'static [u8; 34usize] = b"OutOfProcessFunctionTableCallback\0"; pub const WOW64_CONTEXT_i386: u32 = 65536; pub const WOW64_CONTEXT_i486: u32 = 65536; pub const WOW64_CONTEXT_CONTROL: u32 = 65537; pub const WOW64_CONTEXT_INTEGER: u32 = 65538; pub const WOW64_CONTEXT_SEGMENTS: u32 = 65540; pub const WOW64_CONTEXT_FLOATING_POINT: u32 = 65544; pub const WOW64_CONTEXT_DEBUG_REGISTERS: u32 = 65552; pub const WOW64_CONTEXT_EXTENDED_REGISTERS: u32 = 65568; pub const WOW64_CONTEXT_FULL: u32 = 65543; pub const WOW64_CONTEXT_ALL: u32 = 65599; pub const WOW64_CONTEXT_XSTATE: u32 = 65600; pub const WOW64_CONTEXT_EXCEPTION_ACTIVE: u32 = 134217728; pub const WOW64_CONTEXT_SERVICE_ACTIVE: u32 = 268435456; pub const WOW64_CONTEXT_EXCEPTION_REQUEST: u32 = 1073741824; pub const WOW64_CONTEXT_EXCEPTION_REPORTING: u32 = 2147483648; pub const WOW64_SIZE_OF_80387_REGISTERS: u32 = 80; pub const WOW64_MAXIMUM_SUPPORTED_EXTENSION: u32 = 512; pub const EXCEPTION_NONCONTINUABLE: u32 = 1; pub const EXCEPTION_UNWINDING: u32 = 2; pub const EXCEPTION_EXIT_UNWIND: u32 = 4; pub const EXCEPTION_STACK_INVALID: u32 = 8; pub const EXCEPTION_NESTED_CALL: u32 = 16; pub const EXCEPTION_TARGET_UNWIND: u32 = 32; pub const EXCEPTION_COLLIDED_UNWIND: u32 = 64; pub const EXCEPTION_UNWIND: u32 = 102; pub const EXCEPTION_MAXIMUM_PARAMETERS: u32 = 15; pub const DELETE: u32 = 65536; pub const READ_CONTROL: u32 = 131072; pub const WRITE_DAC: u32 = 262144; pub const WRITE_OWNER: u32 = 524288; pub const SYNCHRONIZE: u32 = 1048576; pub const STANDARD_RIGHTS_REQUIRED: u32 = 983040; pub const STANDARD_RIGHTS_READ: u32 = 131072; pub const STANDARD_RIGHTS_WRITE: u32 = 131072; pub const STANDARD_RIGHTS_EXECUTE: u32 = 131072; pub const STANDARD_RIGHTS_ALL: u32 = 2031616; pub const SPECIFIC_RIGHTS_ALL: u32 = 65535; pub const ACCESS_SYSTEM_SECURITY: u32 = 16777216; pub const MAXIMUM_ALLOWED: u32 = 33554432; pub const GENERIC_READ: u32 = 2147483648; pub const GENERIC_WRITE: u32 = 1073741824; pub const GENERIC_EXECUTE: u32 = 536870912; pub const GENERIC_ALL: u32 = 268435456; pub const SID_REVISION: u32 = 1; pub const SID_MAX_SUB_AUTHORITIES: u32 = 15; pub const SID_RECOMMENDED_SUB_AUTHORITIES: u32 = 1; pub const SECURITY_MAX_SID_STRING_CHARACTERS: u32 = 187; pub const SID_HASH_SIZE: u32 = 32; pub const SECURITY_NULL_RID: u32 = 0; pub const SECURITY_WORLD_RID: u32 = 0; pub const SECURITY_LOCAL_RID: u32 = 0; pub const SECURITY_LOCAL_LOGON_RID: u32 = 1; pub const SECURITY_CREATOR_OWNER_RID: u32 = 0; pub const SECURITY_CREATOR_GROUP_RID: u32 = 1; pub const SECURITY_CREATOR_OWNER_SERVER_RID: u32 = 2; pub const SECURITY_CREATOR_GROUP_SERVER_RID: u32 = 3; pub const SECURITY_CREATOR_OWNER_RIGHTS_RID: u32 = 4; pub const SECURITY_DIALUP_RID: u32 = 1; pub const SECURITY_NETWORK_RID: u32 = 2; pub const SECURITY_BATCH_RID: u32 = 3; pub const SECURITY_INTERACTIVE_RID: u32 = 4; pub const SECURITY_LOGON_IDS_RID: u32 = 5; pub const SECURITY_LOGON_IDS_RID_COUNT: u32 = 3; pub const SECURITY_SERVICE_RID: u32 = 6; pub const SECURITY_ANONYMOUS_LOGON_RID: u32 = 7; pub const SECURITY_PROXY_RID: u32 = 8; pub const SECURITY_ENTERPRISE_CONTROLLERS_RID: u32 = 9; pub const SECURITY_SERVER_LOGON_RID: u32 = 9; pub const SECURITY_PRINCIPAL_SELF_RID: u32 = 10; pub const SECURITY_AUTHENTICATED_USER_RID: u32 = 11; pub const SECURITY_RESTRICTED_CODE_RID: u32 = 12; pub const SECURITY_TERMINAL_SERVER_RID: u32 = 13; pub const SECURITY_REMOTE_LOGON_RID: u32 = 14; pub const SECURITY_THIS_ORGANIZATION_RID: u32 = 15; pub const SECURITY_IUSER_RID: u32 = 17; pub const SECURITY_LOCAL_SYSTEM_RID: u32 = 18; pub const SECURITY_LOCAL_SERVICE_RID: u32 = 19; pub const SECURITY_NETWORK_SERVICE_RID: u32 = 20; pub const SECURITY_NT_NON_UNIQUE: u32 = 21; pub const SECURITY_NT_NON_UNIQUE_SUB_AUTH_COUNT: u32 = 3; pub const SECURITY_ENTERPRISE_READONLY_CONTROLLERS_RID: u32 = 22; pub const SECURITY_BUILTIN_DOMAIN_RID: u32 = 32; pub const SECURITY_WRITE_RESTRICTED_CODE_RID: u32 = 33; pub const SECURITY_PACKAGE_BASE_RID: u32 = 64; pub const SECURITY_PACKAGE_RID_COUNT: u32 = 2; pub const SECURITY_PACKAGE_NTLM_RID: u32 = 10; pub const SECURITY_PACKAGE_SCHANNEL_RID: u32 = 14; pub const SECURITY_PACKAGE_DIGEST_RID: u32 = 21; pub const SECURITY_CRED_TYPE_BASE_RID: u32 = 65; pub const SECURITY_CRED_TYPE_RID_COUNT: u32 = 2; pub const SECURITY_CRED_TYPE_THIS_ORG_CERT_RID: u32 = 1; pub const SECURITY_MIN_BASE_RID: u32 = 80; pub const SECURITY_SERVICE_ID_BASE_RID: u32 = 80; pub const SECURITY_SERVICE_ID_RID_COUNT: u32 = 6; pub const SECURITY_RESERVED_ID_BASE_RID: u32 = 81; pub const SECURITY_APPPOOL_ID_BASE_RID: u32 = 82; pub const SECURITY_APPPOOL_ID_RID_COUNT: u32 = 6; pub const SECURITY_VIRTUALSERVER_ID_BASE_RID: u32 = 83; pub const SECURITY_VIRTUALSERVER_ID_RID_COUNT: u32 = 6; pub const SECURITY_USERMODEDRIVERHOST_ID_BASE_RID: u32 = 84; pub const SECURITY_USERMODEDRIVERHOST_ID_RID_COUNT: u32 = 6; pub const SECURITY_CLOUD_INFRASTRUCTURE_SERVICES_ID_BASE_RID: u32 = 85; pub const SECURITY_CLOUD_INFRASTRUCTURE_SERVICES_ID_RID_COUNT: u32 = 6; pub const SECURITY_WMIHOST_ID_BASE_RID: u32 = 86; pub const SECURITY_WMIHOST_ID_RID_COUNT: u32 = 6; pub const SECURITY_TASK_ID_BASE_RID: u32 = 87; pub const SECURITY_NFS_ID_BASE_RID: u32 = 88; pub const SECURITY_COM_ID_BASE_RID: u32 = 89; pub const SECURITY_WINDOW_MANAGER_BASE_RID: u32 = 90; pub const SECURITY_RDV_GFX_BASE_RID: u32 = 91; pub const SECURITY_DASHOST_ID_BASE_RID: u32 = 92; pub const SECURITY_DASHOST_ID_RID_COUNT: u32 = 6; pub const SECURITY_USERMANAGER_ID_BASE_RID: u32 = 93; pub const SECURITY_USERMANAGER_ID_RID_COUNT: u32 = 6; pub const SECURITY_WINRM_ID_BASE_RID: u32 = 94; pub const SECURITY_WINRM_ID_RID_COUNT: u32 = 6; pub const SECURITY_CCG_ID_BASE_RID: u32 = 95; pub const SECURITY_UMFD_BASE_RID: u32 = 96; pub const SECURITY_VIRTUALACCOUNT_ID_RID_COUNT: u32 = 6; pub const SECURITY_MAX_BASE_RID: u32 = 111; pub const SECURITY_MAX_ALWAYS_FILTERED: u32 = 999; pub const SECURITY_MIN_NEVER_FILTERED: u32 = 1000; pub const SECURITY_OTHER_ORGANIZATION_RID: u32 = 1000; pub const SECURITY_WINDOWSMOBILE_ID_BASE_RID: u32 = 112; pub const SECURITY_INSTALLER_GROUP_CAPABILITY_BASE: u32 = 32; pub const SECURITY_INSTALLER_GROUP_CAPABILITY_RID_COUNT: u32 = 9; pub const SECURITY_INSTALLER_CAPABILITY_RID_COUNT: u32 = 10; pub const SECURITY_LOCAL_ACCOUNT_RID: u32 = 113; pub const SECURITY_LOCAL_ACCOUNT_AND_ADMIN_RID: u32 = 114; pub const DOMAIN_GROUP_RID_AUTHORIZATION_DATA_IS_COMPOUNDED: u32 = 496; pub const DOMAIN_GROUP_RID_AUTHORIZATION_DATA_CONTAINS_CLAIMS: u32 = 497; pub const DOMAIN_GROUP_RID_ENTERPRISE_READONLY_DOMAIN_CONTROLLERS: u32 = 498; pub const FOREST_USER_RID_MAX: u32 = 499; pub const DOMAIN_USER_RID_ADMIN: u32 = 500; pub const DOMAIN_USER_RID_GUEST: u32 = 501; pub const DOMAIN_USER_RID_KRBTGT: u32 = 502; pub const DOMAIN_USER_RID_DEFAULT_ACCOUNT: u32 = 503; pub const DOMAIN_USER_RID_WDAG_ACCOUNT: u32 = 504; pub const DOMAIN_USER_RID_MAX: u32 = 999; pub const DOMAIN_GROUP_RID_ADMINS: u32 = 512; pub const DOMAIN_GROUP_RID_USERS: u32 = 513; pub const DOMAIN_GROUP_RID_GUESTS: u32 = 514; pub const DOMAIN_GROUP_RID_COMPUTERS: u32 = 515; pub const DOMAIN_GROUP_RID_CONTROLLERS: u32 = 516; pub const DOMAIN_GROUP_RID_CERT_ADMINS: u32 = 517; pub const DOMAIN_GROUP_RID_SCHEMA_ADMINS: u32 = 518; pub const DOMAIN_GROUP_RID_ENTERPRISE_ADMINS: u32 = 519; pub const DOMAIN_GROUP_RID_POLICY_ADMINS: u32 = 520; pub const DOMAIN_GROUP_RID_READONLY_CONTROLLERS: u32 = 521; pub const DOMAIN_GROUP_RID_CLONEABLE_CONTROLLERS: u32 = 522; pub const DOMAIN_GROUP_RID_CDC_RESERVED: u32 = 524; pub const DOMAIN_GROUP_RID_PROTECTED_USERS: u32 = 525; pub const DOMAIN_GROUP_RID_KEY_ADMINS: u32 = 526; pub const DOMAIN_GROUP_RID_ENTERPRISE_KEY_ADMINS: u32 = 527; pub const DOMAIN_ALIAS_RID_ADMINS: u32 = 544; pub const DOMAIN_ALIAS_RID_USERS: u32 = 545; pub const DOMAIN_ALIAS_RID_GUESTS: u32 = 546; pub const DOMAIN_ALIAS_RID_POWER_USERS: u32 = 547; pub const DOMAIN_ALIAS_RID_ACCOUNT_OPS: u32 = 548; pub const DOMAIN_ALIAS_RID_SYSTEM_OPS: u32 = 549; pub const DOMAIN_ALIAS_RID_PRINT_OPS: u32 = 550; pub const DOMAIN_ALIAS_RID_BACKUP_OPS: u32 = 551; pub const DOMAIN_ALIAS_RID_REPLICATOR: u32 = 552; pub const DOMAIN_ALIAS_RID_RAS_SERVERS: u32 = 553; pub const DOMAIN_ALIAS_RID_PREW2KCOMPACCESS: u32 = 554; pub const DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS: u32 = 555; pub const DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS: u32 = 556; pub const DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS: u32 = 557; pub const DOMAIN_ALIAS_RID_MONITORING_USERS: u32 = 558; pub const DOMAIN_ALIAS_RID_LOGGING_USERS: u32 = 559; pub const DOMAIN_ALIAS_RID_AUTHORIZATIONACCESS: u32 = 560; pub const DOMAIN_ALIAS_RID_TS_LICENSE_SERVERS: u32 = 561; pub const DOMAIN_ALIAS_RID_DCOM_USERS: u32 = 562; pub const DOMAIN_ALIAS_RID_IUSERS: u32 = 568; pub const DOMAIN_ALIAS_RID_CRYPTO_OPERATORS: u32 = 569; pub const DOMAIN_ALIAS_RID_CACHEABLE_PRINCIPALS_GROUP: u32 = 571; pub const DOMAIN_ALIAS_RID_NON_CACHEABLE_PRINCIPALS_GROUP: u32 = 572; pub const DOMAIN_ALIAS_RID_EVENT_LOG_READERS_GROUP: u32 = 573; pub const DOMAIN_ALIAS_RID_CERTSVC_DCOM_ACCESS_GROUP: u32 = 574; pub const DOMAIN_ALIAS_RID_RDS_REMOTE_ACCESS_SERVERS: u32 = 575; pub const DOMAIN_ALIAS_RID_RDS_ENDPOINT_SERVERS: u32 = 576; pub const DOMAIN_ALIAS_RID_RDS_MANAGEMENT_SERVERS: u32 = 577; pub const DOMAIN_ALIAS_RID_HYPER_V_ADMINS: u32 = 578; pub const DOMAIN_ALIAS_RID_ACCESS_CONTROL_ASSISTANCE_OPS: u32 = 579; pub const DOMAIN_ALIAS_RID_REMOTE_MANAGEMENT_USERS: u32 = 580; pub const DOMAIN_ALIAS_RID_DEFAULT_ACCOUNT: u32 = 581; pub const DOMAIN_ALIAS_RID_STORAGE_REPLICA_ADMINS: u32 = 582; pub const DOMAIN_ALIAS_RID_DEVICE_OWNERS: u32 = 583; pub const SECURITY_APP_PACKAGE_BASE_RID: u32 = 2; pub const SECURITY_BUILTIN_APP_PACKAGE_RID_COUNT: u32 = 2; pub const SECURITY_APP_PACKAGE_RID_COUNT: u32 = 8; pub const SECURITY_CAPABILITY_BASE_RID: u32 = 3; pub const SECURITY_CAPABILITY_APP_RID: u32 = 1024; pub const SECURITY_BUILTIN_CAPABILITY_RID_COUNT: u32 = 2; pub const SECURITY_CAPABILITY_RID_COUNT: u32 = 5; pub const SECURITY_PARENT_PACKAGE_RID_COUNT: u32 = 8; pub const SECURITY_CHILD_PACKAGE_RID_COUNT: u32 = 12; pub const SECURITY_BUILTIN_PACKAGE_ANY_PACKAGE: u32 = 1; pub const SECURITY_BUILTIN_PACKAGE_ANY_RESTRICTED_PACKAGE: u32 = 2; pub const SECURITY_CAPABILITY_INTERNET_CLIENT: u32 = 1; pub const SECURITY_CAPABILITY_INTERNET_CLIENT_SERVER: u32 = 2; pub const SECURITY_CAPABILITY_PRIVATE_NETWORK_CLIENT_SERVER: u32 = 3; pub const SECURITY_CAPABILITY_PICTURES_LIBRARY: u32 = 4; pub const SECURITY_CAPABILITY_VIDEOS_LIBRARY: u32 = 5; pub const SECURITY_CAPABILITY_MUSIC_LIBRARY: u32 = 6; pub const SECURITY_CAPABILITY_DOCUMENTS_LIBRARY: u32 = 7; pub const SECURITY_CAPABILITY_ENTERPRISE_AUTHENTICATION: u32 = 8; pub const SECURITY_CAPABILITY_SHARED_USER_CERTIFICATES: u32 = 9; pub const SECURITY_CAPABILITY_REMOVABLE_STORAGE: u32 = 10; pub const SECURITY_CAPABILITY_APPOINTMENTS: u32 = 11; pub const SECURITY_CAPABILITY_CONTACTS: u32 = 12; pub const SECURITY_CAPABILITY_INTERNET_EXPLORER: u32 = 4096; pub const SECURITY_MANDATORY_UNTRUSTED_RID: u32 = 0; pub const SECURITY_MANDATORY_LOW_RID: u32 = 4096; pub const SECURITY_MANDATORY_MEDIUM_RID: u32 = 8192; pub const SECURITY_MANDATORY_MEDIUM_PLUS_RID: u32 = 8448; pub const SECURITY_MANDATORY_HIGH_RID: u32 = 12288; pub const SECURITY_MANDATORY_SYSTEM_RID: u32 = 16384; pub const SECURITY_MANDATORY_PROTECTED_PROCESS_RID: u32 = 20480; pub const SECURITY_MANDATORY_MAXIMUM_USER_RID: u32 = 16384; pub const SECURITY_AUTHENTICATION_AUTHORITY_RID_COUNT: u32 = 1; pub const SECURITY_AUTHENTICATION_AUTHORITY_ASSERTED_RID: u32 = 1; pub const SECURITY_AUTHENTICATION_SERVICE_ASSERTED_RID: u32 = 2; pub const SECURITY_AUTHENTICATION_FRESH_KEY_AUTH_RID: u32 = 3; pub const SECURITY_AUTHENTICATION_KEY_TRUST_RID: u32 = 4; pub const SECURITY_AUTHENTICATION_KEY_PROPERTY_MFA_RID: u32 = 5; pub const SECURITY_AUTHENTICATION_KEY_PROPERTY_ATTESTATION_RID: u32 = 6; pub const SECURITY_PROCESS_TRUST_AUTHORITY_RID_COUNT: u32 = 2; pub const SECURITY_PROCESS_PROTECTION_TYPE_FULL_RID: u32 = 1024; pub const SECURITY_PROCESS_PROTECTION_TYPE_LITE_RID: u32 = 512; pub const SECURITY_PROCESS_PROTECTION_TYPE_NONE_RID: u32 = 0; pub const SECURITY_PROCESS_PROTECTION_LEVEL_WINTCB_RID: u32 = 8192; pub const SECURITY_PROCESS_PROTECTION_LEVEL_WINDOWS_RID: u32 = 4096; pub const SECURITY_PROCESS_PROTECTION_LEVEL_APP_RID: u32 = 2048; pub const SECURITY_PROCESS_PROTECTION_LEVEL_ANTIMALWARE_RID: u32 = 1536; pub const SECURITY_PROCESS_PROTECTION_LEVEL_AUTHENTICODE_RID: u32 = 1024; pub const SECURITY_PROCESS_PROTECTION_LEVEL_NONE_RID: u32 = 0; pub const SECURITY_TRUSTED_INSTALLER_RID1: u32 = 956008885; pub const SECURITY_TRUSTED_INSTALLER_RID2: u32 = 3418522649; pub const SECURITY_TRUSTED_INSTALLER_RID3: u32 = 1831038044; pub const SECURITY_TRUSTED_INSTALLER_RID4: u32 = 1853292631; pub const SECURITY_TRUSTED_INSTALLER_RID5: u32 = 2271478464; pub const SE_GROUP_MANDATORY: u32 = 1; pub const SE_GROUP_ENABLED_BY_DEFAULT: u32 = 2; pub const SE_GROUP_ENABLED: u32 = 4; pub const SE_GROUP_OWNER: u32 = 8; pub const SE_GROUP_USE_FOR_DENY_ONLY: u32 = 16; pub const SE_GROUP_INTEGRITY: u32 = 32; pub const SE_GROUP_INTEGRITY_ENABLED: u32 = 64; pub const SE_GROUP_LOGON_ID: u32 = 3221225472; pub const SE_GROUP_RESOURCE: u32 = 536870912; pub const SE_GROUP_VALID_ATTRIBUTES: u32 = 3758096511; pub const ACL_REVISION: u32 = 2; pub const ACL_REVISION_DS: u32 = 4; pub const ACL_REVISION1: u32 = 1; pub const ACL_REVISION2: u32 = 2; pub const ACL_REVISION3: u32 = 3; pub const ACL_REVISION4: u32 = 4; pub const MAX_ACL_REVISION: u32 = 4; pub const ACCESS_MIN_MS_ACE_TYPE: u32 = 0; pub const ACCESS_ALLOWED_ACE_TYPE: u32 = 0; pub const ACCESS_DENIED_ACE_TYPE: u32 = 1; pub const SYSTEM_AUDIT_ACE_TYPE: u32 = 2; pub const SYSTEM_ALARM_ACE_TYPE: u32 = 3; pub const ACCESS_MAX_MS_V2_ACE_TYPE: u32 = 3; pub const ACCESS_ALLOWED_COMPOUND_ACE_TYPE: u32 = 4; pub const ACCESS_MAX_MS_V3_ACE_TYPE: u32 = 4; pub const ACCESS_MIN_MS_OBJECT_ACE_TYPE: u32 = 5; pub const ACCESS_ALLOWED_OBJECT_ACE_TYPE: u32 = 5; pub const ACCESS_DENIED_OBJECT_ACE_TYPE: u32 = 6; pub const SYSTEM_AUDIT_OBJECT_ACE_TYPE: u32 = 7; pub const SYSTEM_ALARM_OBJECT_ACE_TYPE: u32 = 8; pub const ACCESS_MAX_MS_OBJECT_ACE_TYPE: u32 = 8; pub const ACCESS_MAX_MS_V4_ACE_TYPE: u32 = 8; pub const ACCESS_MAX_MS_ACE_TYPE: u32 = 8; pub const ACCESS_ALLOWED_CALLBACK_ACE_TYPE: u32 = 9; pub const ACCESS_DENIED_CALLBACK_ACE_TYPE: u32 = 10; pub const ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE: u32 = 11; pub const ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE: u32 = 12; pub const SYSTEM_AUDIT_CALLBACK_ACE_TYPE: u32 = 13; pub const SYSTEM_ALARM_CALLBACK_ACE_TYPE: u32 = 14; pub const SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE: u32 = 15; pub const SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE: u32 = 16; pub const SYSTEM_MANDATORY_LABEL_ACE_TYPE: u32 = 17; pub const SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE: u32 = 18; pub const SYSTEM_SCOPED_POLICY_ID_ACE_TYPE: u32 = 19; pub const SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE: u32 = 20; pub const SYSTEM_ACCESS_FILTER_ACE_TYPE: u32 = 21; pub const ACCESS_MAX_MS_V5_ACE_TYPE: u32 = 21; pub const OBJECT_INHERIT_ACE: u32 = 1; pub const CONTAINER_INHERIT_ACE: u32 = 2; pub const NO_PROPAGATE_INHERIT_ACE: u32 = 4; pub const INHERIT_ONLY_ACE: u32 = 8; pub const INHERITED_ACE: u32 = 16; pub const VALID_INHERIT_FLAGS: u32 = 31; pub const CRITICAL_ACE_FLAG: u32 = 32; pub const SUCCESSFUL_ACCESS_ACE_FLAG: u32 = 64; pub const FAILED_ACCESS_ACE_FLAG: u32 = 128; pub const TRUST_PROTECTED_FILTER_ACE_FLAG: u32 = 64; pub const SYSTEM_MANDATORY_LABEL_NO_WRITE_UP: u32 = 1; pub const SYSTEM_MANDATORY_LABEL_NO_READ_UP: u32 = 2; pub const SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP: u32 = 4; pub const SYSTEM_MANDATORY_LABEL_VALID_MASK: u32 = 7; pub const SYSTEM_PROCESS_TRUST_LABEL_VALID_MASK: u32 = 16777215; pub const SYSTEM_PROCESS_TRUST_NOCONSTRAINT_MASK: u32 = 4294967295; pub const SYSTEM_ACCESS_FILTER_VALID_MASK: u32 = 16777215; pub const SYSTEM_ACCESS_FILTER_NOCONSTRAINT_MASK: u32 = 4294967295; pub const ACE_OBJECT_TYPE_PRESENT: u32 = 1; pub const ACE_INHERITED_OBJECT_TYPE_PRESENT: u32 = 2; pub const SECURITY_DESCRIPTOR_REVISION: u32 = 1; pub const SECURITY_DESCRIPTOR_REVISION1: u32 = 1; pub const SE_OWNER_DEFAULTED: u32 = 1; pub const SE_GROUP_DEFAULTED: u32 = 2; pub const SE_DACL_PRESENT: u32 = 4; pub const SE_DACL_DEFAULTED: u32 = 8; pub const SE_SACL_PRESENT: u32 = 16; pub const SE_SACL_DEFAULTED: u32 = 32; pub const SE_DACL_AUTO_INHERIT_REQ: u32 = 256; pub const SE_SACL_AUTO_INHERIT_REQ: u32 = 512; pub const SE_DACL_AUTO_INHERITED: u32 = 1024; pub const SE_SACL_AUTO_INHERITED: u32 = 2048; pub const SE_DACL_PROTECTED: u32 = 4096; pub const SE_SACL_PROTECTED: u32 = 8192; pub const SE_RM_CONTROL_VALID: u32 = 16384; pub const SE_SELF_RELATIVE: u32 = 32768; pub const ACCESS_OBJECT_GUID: u32 = 0; pub const ACCESS_PROPERTY_SET_GUID: u32 = 1; pub const ACCESS_PROPERTY_GUID: u32 = 2; pub const ACCESS_MAX_LEVEL: u32 = 4; pub const AUDIT_ALLOW_NO_PRIVILEGE: u32 = 1; pub const ACCESS_DS_SOURCE_A: &'static [u8; 3usize] = b"DS\0"; pub const ACCESS_DS_SOURCE_W: &'static [u8; 3usize] = b"DS\0"; pub const ACCESS_DS_OBJECT_TYPE_NAME_A: &'static [u8; 25usize] = b"Directory Service Object\0"; pub const ACCESS_DS_OBJECT_TYPE_NAME_W: &'static [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: &'static [u8; 15usize] = b"activateAsUser\0"; pub const SE_CONSTRAINED_IMPERSONATION_CAPABILITY: &'static [u8; 25usize] = b"constrainedImpersonation\0"; pub const SE_SESSION_IMPERSONATION_CAPABILITY: &'static [u8; 21usize] = b"sessionImpersonation\0"; pub const SE_MUMA_CAPABILITY: &'static [u8; 5usize] = b"muma\0"; pub const SE_DEVELOPMENT_MODE_NETWORK_CAPABILITY: &'static [u8; 23usize] = b"developmentModeNetwork\0"; pub const TOKEN_ASSIGN_PRIMARY: u32 = 1; pub const TOKEN_DUPLICATE: u32 = 2; pub const TOKEN_IMPERSONATE: u32 = 4; pub const TOKEN_QUERY: u32 = 8; pub const TOKEN_QUERY_SOURCE: u32 = 16; pub const TOKEN_ADJUST_PRIVILEGES: u32 = 32; pub const TOKEN_ADJUST_GROUPS: u32 = 64; pub const TOKEN_ADJUST_DEFAULT: u32 = 128; pub const TOKEN_ADJUST_SESSIONID: u32 = 256; pub const TOKEN_ALL_ACCESS_P: u32 = 983295; pub const TOKEN_ALL_ACCESS: u32 = 983551; pub const TOKEN_READ: u32 = 131080; pub const TOKEN_WRITE: u32 = 131296; pub const TOKEN_EXECUTE: u32 = 131072; pub const TOKEN_TRUST_CONSTRAINT_MASK: u32 = 131096; pub const TOKEN_ACCESS_PSEUDO_HANDLE_WIN8: u32 = 24; pub const TOKEN_ACCESS_PSEUDO_HANDLE: u32 = 24; pub const TOKEN_MANDATORY_POLICY_OFF: u32 = 0; pub const TOKEN_MANDATORY_POLICY_NO_WRITE_UP: u32 = 1; pub const TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN: u32 = 2; pub const TOKEN_MANDATORY_POLICY_VALID_MASK: u32 = 3; pub const POLICY_AUDIT_SUBCATEGORY_COUNT: u32 = 59; pub const TOKEN_SOURCE_LENGTH: u32 = 8; pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_INVALID: u32 = 0; pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_INT64: u32 = 1; pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_UINT64: u32 = 2; pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_STRING: u32 = 3; pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_FQBN: u32 = 4; pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_SID: u32 = 5; pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_BOOLEAN: u32 = 6; pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING: u32 = 16; pub const CLAIM_SECURITY_ATTRIBUTE_NON_INHERITABLE: u32 = 1; pub const CLAIM_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE: u32 = 2; pub const CLAIM_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY: u32 = 4; pub const CLAIM_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT: u32 = 8; pub const CLAIM_SECURITY_ATTRIBUTE_DISABLED: u32 = 16; pub const CLAIM_SECURITY_ATTRIBUTE_MANDATORY: u32 = 32; pub const CLAIM_SECURITY_ATTRIBUTE_VALID_FLAGS: u32 = 63; pub const CLAIM_SECURITY_ATTRIBUTE_CUSTOM_FLAGS: u32 = 4294901760; pub const CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION_V1: u32 = 1; pub const CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION: u32 = 1; pub const SECURITY_DYNAMIC_TRACKING: u32 = 1; pub const SECURITY_STATIC_TRACKING: u32 = 0; pub const DISABLE_MAX_PRIVILEGE: u32 = 1; pub const SANDBOX_INERT: u32 = 2; pub const LUA_TOKEN: u32 = 4; pub const WRITE_RESTRICTED: u32 = 8; pub const OWNER_SECURITY_INFORMATION: u32 = 1; pub const GROUP_SECURITY_INFORMATION: u32 = 2; pub const DACL_SECURITY_INFORMATION: u32 = 4; pub const SACL_SECURITY_INFORMATION: u32 = 8; pub const LABEL_SECURITY_INFORMATION: u32 = 16; pub const ATTRIBUTE_SECURITY_INFORMATION: u32 = 32; pub const SCOPE_SECURITY_INFORMATION: u32 = 64; pub const PROCESS_TRUST_LABEL_SECURITY_INFORMATION: u32 = 128; pub const ACCESS_FILTER_SECURITY_INFORMATION: u32 = 256; pub const BACKUP_SECURITY_INFORMATION: u32 = 65536; pub const PROTECTED_DACL_SECURITY_INFORMATION: u32 = 2147483648; pub const PROTECTED_SACL_SECURITY_INFORMATION: u32 = 1073741824; pub const UNPROTECTED_DACL_SECURITY_INFORMATION: u32 = 536870912; pub const UNPROTECTED_SACL_SECURITY_INFORMATION: u32 = 268435456; pub const SE_SIGNING_LEVEL_UNCHECKED: u32 = 0; pub const SE_SIGNING_LEVEL_UNSIGNED: u32 = 1; pub const SE_SIGNING_LEVEL_ENTERPRISE: u32 = 2; pub const SE_SIGNING_LEVEL_CUSTOM_1: u32 = 3; pub const SE_SIGNING_LEVEL_DEVELOPER: u32 = 3; pub const SE_SIGNING_LEVEL_AUTHENTICODE: u32 = 4; pub const SE_SIGNING_LEVEL_CUSTOM_2: u32 = 5; pub const SE_SIGNING_LEVEL_STORE: u32 = 6; pub const SE_SIGNING_LEVEL_CUSTOM_3: u32 = 7; pub const SE_SIGNING_LEVEL_ANTIMALWARE: u32 = 7; pub const SE_SIGNING_LEVEL_MICROSOFT: u32 = 8; pub const SE_SIGNING_LEVEL_CUSTOM_4: u32 = 9; pub const SE_SIGNING_LEVEL_CUSTOM_5: u32 = 10; pub const SE_SIGNING_LEVEL_DYNAMIC_CODEGEN: u32 = 11; pub const SE_SIGNING_LEVEL_WINDOWS: u32 = 12; pub const SE_SIGNING_LEVEL_CUSTOM_7: u32 = 13; pub const SE_SIGNING_LEVEL_WINDOWS_TCB: u32 = 14; pub const SE_SIGNING_LEVEL_CUSTOM_6: u32 = 15; pub const SE_LEARNING_MODE_FLAG_PERMISSIVE: u32 = 1; pub const PROCESS_TERMINATE: u32 = 1; pub const PROCESS_CREATE_THREAD: u32 = 2; pub const PROCESS_SET_SESSIONID: u32 = 4; pub const PROCESS_VM_OPERATION: u32 = 8; pub const PROCESS_VM_READ: u32 = 16; pub const PROCESS_VM_WRITE: u32 = 32; pub const PROCESS_DUP_HANDLE: u32 = 64; pub const PROCESS_CREATE_PROCESS: u32 = 128; pub const PROCESS_SET_QUOTA: u32 = 256; pub const PROCESS_SET_INFORMATION: u32 = 512; pub const PROCESS_QUERY_INFORMATION: u32 = 1024; pub const PROCESS_SUSPEND_RESUME: u32 = 2048; pub const PROCESS_QUERY_LIMITED_INFORMATION: u32 = 4096; pub const PROCESS_SET_LIMITED_INFORMATION: u32 = 8192; pub const PROCESS_ALL_ACCESS: u32 = 2097151; pub const THREAD_TERMINATE: u32 = 1; pub const THREAD_SUSPEND_RESUME: u32 = 2; pub const THREAD_GET_CONTEXT: u32 = 8; pub const THREAD_SET_CONTEXT: u32 = 16; pub const THREAD_QUERY_INFORMATION: u32 = 64; pub const THREAD_SET_INFORMATION: u32 = 32; pub const THREAD_SET_THREAD_TOKEN: u32 = 128; pub const THREAD_IMPERSONATE: u32 = 256; pub const THREAD_DIRECT_IMPERSONATION: u32 = 512; pub const THREAD_SET_LIMITED_INFORMATION: u32 = 1024; pub const THREAD_QUERY_LIMITED_INFORMATION: u32 = 2048; pub const THREAD_RESUME: u32 = 4096; pub const THREAD_ALL_ACCESS: u32 = 2097151; pub const JOB_OBJECT_ASSIGN_PROCESS: u32 = 1; pub const JOB_OBJECT_SET_ATTRIBUTES: u32 = 2; pub const JOB_OBJECT_QUERY: u32 = 4; pub const JOB_OBJECT_TERMINATE: u32 = 8; pub const JOB_OBJECT_SET_SECURITY_ATTRIBUTES: u32 = 16; pub const JOB_OBJECT_IMPERSONATE: u32 = 32; pub const JOB_OBJECT_ALL_ACCESS: u32 = 2031679; pub const FLS_MAXIMUM_AVAILABLE: u32 = 4080; pub const TLS_MINIMUM_AVAILABLE: u32 = 64; pub const THREAD_DYNAMIC_CODE_ALLOW: u32 = 1; pub const THREAD_BASE_PRIORITY_LOWRT: u32 = 15; pub const THREAD_BASE_PRIORITY_MAX: u32 = 2; pub const THREAD_BASE_PRIORITY_MIN: i32 = -2; pub const THREAD_BASE_PRIORITY_IDLE: i32 = -15; pub const MEMORY_PRIORITY_LOWEST: u32 = 0; pub const MEMORY_PRIORITY_VERY_LOW: u32 = 1; pub const MEMORY_PRIORITY_LOW: u32 = 2; pub const MEMORY_PRIORITY_MEDIUM: u32 = 3; pub const MEMORY_PRIORITY_BELOW_NORMAL: u32 = 4; pub const MEMORY_PRIORITY_NORMAL: u32 = 5; pub const QUOTA_LIMITS_HARDWS_MIN_ENABLE: u32 = 1; pub const QUOTA_LIMITS_HARDWS_MIN_DISABLE: u32 = 2; pub const QUOTA_LIMITS_HARDWS_MAX_ENABLE: u32 = 4; pub const QUOTA_LIMITS_HARDWS_MAX_DISABLE: u32 = 8; pub const QUOTA_LIMITS_USE_DEFAULT_LIMITS: u32 = 16; pub const MAX_HW_COUNTERS: u32 = 16; pub const THREAD_PROFILING_FLAG_DISPATCH: u32 = 1; pub const JOB_OBJECT_NET_RATE_CONTROL_MAX_DSCP_TAG: u32 = 64; pub const JOB_OBJECT_TERMINATE_AT_END_OF_JOB: u32 = 0; pub const JOB_OBJECT_POST_AT_END_OF_JOB: u32 = 1; pub const JOB_OBJECT_MSG_END_OF_JOB_TIME: u32 = 1; pub const JOB_OBJECT_MSG_END_OF_PROCESS_TIME: u32 = 2; pub const JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT: u32 = 3; pub const JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO: u32 = 4; pub const JOB_OBJECT_MSG_NEW_PROCESS: u32 = 6; pub const JOB_OBJECT_MSG_EXIT_PROCESS: u32 = 7; pub const JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS: u32 = 8; pub const JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT: u32 = 9; pub const JOB_OBJECT_MSG_JOB_MEMORY_LIMIT: u32 = 10; pub const JOB_OBJECT_MSG_NOTIFICATION_LIMIT: u32 = 11; pub const JOB_OBJECT_MSG_JOB_CYCLE_TIME_LIMIT: u32 = 12; pub const JOB_OBJECT_MSG_SILO_TERMINATED: u32 = 13; pub const JOB_OBJECT_MSG_MINIMUM: u32 = 1; pub const JOB_OBJECT_MSG_MAXIMUM: u32 = 13; pub const JOB_OBJECT_VALID_COMPLETION_FILTER: u32 = 16382; pub const JOB_OBJECT_LIMIT_WORKINGSET: u32 = 1; pub const JOB_OBJECT_LIMIT_PROCESS_TIME: u32 = 2; pub const JOB_OBJECT_LIMIT_JOB_TIME: u32 = 4; pub const JOB_OBJECT_LIMIT_ACTIVE_PROCESS: u32 = 8; pub const JOB_OBJECT_LIMIT_AFFINITY: u32 = 16; pub const JOB_OBJECT_LIMIT_PRIORITY_CLASS: u32 = 32; pub const JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME: u32 = 64; pub const JOB_OBJECT_LIMIT_SCHEDULING_CLASS: u32 = 128; pub const JOB_OBJECT_LIMIT_PROCESS_MEMORY: u32 = 256; pub const JOB_OBJECT_LIMIT_JOB_MEMORY: u32 = 512; pub const JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH: u32 = 512; pub const JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: u32 = 1024; pub const JOB_OBJECT_LIMIT_BREAKAWAY_OK: u32 = 2048; pub const JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK: u32 = 4096; pub const JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: u32 = 8192; pub const JOB_OBJECT_LIMIT_SUBSET_AFFINITY: u32 = 16384; pub const JOB_OBJECT_LIMIT_JOB_MEMORY_LOW: u32 = 32768; pub const JOB_OBJECT_LIMIT_JOB_READ_BYTES: u32 = 65536; pub const JOB_OBJECT_LIMIT_JOB_WRITE_BYTES: u32 = 131072; pub const JOB_OBJECT_LIMIT_RATE_CONTROL: u32 = 262144; pub const JOB_OBJECT_LIMIT_CPU_RATE_CONTROL: u32 = 262144; pub const JOB_OBJECT_LIMIT_IO_RATE_CONTROL: u32 = 524288; pub const JOB_OBJECT_LIMIT_NET_RATE_CONTROL: u32 = 1048576; pub const JOB_OBJECT_LIMIT_VALID_FLAGS: u32 = 524287; pub const JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS: u32 = 255; pub const JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS: u32 = 32767; pub const JOB_OBJECT_NOTIFICATION_LIMIT_VALID_FLAGS: u32 = 2064900; pub const JOB_OBJECT_UILIMIT_NONE: u32 = 0; pub const JOB_OBJECT_UILIMIT_HANDLES: u32 = 1; pub const JOB_OBJECT_UILIMIT_READCLIPBOARD: u32 = 2; pub const JOB_OBJECT_UILIMIT_WRITECLIPBOARD: u32 = 4; pub const JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS: u32 = 8; pub const JOB_OBJECT_UILIMIT_DISPLAYSETTINGS: u32 = 16; pub const JOB_OBJECT_UILIMIT_GLOBALATOMS: u32 = 32; pub const JOB_OBJECT_UILIMIT_DESKTOP: u32 = 64; pub const JOB_OBJECT_UILIMIT_EXITWINDOWS: u32 = 128; pub const JOB_OBJECT_UILIMIT_ALL: u32 = 255; pub const JOB_OBJECT_UI_VALID_FLAGS: u32 = 255; pub const JOB_OBJECT_SECURITY_NO_ADMIN: u32 = 1; pub const JOB_OBJECT_SECURITY_RESTRICTED_TOKEN: u32 = 2; pub const JOB_OBJECT_SECURITY_ONLY_TOKEN: u32 = 4; pub const JOB_OBJECT_SECURITY_FILTER_TOKENS: u32 = 8; pub const JOB_OBJECT_SECURITY_VALID_FLAGS: u32 = 15; pub const JOB_OBJECT_CPU_RATE_CONTROL_ENABLE: u32 = 1; pub const JOB_OBJECT_CPU_RATE_CONTROL_WEIGHT_BASED: u32 = 2; pub const JOB_OBJECT_CPU_RATE_CONTROL_HARD_CAP: u32 = 4; pub const JOB_OBJECT_CPU_RATE_CONTROL_NOTIFY: u32 = 8; pub const JOB_OBJECT_CPU_RATE_CONTROL_MIN_MAX_RATE: u32 = 16; pub const JOB_OBJECT_CPU_RATE_CONTROL_VALID_FLAGS: u32 = 31; pub const EVENT_MODIFY_STATE: u32 = 2; pub const EVENT_ALL_ACCESS: u32 = 2031619; pub const MUTANT_QUERY_STATE: u32 = 1; pub const MUTANT_ALL_ACCESS: u32 = 2031617; pub const SEMAPHORE_MODIFY_STATE: u32 = 2; pub const SEMAPHORE_ALL_ACCESS: u32 = 2031619; pub const TIMER_QUERY_STATE: u32 = 1; pub const TIMER_MODIFY_STATE: u32 = 2; pub const TIMER_ALL_ACCESS: u32 = 2031619; pub const TIME_ZONE_ID_UNKNOWN: u32 = 0; pub const TIME_ZONE_ID_STANDARD: u32 = 1; pub const TIME_ZONE_ID_DAYLIGHT: u32 = 2; pub const LTP_PC_SMT: u32 = 1; pub const CACHE_FULLY_ASSOCIATIVE: u32 = 255; pub const SYSTEM_CPU_SET_INFORMATION_PARKED: u32 = 1; pub const SYSTEM_CPU_SET_INFORMATION_ALLOCATED: u32 = 2; pub const SYSTEM_CPU_SET_INFORMATION_ALLOCATED_TO_TARGET_PROCESS: u32 = 4; pub const SYSTEM_CPU_SET_INFORMATION_REALTIME: u32 = 8; pub const PROCESSOR_INTEL_386: u32 = 386; pub const PROCESSOR_INTEL_486: u32 = 486; pub const PROCESSOR_INTEL_PENTIUM: u32 = 586; pub const PROCESSOR_INTEL_IA64: u32 = 2200; pub const PROCESSOR_AMD_X8664: u32 = 8664; pub const PROCESSOR_MIPS_R4000: u32 = 4000; pub const PROCESSOR_ALPHA_21064: u32 = 21064; pub const PROCESSOR_PPC_601: u32 = 601; pub const PROCESSOR_PPC_603: u32 = 603; pub const PROCESSOR_PPC_604: u32 = 604; pub const PROCESSOR_PPC_620: u32 = 620; pub const PROCESSOR_HITACHI_SH3: u32 = 10003; pub const PROCESSOR_HITACHI_SH3E: u32 = 10004; pub const PROCESSOR_HITACHI_SH4: u32 = 10005; pub const PROCESSOR_MOTOROLA_821: u32 = 821; pub const PROCESSOR_SHx_SH3: u32 = 103; pub const PROCESSOR_SHx_SH4: u32 = 104; pub const PROCESSOR_STRONGARM: u32 = 2577; pub const PROCESSOR_ARM720: u32 = 1824; pub const PROCESSOR_ARM820: u32 = 2080; pub const PROCESSOR_ARM920: u32 = 2336; pub const PROCESSOR_ARM_7TDMI: u32 = 70001; pub const PROCESSOR_OPTIL: u32 = 18767; pub const PROCESSOR_ARCHITECTURE_INTEL: u32 = 0; pub const PROCESSOR_ARCHITECTURE_MIPS: u32 = 1; pub const PROCESSOR_ARCHITECTURE_ALPHA: u32 = 2; pub const PROCESSOR_ARCHITECTURE_PPC: u32 = 3; pub const PROCESSOR_ARCHITECTURE_SHX: u32 = 4; pub const PROCESSOR_ARCHITECTURE_ARM: u32 = 5; pub const PROCESSOR_ARCHITECTURE_IA64: u32 = 6; pub const PROCESSOR_ARCHITECTURE_ALPHA64: u32 = 7; pub const PROCESSOR_ARCHITECTURE_MSIL: u32 = 8; pub const PROCESSOR_ARCHITECTURE_AMD64: u32 = 9; pub const PROCESSOR_ARCHITECTURE_IA32_ON_WIN64: u32 = 10; pub const PROCESSOR_ARCHITECTURE_NEUTRAL: u32 = 11; pub const PROCESSOR_ARCHITECTURE_ARM64: u32 = 12; pub const PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64: u32 = 13; pub const PROCESSOR_ARCHITECTURE_IA32_ON_ARM64: u32 = 14; pub const PROCESSOR_ARCHITECTURE_UNKNOWN: u32 = 65535; pub const PF_FLOATING_POINT_PRECISION_ERRATA: u32 = 0; pub const PF_FLOATING_POINT_EMULATED: u32 = 1; pub const PF_COMPARE_EXCHANGE_DOUBLE: u32 = 2; pub const PF_MMX_INSTRUCTIONS_AVAILABLE: u32 = 3; pub const PF_PPC_MOVEMEM_64BIT_OK: u32 = 4; pub const PF_ALPHA_BYTE_INSTRUCTIONS: u32 = 5; pub const PF_XMMI_INSTRUCTIONS_AVAILABLE: u32 = 6; pub const PF_3DNOW_INSTRUCTIONS_AVAILABLE: u32 = 7; pub const PF_RDTSC_INSTRUCTION_AVAILABLE: u32 = 8; pub const PF_PAE_ENABLED: u32 = 9; pub const PF_XMMI64_INSTRUCTIONS_AVAILABLE: u32 = 10; pub const PF_SSE_DAZ_MODE_AVAILABLE: u32 = 11; pub const PF_NX_ENABLED: u32 = 12; pub const PF_SSE3_INSTRUCTIONS_AVAILABLE: u32 = 13; pub const PF_COMPARE_EXCHANGE128: u32 = 14; pub const PF_COMPARE64_EXCHANGE128: u32 = 15; pub const PF_CHANNELS_ENABLED: u32 = 16; pub const PF_XSAVE_ENABLED: u32 = 17; pub const PF_ARM_VFP_32_REGISTERS_AVAILABLE: u32 = 18; pub const PF_ARM_NEON_INSTRUCTIONS_AVAILABLE: u32 = 19; pub const PF_SECOND_LEVEL_ADDRESS_TRANSLATION: u32 = 20; pub const PF_VIRT_FIRMWARE_ENABLED: u32 = 21; pub const PF_RDWRFSGSBASE_AVAILABLE: u32 = 22; pub const PF_FASTFAIL_AVAILABLE: u32 = 23; pub const PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE: u32 = 24; pub const PF_ARM_64BIT_LOADSTORE_ATOMIC: u32 = 25; pub const PF_ARM_EXTERNAL_CACHE_AVAILABLE: u32 = 26; pub const PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE: u32 = 27; pub const PF_RDRAND_INSTRUCTION_AVAILABLE: u32 = 28; pub const PF_ARM_V8_INSTRUCTIONS_AVAILABLE: u32 = 29; pub const PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE: u32 = 30; pub const PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE: u32 = 31; pub const PF_RDTSCP_INSTRUCTION_AVAILABLE: u32 = 32; pub const PF_RDPID_INSTRUCTION_AVAILABLE: u32 = 33; pub const PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE: u32 = 34; pub const PF_MONITORX_INSTRUCTION_AVAILABLE: u32 = 35; pub const XSTATE_LEGACY_FLOATING_POINT: u32 = 0; pub const XSTATE_LEGACY_SSE: u32 = 1; pub const XSTATE_GSSE: u32 = 2; pub const XSTATE_AVX: u32 = 2; pub const XSTATE_MPX_BNDREGS: u32 = 3; pub const XSTATE_MPX_BNDCSR: u32 = 4; pub const XSTATE_AVX512_KMASK: u32 = 5; pub const XSTATE_AVX512_ZMM_H: u32 = 6; pub const XSTATE_AVX512_ZMM: u32 = 7; pub const XSTATE_IPT: u32 = 8; pub const XSTATE_CET_U: u32 = 11; pub const XSTATE_LWP: u32 = 62; pub const MAXIMUM_XSTATE_FEATURES: u32 = 64; pub const XSTATE_COMPACTION_ENABLE: u32 = 63; pub const XSTATE_ALIGN_BIT: u32 = 1; pub const XSTATE_CONTROLFLAG_XSAVEOPT_MASK: u32 = 1; pub const XSTATE_CONTROLFLAG_XSAVEC_MASK: u32 = 2; pub const XSTATE_CONTROLFLAG_VALID_MASK: u32 = 3; pub const CFG_CALL_TARGET_VALID: u32 = 1; pub const CFG_CALL_TARGET_PROCESSED: u32 = 2; pub const CFG_CALL_TARGET_CONVERT_EXPORT_SUPPRESSED_TO_VALID: u32 = 4; pub const SECTION_QUERY: u32 = 1; pub const SECTION_MAP_WRITE: u32 = 2; pub const SECTION_MAP_READ: u32 = 4; pub const SECTION_MAP_EXECUTE: u32 = 8; pub const SECTION_EXTEND_SIZE: u32 = 16; pub const SECTION_MAP_EXECUTE_EXPLICIT: u32 = 32; pub const SECTION_ALL_ACCESS: u32 = 983071; pub const SESSION_QUERY_ACCESS: u32 = 1; pub const SESSION_MODIFY_ACCESS: u32 = 2; pub const SESSION_ALL_ACCESS: u32 = 983043; pub const PAGE_NOACCESS: u32 = 1; pub const PAGE_READONLY: u32 = 2; pub const PAGE_READWRITE: u32 = 4; pub const PAGE_WRITECOPY: u32 = 8; pub const PAGE_EXECUTE: u32 = 16; pub const PAGE_EXECUTE_READ: u32 = 32; pub const PAGE_EXECUTE_READWRITE: u32 = 64; pub const PAGE_EXECUTE_WRITECOPY: u32 = 128; pub const PAGE_GUARD: u32 = 256; pub const PAGE_NOCACHE: u32 = 512; pub const PAGE_WRITECOMBINE: u32 = 1024; pub const PAGE_GRAPHICS_NOACCESS: u32 = 2048; pub const PAGE_GRAPHICS_READONLY: u32 = 4096; pub const PAGE_GRAPHICS_READWRITE: u32 = 8192; pub const PAGE_GRAPHICS_EXECUTE: u32 = 16384; pub const PAGE_GRAPHICS_EXECUTE_READ: u32 = 32768; pub const PAGE_GRAPHICS_EXECUTE_READWRITE: u32 = 65536; pub const PAGE_GRAPHICS_COHERENT: u32 = 131072; pub const PAGE_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_DECOMMIT: u32 = 268435456; 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_TYPE_BITS: u32 = 8; pub const SEC_PARTITION_OWNER_HANDLE: u32 = 262144; pub const SEC_64K_PAGES: u32 = 524288; pub const SEC_FILE: u32 = 8388608; pub const SEC_IMAGE: u32 = 16777216; pub const SEC_PROTECTED_IMAGE: u32 = 33554432; pub const SEC_RESERVE: u32 = 67108864; pub const SEC_COMMIT: u32 = 134217728; pub const SEC_NOCACHE: u32 = 268435456; pub const SEC_WRITECOMBINE: u32 = 1073741824; pub const SEC_LARGE_PAGES: u32 = 2147483648; pub const SEC_IMAGE_NO_EXECUTE: u32 = 285212672; pub const MEM_PRIVATE: u32 = 131072; pub const MEM_MAPPED: u32 = 262144; pub const MEM_IMAGE: u32 = 16777216; pub const WRITE_WATCH_FLAG_RESET: u32 = 1; pub const ENCLAVE_TYPE_SGX: u32 = 1; pub const ENCLAVE_TYPE_SGX2: u32 = 2; pub const ENCLAVE_TYPE_VBS: u32 = 16; pub const ENCLAVE_VBS_FLAG_DEBUG: u32 = 1; pub const ENCLAVE_TYPE_VBS_BASIC: u32 = 17; pub const VBS_BASIC_PAGE_MEASURED_DATA: u32 = 1; pub const VBS_BASIC_PAGE_UNMEASURED_DATA: u32 = 2; pub const VBS_BASIC_PAGE_ZERO_FILL: u32 = 3; pub const VBS_BASIC_PAGE_THREAD_DESCRIPTOR: u32 = 4; pub const VBS_BASIC_PAGE_SYSTEM_CALL: u32 = 5; pub const FILE_READ_DATA: u32 = 1; pub const FILE_LIST_DIRECTORY: u32 = 1; pub const FILE_WRITE_DATA: u32 = 2; pub const FILE_ADD_FILE: u32 = 2; pub const FILE_APPEND_DATA: u32 = 4; pub const FILE_ADD_SUBDIRECTORY: u32 = 4; pub const FILE_CREATE_PIPE_INSTANCE: u32 = 4; pub const FILE_READ_EA: u32 = 8; pub const FILE_WRITE_EA: u32 = 16; pub const FILE_EXECUTE: u32 = 32; pub const FILE_TRAVERSE: u32 = 32; pub const FILE_DELETE_CHILD: u32 = 64; pub const FILE_READ_ATTRIBUTES: u32 = 128; pub const FILE_WRITE_ATTRIBUTES: u32 = 256; pub const FILE_ALL_ACCESS: u32 = 2032127; pub const FILE_GENERIC_READ: u32 = 1179785; pub const FILE_GENERIC_WRITE: u32 = 1179926; pub const FILE_GENERIC_EXECUTE: u32 = 1179808; pub const FILE_SHARE_READ: u32 = 1; pub const FILE_SHARE_WRITE: u32 = 2; pub const FILE_SHARE_DELETE: u32 = 4; pub const FILE_ATTRIBUTE_READONLY: u32 = 1; pub const FILE_ATTRIBUTE_HIDDEN: u32 = 2; pub const FILE_ATTRIBUTE_SYSTEM: u32 = 4; pub const FILE_ATTRIBUTE_DIRECTORY: u32 = 16; pub const FILE_ATTRIBUTE_ARCHIVE: u32 = 32; pub const FILE_ATTRIBUTE_DEVICE: u32 = 64; pub const FILE_ATTRIBUTE_NORMAL: u32 = 128; pub const FILE_ATTRIBUTE_TEMPORARY: u32 = 256; pub const FILE_ATTRIBUTE_SPARSE_FILE: u32 = 512; pub const FILE_ATTRIBUTE_REPARSE_POINT: u32 = 1024; pub const FILE_ATTRIBUTE_COMPRESSED: u32 = 2048; pub const FILE_ATTRIBUTE_OFFLINE: u32 = 4096; pub const FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: u32 = 8192; pub const FILE_ATTRIBUTE_ENCRYPTED: u32 = 16384; pub const FILE_ATTRIBUTE_INTEGRITY_STREAM: u32 = 32768; pub const FILE_ATTRIBUTE_VIRTUAL: u32 = 65536; pub const FILE_ATTRIBUTE_NO_SCRUB_DATA: u32 = 131072; pub const FILE_ATTRIBUTE_EA: u32 = 262144; pub const FILE_ATTRIBUTE_PINNED: u32 = 524288; pub const FILE_ATTRIBUTE_UNPINNED: u32 = 1048576; pub const FILE_ATTRIBUTE_RECALL_ON_OPEN: u32 = 262144; pub const FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS: u32 = 4194304; pub const TREE_CONNECT_ATTRIBUTE_PRIVACY: u32 = 16384; pub const TREE_CONNECT_ATTRIBUTE_INTEGRITY: u32 = 32768; pub const TREE_CONNECT_ATTRIBUTE_GLOBAL: u32 = 4; pub const TREE_CONNECT_ATTRIBUTE_PINNED: u32 = 2; pub const FILE_ATTRIBUTE_STRICTLY_SEQUENTIAL: u32 = 536870912; pub const FILE_NOTIFY_CHANGE_FILE_NAME: u32 = 1; pub const FILE_NOTIFY_CHANGE_DIR_NAME: u32 = 2; pub const FILE_NOTIFY_CHANGE_ATTRIBUTES: u32 = 4; pub const FILE_NOTIFY_CHANGE_SIZE: u32 = 8; pub const FILE_NOTIFY_CHANGE_LAST_WRITE: u32 = 16; pub const FILE_NOTIFY_CHANGE_LAST_ACCESS: u32 = 32; pub const FILE_NOTIFY_CHANGE_CREATION: u32 = 64; pub const FILE_NOTIFY_CHANGE_SECURITY: u32 = 256; pub const FILE_ACTION_ADDED: u32 = 1; pub const FILE_ACTION_REMOVED: u32 = 2; pub const FILE_ACTION_MODIFIED: u32 = 3; pub const FILE_ACTION_RENAMED_OLD_NAME: u32 = 4; pub const FILE_ACTION_RENAMED_NEW_NAME: u32 = 5; pub const FILE_CASE_SENSITIVE_SEARCH: u32 = 1; pub const FILE_CASE_PRESERVED_NAMES: u32 = 2; pub const FILE_UNICODE_ON_DISK: u32 = 4; pub const FILE_PERSISTENT_ACLS: u32 = 8; pub const FILE_FILE_COMPRESSION: u32 = 16; pub const FILE_VOLUME_QUOTAS: u32 = 32; pub const FILE_SUPPORTS_SPARSE_FILES: u32 = 64; pub const FILE_SUPPORTS_REPARSE_POINTS: u32 = 128; pub const FILE_SUPPORTS_REMOTE_STORAGE: u32 = 256; pub const FILE_RETURNS_CLEANUP_RESULT_INFO: u32 = 512; pub const FILE_SUPPORTS_POSIX_UNLINK_RENAME: u32 = 1024; pub const FILE_VOLUME_IS_COMPRESSED: u32 = 32768; pub const FILE_SUPPORTS_OBJECT_IDS: u32 = 65536; pub const FILE_SUPPORTS_ENCRYPTION: u32 = 131072; pub const FILE_NAMED_STREAMS: u32 = 262144; pub const FILE_READ_ONLY_VOLUME: u32 = 524288; pub const FILE_SEQUENTIAL_WRITE_ONCE: u32 = 1048576; pub const FILE_SUPPORTS_TRANSACTIONS: u32 = 2097152; pub const FILE_SUPPORTS_HARD_LINKS: u32 = 4194304; pub const FILE_SUPPORTS_EXTENDED_ATTRIBUTES: u32 = 8388608; pub const FILE_SUPPORTS_OPEN_BY_FILE_ID: u32 = 16777216; pub const FILE_SUPPORTS_USN_JOURNAL: u32 = 33554432; pub const FILE_SUPPORTS_INTEGRITY_STREAMS: u32 = 67108864; pub const FILE_SUPPORTS_BLOCK_REFCOUNTING: u32 = 134217728; pub const FILE_SUPPORTS_SPARSE_VDL: u32 = 268435456; pub const FILE_DAX_VOLUME: u32 = 536870912; pub const FILE_SUPPORTS_GHOSTING: u32 = 1073741824; pub const FILE_CS_FLAG_CASE_SENSITIVE_DIR: u32 = 1; pub const FLUSH_FLAGS_FILE_DATA_ONLY: u32 = 1; pub const FLUSH_FLAGS_NO_SYNC: u32 = 2; pub const FLUSH_FLAGS_FILE_DATA_SYNC_ONLY: u32 = 4; pub const MAXIMUM_REPARSE_DATA_BUFFER_SIZE: u32 = 16384; pub const IO_REPARSE_TAG_RESERVED_ZERO: u32 = 0; pub const IO_REPARSE_TAG_RESERVED_ONE: u32 = 1; pub const IO_REPARSE_TAG_RESERVED_TWO: u32 = 2; pub const IO_REPARSE_TAG_RESERVED_RANGE: u32 = 2; pub const IO_REPARSE_TAG_MOUNT_POINT: u32 = 2684354563; pub const IO_REPARSE_TAG_HSM: u32 = 3221225476; pub const IO_REPARSE_TAG_HSM2: u32 = 2147483654; pub const IO_REPARSE_TAG_SIS: u32 = 2147483655; pub const IO_REPARSE_TAG_WIM: u32 = 2147483656; pub const IO_REPARSE_TAG_CSV: u32 = 2147483657; pub const IO_REPARSE_TAG_DFS: u32 = 2147483658; pub const IO_REPARSE_TAG_SYMLINK: u32 = 2684354572; pub const IO_REPARSE_TAG_DFSR: u32 = 2147483666; pub const IO_REPARSE_TAG_DEDUP: u32 = 2147483667; pub const IO_REPARSE_TAG_NFS: u32 = 2147483668; pub const IO_REPARSE_TAG_FILE_PLACEHOLDER: u32 = 2147483669; pub const IO_REPARSE_TAG_WOF: u32 = 2147483671; pub const IO_REPARSE_TAG_WCI: u32 = 2147483672; pub const IO_REPARSE_TAG_WCI_1: u32 = 2415923224; pub const IO_REPARSE_TAG_GLOBAL_REPARSE: u32 = 2684354585; pub const IO_REPARSE_TAG_CLOUD: u32 = 2415919130; pub const IO_REPARSE_TAG_CLOUD_1: u32 = 2415923226; pub const IO_REPARSE_TAG_CLOUD_2: u32 = 2415927322; pub const IO_REPARSE_TAG_CLOUD_3: u32 = 2415931418; pub const IO_REPARSE_TAG_CLOUD_4: u32 = 2415935514; pub const IO_REPARSE_TAG_CLOUD_5: u32 = 2415939610; pub const IO_REPARSE_TAG_CLOUD_6: u32 = 2415943706; pub const IO_REPARSE_TAG_CLOUD_7: u32 = 2415947802; pub const IO_REPARSE_TAG_CLOUD_8: u32 = 2415951898; pub const IO_REPARSE_TAG_CLOUD_9: u32 = 2415955994; pub const IO_REPARSE_TAG_CLOUD_A: u32 = 2415960090; pub const IO_REPARSE_TAG_CLOUD_B: u32 = 2415964186; pub const IO_REPARSE_TAG_CLOUD_C: u32 = 2415968282; pub const IO_REPARSE_TAG_CLOUD_D: u32 = 2415972378; pub const IO_REPARSE_TAG_CLOUD_E: u32 = 2415976474; pub const IO_REPARSE_TAG_CLOUD_F: u32 = 2415980570; pub const IO_REPARSE_TAG_CLOUD_MASK: u32 = 61440; pub const IO_REPARSE_TAG_APPEXECLINK: u32 = 2147483675; pub const IO_REPARSE_TAG_PROJFS: u32 = 2415919132; pub const IO_REPARSE_TAG_STORAGE_SYNC: u32 = 2147483678; pub const IO_REPARSE_TAG_WCI_TOMBSTONE: u32 = 2684354591; pub const IO_REPARSE_TAG_UNHANDLED: u32 = 2147483680; pub const IO_REPARSE_TAG_ONEDRIVE: u32 = 2147483681; pub const IO_REPARSE_TAG_PROJFS_TOMBSTONE: u32 = 2684354594; pub const IO_REPARSE_TAG_AF_UNIX: u32 = 2147483683; pub const 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_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: &'static [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: &'static [u8; 9usize] = b"!\n\0"; pub const IMAGE_ARCHIVE_END: &'static [u8; 3usize] = b"`\n\0"; pub const IMAGE_ARCHIVE_PAD: &'static [u8; 2usize] = b"\n\0"; pub const IMAGE_ARCHIVE_LINKER_MEMBER: &'static [u8; 17usize] = b"/ \0"; pub const IMAGE_ARCHIVE_LONGNAMES_MEMBER: &'static [u8; 17usize] = b"// \0"; pub const IMAGE_ARCHIVE_HYBRIDMAP_MEMBER: &'static [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_CF_FUNCTION_TABLE_SIZE_MASK: u32 = 4026531840; pub const IMAGE_GUARD_CF_FUNCTION_TABLE_SIZE_SHIFT: u32 = 28; pub const IMAGE_GUARD_FLAG_FID_SUPPRESSED: u32 = 1; pub const IMAGE_GUARD_FLAG_EXPORT_SUPPRESSED: u32 = 2; pub const IMAGE_ENCLAVE_LONG_ID_LENGTH: u32 = 32; pub const IMAGE_ENCLAVE_SHORT_ID_LENGTH: u32 = 16; pub const IMAGE_ENCLAVE_POLICY_DEBUGGABLE: u32 = 1; pub const IMAGE_ENCLAVE_FLAG_PRIMARY_IMAGE: u32 = 1; pub const IMAGE_ENCLAVE_IMPORT_MATCH_NONE: u32 = 0; pub const IMAGE_ENCLAVE_IMPORT_MATCH_UNIQUE_ID: u32 = 1; pub const IMAGE_ENCLAVE_IMPORT_MATCH_AUTHOR_ID: u32 = 2; pub const IMAGE_ENCLAVE_IMPORT_MATCH_FAMILY_ID: u32 = 3; pub const IMAGE_ENCLAVE_IMPORT_MATCH_IMAGE_ID: u32 = 4; pub const IMAGE_DEBUG_TYPE_UNKNOWN: u32 = 0; pub const IMAGE_DEBUG_TYPE_COFF: u32 = 1; pub const IMAGE_DEBUG_TYPE_CODEVIEW: u32 = 2; pub const IMAGE_DEBUG_TYPE_FPO: u32 = 3; pub const IMAGE_DEBUG_TYPE_MISC: u32 = 4; pub const IMAGE_DEBUG_TYPE_EXCEPTION: u32 = 5; pub const IMAGE_DEBUG_TYPE_FIXUP: u32 = 6; pub const IMAGE_DEBUG_TYPE_OMAP_TO_SRC: u32 = 7; pub const IMAGE_DEBUG_TYPE_OMAP_FROM_SRC: u32 = 8; pub const IMAGE_DEBUG_TYPE_BORLAND: u32 = 9; pub const IMAGE_DEBUG_TYPE_RESERVED10: u32 = 10; pub const IMAGE_DEBUG_TYPE_CLSID: u32 = 11; pub const IMAGE_DEBUG_TYPE_VC_FEATURE: u32 = 12; pub const IMAGE_DEBUG_TYPE_POGO: u32 = 13; pub const IMAGE_DEBUG_TYPE_ILTCG: u32 = 14; pub const IMAGE_DEBUG_TYPE_MPX: u32 = 15; pub const IMAGE_DEBUG_TYPE_REPRO: u32 = 16; pub const FRAME_FPO: u32 = 0; pub const FRAME_TRAP: u32 = 1; pub const FRAME_TSS: u32 = 2; pub const FRAME_NONFPO: u32 = 3; pub const SIZEOF_RFPO_DATA: u32 = 16; pub const IMAGE_DEBUG_MISC_EXENAME: u32 = 1; pub const IMAGE_SEPARATE_DEBUG_SIGNATURE: u32 = 18756; pub const NON_PAGED_DEBUG_SIGNATURE: u32 = 18766; pub const IMAGE_SEPARATE_DEBUG_FLAGS_MASK: u32 = 32768; pub const IMAGE_SEPARATE_DEBUG_MISMATCH: u32 = 32768; pub const IMPORT_OBJECT_HDR_SIG2: u32 = 65535; pub const RTL_RUN_ONCE_CHECK_ONLY: u32 = 1; pub const RTL_RUN_ONCE_ASYNC: u32 = 2; pub const RTL_RUN_ONCE_INIT_FAILED: u32 = 4; pub const RTL_RUN_ONCE_CTX_RESERVED_BITS: u32 = 2; pub const FAST_FAIL_LEGACY_GS_VIOLATION: u32 = 0; pub const FAST_FAIL_VTGUARD_CHECK_FAILURE: u32 = 1; pub const FAST_FAIL_STACK_COOKIE_CHECK_FAILURE: u32 = 2; pub const FAST_FAIL_CORRUPT_LIST_ENTRY: u32 = 3; pub const FAST_FAIL_INCORRECT_STACK: u32 = 4; pub const FAST_FAIL_INVALID_ARG: u32 = 5; pub const FAST_FAIL_GS_COOKIE_INIT: u32 = 6; pub const FAST_FAIL_FATAL_APP_EXIT: u32 = 7; pub const FAST_FAIL_RANGE_CHECK_FAILURE: u32 = 8; pub const FAST_FAIL_UNSAFE_REGISTRY_ACCESS: u32 = 9; pub const FAST_FAIL_GUARD_ICALL_CHECK_FAILURE: u32 = 10; pub const FAST_FAIL_GUARD_WRITE_CHECK_FAILURE: u32 = 11; pub const FAST_FAIL_INVALID_FIBER_SWITCH: u32 = 12; pub const FAST_FAIL_INVALID_SET_OF_CONTEXT: u32 = 13; pub const FAST_FAIL_INVALID_REFERENCE_COUNT: u32 = 14; pub const FAST_FAIL_INVALID_JUMP_BUFFER: u32 = 18; pub const FAST_FAIL_MRDATA_MODIFIED: u32 = 19; pub const FAST_FAIL_CERTIFICATION_FAILURE: u32 = 20; pub const FAST_FAIL_INVALID_EXCEPTION_CHAIN: u32 = 21; pub const FAST_FAIL_CRYPTO_LIBRARY: u32 = 22; pub const FAST_FAIL_INVALID_CALL_IN_DLL_CALLOUT: u32 = 23; pub const FAST_FAIL_INVALID_IMAGE_BASE: u32 = 24; pub const FAST_FAIL_DLOAD_PROTECTION_FAILURE: u32 = 25; pub const FAST_FAIL_UNSAFE_EXTENSION_CALL: u32 = 26; pub const FAST_FAIL_DEPRECATED_SERVICE_INVOKED: u32 = 27; pub const FAST_FAIL_INVALID_BUFFER_ACCESS: u32 = 28; pub const FAST_FAIL_INVALID_BALANCED_TREE: u32 = 29; pub const FAST_FAIL_INVALID_NEXT_THREAD: u32 = 30; pub const FAST_FAIL_GUARD_ICALL_CHECK_SUPPRESSED: u32 = 31; pub const FAST_FAIL_APCS_DISABLED: u32 = 32; pub const FAST_FAIL_INVALID_IDLE_STATE: u32 = 33; pub const FAST_FAIL_MRDATA_PROTECTION_FAILURE: u32 = 34; pub const FAST_FAIL_UNEXPECTED_HEAP_EXCEPTION: u32 = 35; pub const FAST_FAIL_INVALID_LOCK_STATE: u32 = 36; pub const FAST_FAIL_GUARD_JUMPTABLE: u32 = 37; pub const FAST_FAIL_INVALID_LONGJUMP_TARGET: u32 = 38; pub const FAST_FAIL_INVALID_DISPATCH_CONTEXT: u32 = 39; pub const FAST_FAIL_INVALID_THREAD: u32 = 40; pub const FAST_FAIL_INVALID_SYSCALL_NUMBER: u32 = 41; pub const FAST_FAIL_INVALID_FILE_OPERATION: u32 = 42; pub const FAST_FAIL_LPAC_ACCESS_DENIED: u32 = 43; pub const FAST_FAIL_GUARD_SS_FAILURE: u32 = 44; pub const FAST_FAIL_LOADER_CONTINUITY_FAILURE: u32 = 45; pub const FAST_FAIL_GUARD_EXPORT_SUPPRESSION_FAILURE: u32 = 46; pub const FAST_FAIL_INVALID_CONTROL_STACK: u32 = 47; pub const FAST_FAIL_SET_CONTEXT_DENIED: u32 = 48; pub const FAST_FAIL_INVALID_IAT: u32 = 49; pub const FAST_FAIL_HEAP_METADATA_CORRUPTION: u32 = 50; pub const FAST_FAIL_PAYLOAD_RESTRICTION_VIOLATION: u32 = 51; pub const FAST_FAIL_LOW_LABEL_ACCESS_DENIED: u32 = 52; pub const FAST_FAIL_ENCLAVE_CALL_FAILURE: u32 = 53; pub const FAST_FAIL_UNHANDLED_LSS_EXCEPTON: u32 = 54; pub const FAST_FAIL_ADMINLESS_ACCESS_DENIED: u32 = 55; pub const FAST_FAIL_UNEXPECTED_CALL: u32 = 56; pub const FAST_FAIL_CONTROL_INVALID_RETURN_ADDRESS: u32 = 57; pub const FAST_FAIL_UNEXPECTED_HOST_BEHAVIOR: u32 = 58; pub const FAST_FAIL_FLAGS_CORRUPTION: u32 = 59; pub const FAST_FAIL_INVALID_FAST_FAIL_CODE: u32 = 4294967295; pub const HEAP_NO_SERIALIZE: u32 = 1; pub const HEAP_GROWABLE: u32 = 2; pub const HEAP_GENERATE_EXCEPTIONS: u32 = 4; pub const HEAP_ZERO_MEMORY: u32 = 8; pub const HEAP_REALLOC_IN_PLACE_ONLY: u32 = 16; pub const HEAP_TAIL_CHECKING_ENABLED: u32 = 32; pub const HEAP_FREE_CHECKING_ENABLED: u32 = 64; pub const HEAP_DISABLE_COALESCE_ON_FREE: u32 = 128; pub const HEAP_CREATE_ALIGN_16: u32 = 65536; pub const HEAP_CREATE_ENABLE_TRACING: u32 = 131072; pub const HEAP_CREATE_ENABLE_EXECUTE: u32 = 262144; pub const HEAP_MAXIMUM_TAG: u32 = 4095; pub const HEAP_PSEUDO_TAG_FLAG: u32 = 32768; pub const HEAP_TAG_SHIFT: u32 = 18; pub const HEAP_CREATE_SEGMENT_HEAP: u32 = 256; pub const HEAP_CREATE_HARDENED: u32 = 512; pub const IS_TEXT_UNICODE_ASCII16: u32 = 1; pub const IS_TEXT_UNICODE_REVERSE_ASCII16: u32 = 16; pub const IS_TEXT_UNICODE_STATISTICS: u32 = 2; pub const IS_TEXT_UNICODE_REVERSE_STATISTICS: u32 = 32; pub const IS_TEXT_UNICODE_CONTROLS: u32 = 4; pub const IS_TEXT_UNICODE_REVERSE_CONTROLS: u32 = 64; pub const IS_TEXT_UNICODE_SIGNATURE: u32 = 8; pub const IS_TEXT_UNICODE_REVERSE_SIGNATURE: u32 = 128; pub const IS_TEXT_UNICODE_ILLEGAL_CHARS: u32 = 256; pub const IS_TEXT_UNICODE_ODD_LENGTH: u32 = 512; pub const IS_TEXT_UNICODE_DBCS_LEADBYTE: u32 = 1024; pub const IS_TEXT_UNICODE_NULL_BYTES: u32 = 4096; pub const IS_TEXT_UNICODE_UNICODE_MASK: u32 = 15; pub const IS_TEXT_UNICODE_REVERSE_MASK: u32 = 240; pub const IS_TEXT_UNICODE_NOT_UNICODE_MASK: u32 = 3840; pub const IS_TEXT_UNICODE_NOT_ASCII_MASK: u32 = 61440; pub const COMPRESSION_FORMAT_NONE: u32 = 0; pub const COMPRESSION_FORMAT_DEFAULT: u32 = 1; pub const COMPRESSION_FORMAT_LZNT1: u32 = 2; pub const COMPRESSION_FORMAT_XPRESS: u32 = 3; pub const COMPRESSION_FORMAT_XPRESS_HUFF: u32 = 4; pub const COMPRESSION_ENGINE_STANDARD: u32 = 0; pub const COMPRESSION_ENGINE_MAXIMUM: u32 = 256; pub const COMPRESSION_ENGINE_HIBER: u32 = 512; pub const SEF_DACL_AUTO_INHERIT: u32 = 1; pub const SEF_SACL_AUTO_INHERIT: u32 = 2; pub const SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT: u32 = 4; pub const SEF_AVOID_PRIVILEGE_CHECK: u32 = 8; pub const SEF_AVOID_OWNER_CHECK: u32 = 16; pub const SEF_DEFAULT_OWNER_FROM_PARENT: u32 = 32; pub const SEF_DEFAULT_GROUP_FROM_PARENT: u32 = 64; pub const SEF_MACL_NO_WRITE_UP: u32 = 256; pub const SEF_MACL_NO_READ_UP: u32 = 512; pub const SEF_MACL_NO_EXECUTE_UP: u32 = 1024; pub const SEF_AI_USE_EXTRA_PARAMS: u32 = 2048; pub const SEF_AVOID_OWNER_RESTRICTION: u32 = 4096; pub const SEF_FORCE_USER_MODE: u32 = 8192; pub const SEF_MACL_VALID_FLAGS: u32 = 1792; pub const MESSAGE_RESOURCE_UNICODE: u32 = 1; pub const 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: &'static [u8; 9usize] = b".tPolicy\0"; pub const RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO: u32 = 16777216; pub const RTL_CRITICAL_SECTION_FLAG_DYNAMIC_SPIN: u32 = 33554432; pub const RTL_CRITICAL_SECTION_FLAG_STATIC_INIT: u32 = 67108864; pub const RTL_CRITICAL_SECTION_FLAG_RESOURCE_TYPE: u32 = 134217728; pub const RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO: u32 = 268435456; pub const RTL_CRITICAL_SECTION_ALL_FLAG_BITS: u32 = 4278190080; pub const RTL_CRITICAL_SECTION_FLAG_RESERVED: u32 = 3758096384; pub const RTL_CRITICAL_SECTION_DEBUG_FLAG_STATIC_INIT: u32 = 1; pub const RTL_CONDITION_VARIABLE_LOCKMODE_SHARED: u32 = 1; pub const HEAP_OPTIMIZE_RESOURCES_CURRENT_VERSION: u32 = 1; pub const WT_EXECUTEDEFAULT: u32 = 0; pub const WT_EXECUTEINIOTHREAD: u32 = 1; pub const WT_EXECUTEINUITHREAD: u32 = 2; pub const WT_EXECUTEINWAITTHREAD: u32 = 4; pub const WT_EXECUTEONLYONCE: u32 = 8; pub const WT_EXECUTEINTIMERTHREAD: u32 = 32; pub const WT_EXECUTELONGFUNCTION: u32 = 16; pub const WT_EXECUTEINPERSISTENTIOTHREAD: u32 = 64; pub const WT_EXECUTEINPERSISTENTTHREAD: u32 = 128; pub const WT_TRANSFER_IMPERSONATION: u32 = 256; pub const WT_EXECUTEINLONGTHREAD: u32 = 16; pub const WT_EXECUTEDELETEWAIT: u32 = 8; pub const ACTIVATION_CONTEXT_PATH_TYPE_NONE: u32 = 1; pub const ACTIVATION_CONTEXT_PATH_TYPE_WIN32_FILE: u32 = 2; pub const ACTIVATION_CONTEXT_PATH_TYPE_URL: u32 = 3; pub const ACTIVATION_CONTEXT_PATH_TYPE_ASSEMBLYREF: u32 = 4; pub const CREATE_BOUNDARY_DESCRIPTOR_ADD_APPCONTAINER_SID: u32 = 1; pub const PERFORMANCE_DATA_VERSION: u32 = 1; pub const READ_THREAD_PROFILING_FLAG_DISPATCHING: u32 = 1; pub const READ_THREAD_PROFILING_FLAG_HARDWARE_COUNTERS: u32 = 2; pub const UNIFIEDBUILDREVISION_KEY: &'static [u8; 63usize] = b"\\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\0"; pub const UNIFIEDBUILDREVISION_VALUE: &'static [u8; 4usize] = b"UBR\0"; pub const UNIFIEDBUILDREVISION_MIN: u32 = 0; pub const DEVICEFAMILYDEVICEFORM_KEY: &'static [u8; 67usize] = b"\\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\\OEM\0"; pub const DEVICEFAMILYDEVICEFORM_VALUE: &'static [u8; 11usize] = b"DeviceForm\0"; pub const DEVICEFAMILYINFOENUM_UAP: u32 = 0; pub const DEVICEFAMILYINFOENUM_WINDOWS_8X: u32 = 1; pub const DEVICEFAMILYINFOENUM_WINDOWS_PHONE_8X: u32 = 2; pub const DEVICEFAMILYINFOENUM_DESKTOP: u32 = 3; pub const DEVICEFAMILYINFOENUM_MOBILE: u32 = 4; pub const DEVICEFAMILYINFOENUM_XBOX: u32 = 5; pub const DEVICEFAMILYINFOENUM_TEAM: u32 = 6; pub const DEVICEFAMILYINFOENUM_IOT: u32 = 7; pub const DEVICEFAMILYINFOENUM_IOT_HEADLESS: u32 = 8; pub const DEVICEFAMILYINFOENUM_SERVER: u32 = 9; pub const DEVICEFAMILYINFOENUM_HOLOGRAPHIC: u32 = 10; pub const DEVICEFAMILYINFOENUM_XBOXSRA: u32 = 11; pub const DEVICEFAMILYINFOENUM_XBOXERA: u32 = 12; pub const DEVICEFAMILYINFOENUM_SERVER_NANO: u32 = 13; pub const DEVICEFAMILYINFOENUM_8828080: u32 = 14; pub const DEVICEFAMILYINFOENUM_7067329: u32 = 15; pub const DEVICEFAMILYINFOENUM_WINDOWS_CORE: u32 = 16; pub const DEVICEFAMILYINFOENUM_WINDOWS_CORE_HEADLESS: u32 = 17; pub const DEVICEFAMILYINFOENUM_MAX: u32 = 17; pub const DEVICEFAMILYDEVICEFORM_UNKNOWN: u32 = 0; pub const DEVICEFAMILYDEVICEFORM_PHONE: u32 = 1; pub const DEVICEFAMILYDEVICEFORM_TABLET: u32 = 2; pub const DEVICEFAMILYDEVICEFORM_DESKTOP: u32 = 3; pub const DEVICEFAMILYDEVICEFORM_NOTEBOOK: u32 = 4; pub const DEVICEFAMILYDEVICEFORM_CONVERTIBLE: u32 = 5; pub const DEVICEFAMILYDEVICEFORM_DETACHABLE: u32 = 6; pub const DEVICEFAMILYDEVICEFORM_ALLINONE: u32 = 7; pub const DEVICEFAMILYDEVICEFORM_STICKPC: u32 = 8; pub const DEVICEFAMILYDEVICEFORM_PUCK: u32 = 9; pub const DEVICEFAMILYDEVICEFORM_LARGESCREEN: u32 = 10; pub const DEVICEFAMILYDEVICEFORM_HMD: u32 = 11; pub const DEVICEFAMILYDEVICEFORM_INDUSTRY_HANDHELD: u32 = 12; pub const DEVICEFAMILYDEVICEFORM_INDUSTRY_TABLET: u32 = 13; pub const DEVICEFAMILYDEVICEFORM_BANKING: u32 = 14; pub const DEVICEFAMILYDEVICEFORM_BUILDING_AUTOMATION: u32 = 15; pub const DEVICEFAMILYDEVICEFORM_DIGITAL_SIGNAGE: u32 = 16; pub const DEVICEFAMILYDEVICEFORM_GAMING: u32 = 17; pub const DEVICEFAMILYDEVICEFORM_HOME_AUTOMATION: u32 = 18; pub const DEVICEFAMILYDEVICEFORM_INDUSTRIAL_AUTOMATION: u32 = 19; pub const DEVICEFAMILYDEVICEFORM_KIOSK: u32 = 20; pub const DEVICEFAMILYDEVICEFORM_MAKER_BOARD: u32 = 21; pub const DEVICEFAMILYDEVICEFORM_MEDICAL: u32 = 22; pub const DEVICEFAMILYDEVICEFORM_NETWORKING: u32 = 23; pub const DEVICEFAMILYDEVICEFORM_POINT_OF_SERVICE: u32 = 24; pub const DEVICEFAMILYDEVICEFORM_PRINTING: u32 = 25; pub const DEVICEFAMILYDEVICEFORM_THIN_CLIENT: u32 = 26; pub const DEVICEFAMILYDEVICEFORM_TOY: u32 = 27; pub const DEVICEFAMILYDEVICEFORM_VENDING: u32 = 28; pub const DEVICEFAMILYDEVICEFORM_INDUSTRY_OTHER: u32 = 29; pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE: u32 = 30; pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE_S: u32 = 31; pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE_X: u32 = 32; pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE_X_DEVKIT: u32 = 33; pub const DEVICEFAMILYDEVICEFORM_MAX: u32 = 33; pub const DLL_PROCESS_ATTACH: u32 = 1; pub const DLL_THREAD_ATTACH: u32 = 2; pub const DLL_THREAD_DETACH: u32 = 3; pub const DLL_PROCESS_DETACH: u32 = 0; pub const EVENTLOG_SEQUENTIAL_READ: u32 = 1; pub const EVENTLOG_SEEK_READ: u32 = 2; pub const EVENTLOG_FORWARDS_READ: u32 = 4; pub const EVENTLOG_BACKWARDS_READ: u32 = 8; pub const EVENTLOG_SUCCESS: u32 = 0; pub const EVENTLOG_ERROR_TYPE: u32 = 1; pub const EVENTLOG_WARNING_TYPE: u32 = 2; pub const EVENTLOG_INFORMATION_TYPE: u32 = 4; pub const EVENTLOG_AUDIT_SUCCESS: u32 = 8; pub const EVENTLOG_AUDIT_FAILURE: u32 = 16; pub const EVENTLOG_START_PAIRED_EVENT: u32 = 1; pub const EVENTLOG_END_PAIRED_EVENT: u32 = 2; pub const EVENTLOG_END_ALL_PAIRED_EVENTS: u32 = 4; pub const EVENTLOG_PAIRED_EVENT_ACTIVE: u32 = 8; pub const EVENTLOG_PAIRED_EVENT_INACTIVE: u32 = 16; pub const MAXLOGICALLOGNAMESIZE: u32 = 256; pub const KEY_QUERY_VALUE: u32 = 1; pub const KEY_SET_VALUE: u32 = 2; pub const KEY_CREATE_SUB_KEY: u32 = 4; pub const KEY_ENUMERATE_SUB_KEYS: u32 = 8; pub const KEY_NOTIFY: u32 = 16; pub const KEY_CREATE_LINK: u32 = 32; pub const KEY_WOW64_32KEY: u32 = 512; pub const KEY_WOW64_64KEY: u32 = 256; pub const KEY_WOW64_RES: u32 = 768; pub const KEY_READ: u32 = 131097; pub const KEY_WRITE: u32 = 131078; pub const KEY_EXECUTE: u32 = 131097; pub const KEY_ALL_ACCESS: u32 = 983103; pub const REG_OPTION_RESERVED: u32 = 0; pub const REG_OPTION_NON_VOLATILE: u32 = 0; pub const REG_OPTION_VOLATILE: u32 = 1; pub const REG_OPTION_CREATE_LINK: u32 = 2; pub const REG_OPTION_BACKUP_RESTORE: u32 = 4; pub const REG_OPTION_OPEN_LINK: u32 = 8; pub const REG_OPTION_DONT_VIRTUALIZE: u32 = 16; pub const REG_LEGAL_OPTION: u32 = 31; pub const REG_OPEN_LEGAL_OPTION: u32 = 28; pub const REG_CREATED_NEW_KEY: u32 = 1; pub const REG_OPENED_EXISTING_KEY: u32 = 2; pub const REG_STANDARD_FORMAT: u32 = 1; pub const REG_LATEST_FORMAT: u32 = 2; pub const REG_NO_COMPRESSION: u32 = 4; pub const REG_WHOLE_HIVE_VOLATILE: u32 = 1; pub const REG_REFRESH_HIVE: u32 = 2; pub const REG_NO_LAZY_FLUSH: u32 = 4; pub const REG_FORCE_RESTORE: u32 = 8; pub const REG_APP_HIVE: u32 = 16; pub const REG_PROCESS_PRIVATE: u32 = 32; pub const REG_START_JOURNAL: u32 = 64; pub const REG_HIVE_EXACT_FILE_GROWTH: u32 = 128; pub const REG_HIVE_NO_RM: u32 = 256; pub const REG_HIVE_SINGLE_LOG: u32 = 512; pub const REG_BOOT_HIVE: u32 = 1024; pub const REG_LOAD_HIVE_OPEN_HANDLE: u32 = 2048; pub const REG_FLUSH_HIVE_FILE_GROWTH: u32 = 4096; pub const REG_OPEN_READ_ONLY: u32 = 8192; pub const REG_IMMUTABLE: u32 = 16384; pub const REG_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: &'static [u8; 21usize] = b"\\TransactionManager\\\0"; pub const TRANSACTION_OBJECT_PATH: &'static [u8; 14usize] = b"\\Transaction\\\0"; pub const ENLISTMENT_OBJECT_PATH: &'static [u8; 13usize] = b"\\Enlistment\\\0"; pub const RESOURCE_MANAGER_OBJECT_PATH: &'static [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 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 PROCESS_AFFINITY_ENABLE_AUTO_UPDATE: u32 = 1; pub const PROC_THREAD_ATTRIBUTE_REPLACE_VALUE: u32 = 1; pub const THREAD_POWER_THROTTLING_CURRENT_VERSION: u32 = 1; pub const THREAD_POWER_THROTTLING_EXECUTION_SPEED: u32 = 1; pub const THREAD_POWER_THROTTLING_VALID_FLAGS: u32 = 1; pub const PME_CURRENT_VERSION: u32 = 1; pub const PME_FAILFAST_ON_COMMIT_FAIL_DISABLE: u32 = 0; pub const PME_FAILFAST_ON_COMMIT_FAIL_ENABLE: u32 = 1; pub const PROCESS_POWER_THROTTLING_CURRENT_VERSION: u32 = 1; pub const PROCESS_POWER_THROTTLING_EXECUTION_SPEED: u32 = 1; pub const PROCESS_POWER_THROTTLING_VALID_FLAGS: u32 = 1; pub const PROCESS_LEAP_SECOND_INFO_FLAG_ENABLE_SIXTY_SECOND: u32 = 1; pub const PROCESS_LEAP_SECOND_INFO_VALID_FLAGS: u32 = 1; pub const 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_REQUEST_COMPRESSED_TRAFFIC: u32 = 16777216; pub const COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC: u32 = 33554432; pub const REPLACEFILE_WRITE_THROUGH: u32 = 1; pub const REPLACEFILE_IGNORE_MERGE_ERRORS: u32 = 2; pub const REPLACEFILE_IGNORE_ACL_ERRORS: u32 = 4; pub const PIPE_ACCESS_INBOUND: u32 = 1; pub const PIPE_ACCESS_OUTBOUND: u32 = 2; pub const PIPE_ACCESS_DUPLEX: u32 = 3; pub const PIPE_CLIENT_END: u32 = 0; pub const PIPE_SERVER_END: u32 = 1; pub const PIPE_WAIT: u32 = 0; pub const PIPE_NOWAIT: u32 = 1; pub const PIPE_READMODE_BYTE: u32 = 0; pub const PIPE_READMODE_MESSAGE: u32 = 2; pub const PIPE_TYPE_BYTE: u32 = 0; pub const PIPE_TYPE_MESSAGE: u32 = 4; pub const PIPE_ACCEPT_REMOTE_CLIENTS: u32 = 0; pub const PIPE_REJECT_REMOTE_CLIENTS: u32 = 8; pub const PIPE_UNLIMITED_INSTANCES: u32 = 255; pub const SECURITY_CONTEXT_TRACKING: u32 = 262144; pub const SECURITY_EFFECTIVE_ONLY: u32 = 524288; pub const SECURITY_SQOS_PRESENT: u32 = 1048576; pub const SECURITY_VALID_SQOS_FLAGS: u32 = 2031616; pub const FAIL_FAST_GENERATE_EXCEPTION_ADDRESS: u32 = 1; pub const FAIL_FAST_NO_HARD_ERROR_DLG: u32 = 2; pub const DTR_CONTROL_DISABLE: u32 = 0; pub const DTR_CONTROL_ENABLE: u32 = 1; pub const DTR_CONTROL_HANDSHAKE: u32 = 2; pub const RTS_CONTROL_DISABLE: u32 = 0; pub const RTS_CONTROL_ENABLE: u32 = 1; pub const RTS_CONTROL_HANDSHAKE: u32 = 2; pub const RTS_CONTROL_TOGGLE: u32 = 3; pub const GMEM_FIXED: u32 = 0; pub const GMEM_MOVEABLE: u32 = 2; pub const GMEM_NOCOMPACT: u32 = 16; pub const GMEM_NODISCARD: u32 = 32; pub const GMEM_ZEROINIT: u32 = 64; pub const GMEM_MODIFY: u32 = 128; pub const GMEM_DISCARDABLE: u32 = 256; pub const GMEM_NOT_BANKED: u32 = 4096; pub const GMEM_SHARE: u32 = 8192; pub const GMEM_DDESHARE: u32 = 8192; pub const GMEM_NOTIFY: u32 = 16384; pub const GMEM_LOWER: u32 = 4096; pub const GMEM_VALID_FLAGS: u32 = 32626; pub const GMEM_INVALID_HANDLE: u32 = 32768; pub const GHND: u32 = 66; pub const GPTR: u32 = 64; pub const GMEM_DISCARDED: u32 = 16384; pub const GMEM_LOCKCOUNT: u32 = 255; pub const DEBUG_PROCESS: u32 = 1; pub const DEBUG_ONLY_THIS_PROCESS: u32 = 2; pub const CREATE_SUSPENDED: u32 = 4; pub const DETACHED_PROCESS: u32 = 8; pub const CREATE_NEW_CONSOLE: u32 = 16; pub const NORMAL_PRIORITY_CLASS: u32 = 32; pub const IDLE_PRIORITY_CLASS: u32 = 64; pub const HIGH_PRIORITY_CLASS: u32 = 128; pub const REALTIME_PRIORITY_CLASS: u32 = 256; pub const CREATE_NEW_PROCESS_GROUP: u32 = 512; pub const CREATE_UNICODE_ENVIRONMENT: u32 = 1024; pub const CREATE_SEPARATE_WOW_VDM: u32 = 2048; pub const CREATE_SHARED_WOW_VDM: u32 = 4096; pub const CREATE_FORCEDOS: u32 = 8192; pub const BELOW_NORMAL_PRIORITY_CLASS: u32 = 16384; pub const ABOVE_NORMAL_PRIORITY_CLASS: u32 = 32768; pub const INHERIT_PARENT_AFFINITY: u32 = 65536; pub const INHERIT_CALLER_PRIORITY: u32 = 131072; pub const CREATE_PROTECTED_PROCESS: u32 = 262144; pub const EXTENDED_STARTUPINFO_PRESENT: u32 = 524288; pub const PROCESS_MODE_BACKGROUND_BEGIN: u32 = 1048576; pub const PROCESS_MODE_BACKGROUND_END: u32 = 2097152; pub const CREATE_SECURE_PROCESS: u32 = 4194304; pub const CREATE_BREAKAWAY_FROM_JOB: u32 = 16777216; pub const CREATE_PRESERVE_CODE_AUTHZ_LEVEL: u32 = 33554432; pub const CREATE_DEFAULT_ERROR_MODE: u32 = 67108864; pub const CREATE_NO_WINDOW: u32 = 134217728; pub const PROFILE_USER: u32 = 268435456; pub const PROFILE_KERNEL: u32 = 536870912; pub const PROFILE_SERVER: u32 = 1073741824; pub const CREATE_IGNORE_SYSTEM_DEFAULT: u32 = 2147483648; pub const STACK_SIZE_PARAM_IS_A_RESERVATION: u32 = 65536; pub const THREAD_PRIORITY_LOWEST: i32 = -2; pub const THREAD_PRIORITY_BELOW_NORMAL: i32 = -1; pub const THREAD_PRIORITY_NORMAL: u32 = 0; pub const THREAD_PRIORITY_HIGHEST: u32 = 2; pub const THREAD_PRIORITY_ABOVE_NORMAL: u32 = 1; pub const THREAD_PRIORITY_ERROR_RETURN: u32 = 2147483647; pub const THREAD_PRIORITY_TIME_CRITICAL: u32 = 15; pub const THREAD_PRIORITY_IDLE: i32 = -15; pub const THREAD_MODE_BACKGROUND_BEGIN: u32 = 65536; pub const THREAD_MODE_BACKGROUND_END: u32 = 131072; pub const VOLUME_NAME_DOS: u32 = 0; pub const VOLUME_NAME_GUID: u32 = 1; pub const VOLUME_NAME_NT: u32 = 2; pub const VOLUME_NAME_NONE: u32 = 4; pub const FILE_NAME_NORMALIZED: u32 = 0; pub const FILE_NAME_OPENED: u32 = 8; pub const DRIVE_UNKNOWN: u32 = 0; pub const DRIVE_NO_ROOT_DIR: u32 = 1; pub const DRIVE_REMOVABLE: u32 = 2; pub const DRIVE_FIXED: u32 = 3; pub const DRIVE_REMOTE: u32 = 4; pub const DRIVE_CDROM: u32 = 5; pub const DRIVE_RAMDISK: u32 = 6; pub const FILE_TYPE_UNKNOWN: u32 = 0; pub const FILE_TYPE_DISK: u32 = 1; pub const FILE_TYPE_CHAR: u32 = 2; pub const FILE_TYPE_PIPE: u32 = 3; pub const FILE_TYPE_REMOTE: u32 = 32768; pub const NOPARITY: u32 = 0; pub const ODDPARITY: u32 = 1; pub const EVENPARITY: u32 = 2; pub const MARKPARITY: u32 = 3; pub const SPACEPARITY: u32 = 4; pub const ONESTOPBIT: u32 = 0; pub const ONE5STOPBITS: u32 = 1; pub const TWOSTOPBITS: u32 = 2; pub const IGNORE: u32 = 0; pub const INFINITE: u32 = 4294967295; pub const CBR_110: u32 = 110; pub const CBR_300: u32 = 300; pub const CBR_600: u32 = 600; pub const CBR_1200: u32 = 1200; pub const CBR_2400: u32 = 2400; pub const CBR_4800: u32 = 4800; pub const CBR_9600: u32 = 9600; pub const CBR_14400: u32 = 14400; pub const CBR_19200: u32 = 19200; pub const CBR_38400: u32 = 38400; pub const CBR_56000: u32 = 56000; pub const CBR_57600: u32 = 57600; pub const CBR_115200: u32 = 115200; pub const CBR_128000: u32 = 128000; pub const CBR_256000: u32 = 256000; pub const CE_RXOVER: u32 = 1; pub const CE_OVERRUN: u32 = 2; pub const CE_RXPARITY: u32 = 4; pub const CE_FRAME: u32 = 8; pub const CE_BREAK: u32 = 16; pub const CE_TXFULL: u32 = 256; pub const CE_PTO: u32 = 512; pub const CE_IOE: u32 = 1024; pub const CE_DNS: u32 = 2048; pub const CE_OOP: u32 = 4096; pub const CE_MODE: u32 = 32768; pub const IE_BADID: i32 = -1; pub const IE_OPEN: i32 = -2; pub const IE_NOPEN: i32 = -3; pub const IE_MEMORY: i32 = -4; pub const IE_DEFAULT: i32 = -5; pub const IE_HARDWARE: i32 = -10; pub const IE_BYTESIZE: i32 = -11; pub const IE_BAUDRATE: i32 = -12; pub const EV_RXCHAR: u32 = 1; pub const EV_RXFLAG: u32 = 2; pub const EV_TXEMPTY: u32 = 4; pub const EV_CTS: u32 = 8; pub const EV_DSR: u32 = 16; pub const EV_RLSD: u32 = 32; pub const EV_BREAK: u32 = 64; pub const EV_ERR: u32 = 128; pub const EV_RING: u32 = 256; pub const EV_PERR: u32 = 512; pub const EV_RX80FULL: u32 = 1024; pub const EV_EVENT1: u32 = 2048; pub const EV_EVENT2: u32 = 4096; pub const SETXOFF: u32 = 1; pub const SETXON: u32 = 2; pub const SETRTS: u32 = 3; pub const CLRRTS: u32 = 4; pub const SETDTR: u32 = 5; pub const CLRDTR: u32 = 6; pub const RESETDEV: u32 = 7; pub const SETBREAK: u32 = 8; pub const CLRBREAK: u32 = 9; pub const PURGE_TXABORT: u32 = 1; pub const PURGE_RXABORT: u32 = 2; pub const PURGE_TXCLEAR: u32 = 4; pub const PURGE_RXCLEAR: u32 = 8; pub const LPTx: u32 = 128; pub const S_QUEUEEMPTY: u32 = 0; pub const S_THRESHOLD: u32 = 1; pub const S_ALLTHRESHOLD: u32 = 2; pub const S_NORMAL: u32 = 0; pub const S_LEGATO: u32 = 1; pub const S_STACCATO: u32 = 2; pub const S_PERIOD512: u32 = 0; pub const S_PERIOD1024: u32 = 1; pub const S_PERIOD2048: u32 = 2; pub const S_PERIODVOICE: u32 = 3; pub const S_WHITE512: u32 = 4; pub const S_WHITE1024: u32 = 5; pub const S_WHITE2048: u32 = 6; pub const S_WHITEVOICE: u32 = 7; pub const S_SERDVNA: i32 = -1; pub const S_SEROFM: i32 = -2; pub const S_SERMACT: i32 = -3; pub const S_SERQFUL: i32 = -4; pub const S_SERBDNT: i32 = -5; pub const S_SERDLN: i32 = -6; pub const S_SERDCC: i32 = -7; pub const S_SERDTP: i32 = -8; pub const S_SERDVL: i32 = -9; pub const S_SERDMD: i32 = -10; pub const S_SERDSH: i32 = -11; pub const S_SERDPT: i32 = -12; pub const S_SERDFQ: i32 = -13; pub const S_SERDDR: i32 = -14; pub const S_SERDSR: i32 = -15; pub const S_SERDST: i32 = -16; pub const NMPWAIT_WAIT_FOREVER: u32 = 4294967295; pub const NMPWAIT_NOWAIT: u32 = 1; pub const NMPWAIT_USE_DEFAULT_WAIT: u32 = 0; pub const FS_CASE_IS_PRESERVED: u32 = 2; pub const FS_CASE_SENSITIVE: u32 = 1; pub const FS_UNICODE_STORED_ON_DISK: u32 = 4; pub const FS_PERSISTENT_ACLS: u32 = 8; pub const FS_VOL_IS_COMPRESSED: u32 = 32768; pub const FS_FILE_COMPRESSION: u32 = 16; pub const FS_FILE_ENCRYPTION: u32 = 131072; pub const OF_READ: u32 = 0; pub const OF_WRITE: u32 = 1; pub const OF_READWRITE: u32 = 2; pub const OF_SHARE_COMPAT: u32 = 0; pub const OF_SHARE_EXCLUSIVE: u32 = 16; pub const OF_SHARE_DENY_WRITE: u32 = 32; pub const OF_SHARE_DENY_READ: u32 = 48; pub const OF_SHARE_DENY_NONE: u32 = 64; pub const OF_PARSE: u32 = 256; pub const OF_DELETE: u32 = 512; pub const OF_VERIFY: u32 = 1024; pub const OF_CANCEL: u32 = 2048; pub const OF_CREATE: u32 = 4096; pub const OF_PROMPT: u32 = 8192; pub const OF_EXIST: u32 = 16384; pub const OF_REOPEN: u32 = 32768; pub const OFS_MAXPATHNAME: u32 = 128; pub const MAXINTATOM: u32 = 49152; pub const SCS_32BIT_BINARY: u32 = 0; pub const SCS_DOS_BINARY: u32 = 1; pub const SCS_WOW_BINARY: u32 = 2; pub const SCS_PIF_BINARY: u32 = 3; pub const SCS_POSIX_BINARY: u32 = 4; pub const SCS_OS216_BINARY: u32 = 5; pub const SCS_64BIT_BINARY: u32 = 6; pub const SCS_THIS_PLATFORM_BINARY: u32 = 6; pub const FIBER_FLAG_FLOAT_SWITCH: u32 = 1; pub const UMS_VERSION: u32 = 256; pub const PROCESS_DEP_ENABLE: u32 = 1; pub const PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION: u32 = 2; pub const FILE_SKIP_COMPLETION_PORT_ON_SUCCESS: u32 = 1; pub const FILE_SKIP_SET_EVENT_ON_HANDLE: u32 = 2; pub const SEM_FAILCRITICALERRORS: u32 = 1; pub const SEM_NOGPFAULTERRORBOX: u32 = 2; pub const SEM_NOALIGNMENTFAULTEXCEPT: u32 = 4; pub const SEM_NOOPENFILEERRORBOX: u32 = 32768; pub const CRITICAL_SECTION_NO_DEBUG_INFO: u32 = 16777216; pub const HANDLE_FLAG_INHERIT: u32 = 1; pub const HANDLE_FLAG_PROTECT_FROM_CLOSE: u32 = 2; pub const HINSTANCE_ERROR: u32 = 32; pub const GET_TAPE_MEDIA_INFORMATION: u32 = 0; pub const GET_TAPE_DRIVE_INFORMATION: u32 = 1; pub const SET_TAPE_MEDIA_INFORMATION: u32 = 0; pub const SET_TAPE_DRIVE_INFORMATION: u32 = 1; pub const FORMAT_MESSAGE_ALLOCATE_BUFFER: u32 = 256; pub const FORMAT_MESSAGE_IGNORE_INSERTS: u32 = 512; pub const FORMAT_MESSAGE_FROM_STRING: u32 = 1024; pub const FORMAT_MESSAGE_FROM_HMODULE: u32 = 2048; pub const FORMAT_MESSAGE_FROM_SYSTEM: u32 = 4096; pub const FORMAT_MESSAGE_ARGUMENT_ARRAY: u32 = 8192; pub const FORMAT_MESSAGE_MAX_WIDTH_MASK: u32 = 255; pub const FILE_ENCRYPTABLE: u32 = 0; pub const FILE_IS_ENCRYPTED: u32 = 1; pub const FILE_SYSTEM_ATTR: u32 = 2; pub const FILE_ROOT_DIR: u32 = 3; pub const FILE_SYSTEM_DIR: u32 = 4; pub const FILE_UNKNOWN: u32 = 5; pub const FILE_SYSTEM_NOT_SUPPORT: u32 = 6; pub const FILE_USER_DISALLOWED: u32 = 7; pub const FILE_READ_ONLY: u32 = 8; pub const FILE_DIR_DISALLOWED: u32 = 9; pub const EFS_USE_RECOVERY_KEYS: u32 = 1; pub const CREATE_FOR_IMPORT: u32 = 1; pub const CREATE_FOR_DIR: u32 = 2; pub const OVERWRITE_HIDDEN: u32 = 4; pub const EFSRPC_SECURE_ONLY: u32 = 8; pub const EFS_DROP_ALTERNATE_STREAMS: u32 = 16; pub const BACKUP_INVALID: u32 = 0; pub const BACKUP_DATA: u32 = 1; pub const BACKUP_EA_DATA: u32 = 2; pub const BACKUP_SECURITY_DATA: u32 = 3; pub const BACKUP_ALTERNATE_DATA: u32 = 4; pub const BACKUP_LINK: u32 = 5; pub const BACKUP_PROPERTY_DATA: u32 = 6; pub const BACKUP_OBJECT_ID: u32 = 7; pub const BACKUP_REPARSE_DATA: u32 = 8; pub const BACKUP_SPARSE_BLOCK: u32 = 9; pub const BACKUP_TXFS_DATA: u32 = 10; pub const BACKUP_GHOSTED_FILE_EXTENTS: u32 = 11; pub const STREAM_NORMAL_ATTRIBUTE: u32 = 0; pub const STREAM_MODIFIED_WHEN_READ: u32 = 1; pub const STREAM_CONTAINS_SECURITY: u32 = 2; pub const STREAM_CONTAINS_PROPERTIES: u32 = 4; pub const STREAM_SPARSE_ATTRIBUTE: u32 = 8; pub const STREAM_CONTAINS_GHOSTED_FILE_EXTENTS: u32 = 16; pub const STARTF_USESHOWWINDOW: u32 = 1; pub const STARTF_USESIZE: u32 = 2; pub const STARTF_USEPOSITION: u32 = 4; pub const STARTF_USECOUNTCHARS: u32 = 8; pub const STARTF_USEFILLATTRIBUTE: u32 = 16; pub const STARTF_RUNFULLSCREEN: u32 = 32; pub const STARTF_FORCEONFEEDBACK: u32 = 64; pub const STARTF_FORCEOFFFEEDBACK: u32 = 128; pub const STARTF_USESTDHANDLES: u32 = 256; pub const STARTF_USEHOTKEY: u32 = 512; pub const STARTF_TITLEISLINKNAME: u32 = 2048; pub const STARTF_TITLEISAPPID: u32 = 4096; pub const STARTF_PREVENTPINNING: u32 = 8192; pub const STARTF_UNTRUSTEDSOURCE: u32 = 32768; pub const SHUTDOWN_NORETRY: u32 = 1; pub const PROTECTION_LEVEL_WINTCB_LIGHT: u32 = 0; pub const PROTECTION_LEVEL_WINDOWS: u32 = 1; pub const PROTECTION_LEVEL_WINDOWS_LIGHT: u32 = 2; pub const PROTECTION_LEVEL_ANTIMALWARE_LIGHT: u32 = 3; pub const PROTECTION_LEVEL_LSA_LIGHT: u32 = 4; pub const PROTECTION_LEVEL_WINTCB: u32 = 5; pub const PROTECTION_LEVEL_CODEGEN_LIGHT: u32 = 6; pub const PROTECTION_LEVEL_AUTHENTICODE: u32 = 7; pub const PROTECTION_LEVEL_PPL_APP: u32 = 8; pub const PROTECTION_LEVEL_SAME: u32 = 4294967295; pub const PROTECTION_LEVEL_NONE: u32 = 4294967294; pub const PROCESS_NAME_NATIVE: u32 = 1; pub const PROC_THREAD_ATTRIBUTE_NUMBER: u32 = 65535; pub const PROC_THREAD_ATTRIBUTE_THREAD: u32 = 65536; pub const PROC_THREAD_ATTRIBUTE_INPUT: u32 = 131072; pub const PROC_THREAD_ATTRIBUTE_ADDITIVE: u32 = 262144; pub const PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE: u32 = 1; pub const PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE: u32 = 2; pub const PROCESS_CREATION_MITIGATION_POLICY_SEHOP_ENABLE: u32 = 4; pub const PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_MASK: u32 = 768; pub const PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_DEFER: u32 = 0; pub const PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON: u32 = 256; pub const PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_OFF: u32 = 512; pub const PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON_REQ_RELOCS: u32 = 768; pub const PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_MASK: u32 = 12288; pub const PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_DEFER: u32 = 0; pub const PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_ALWAYS_ON: u32 = 4096; pub const PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_ALWAYS_OFF: u32 = 8192; pub const PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_RESERVED: u32 = 12288; pub const PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_MASK: u32 = 196608; pub const PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_DEFER: u32 = 0; pub const PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_ON: u32 = 65536; pub const PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_OFF: u32 = 131072; pub const PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_RESERVED: u32 = 196608; pub const PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_MASK: u32 = 3145728; pub const PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_DEFER: u32 = 0; pub const PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_ALWAYS_ON: u32 = 1048576; pub const PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_ALWAYS_OFF: u32 = 2097152; pub const PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_RESERVED: u32 = 3145728; pub const PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_MASK: u32 = 50331648; pub const PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_DEFER: u32 = 0; pub const PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_ALWAYS_ON: u32 = 16777216; pub const PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_ALWAYS_OFF: u32 = 33554432; pub const PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_RESERVED: u32 = 50331648; pub const PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_MASK: u32 = 805306368; pub const PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_DEFER: u32 = 0; pub const PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_ALWAYS_ON: u32 = 268435456; pub const PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_ALWAYS_OFF: u32 = 536870912; pub const PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_RESERVED: u32 = 805306368; pub const PROCESS_CREATION_CHILD_PROCESS_RESTRICTED: u32 = 1; pub const PROCESS_CREATION_CHILD_PROCESS_OVERRIDE: u32 = 2; pub const PROCESS_CREATION_CHILD_PROCESS_RESTRICTED_UNLESS_SECURE: u32 = 4; pub const PROCESS_CREATION_ALL_APPLICATION_PACKAGES_OPT_OUT: u32 = 1; pub const PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_ENABLE_PROCESS_TREE: u32 = 1; pub const PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_DISABLE_PROCESS_TREE: u32 = 2; pub const PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_OVERRIDE: u32 = 4; pub const ATOM_FLAG_GLOBAL: u32 = 2; pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A: &'static [u8; 25usize] = b"GetSystemWow64DirectoryA\0"; pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_A_W: &'static [u8; 25usize] = b"GetSystemWow64DirectoryA\0"; pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A: &'static [u8; 25usize] = b"GetSystemWow64DirectoryW\0"; pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_W_W: &'static [u8; 25usize] = b"GetSystemWow64DirectoryW\0"; pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_T_A: &'static [u8; 25usize] = b"GetSystemWow64DirectoryA\0"; pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_T_W: &'static [u8; 25usize] = b"GetSystemWow64DirectoryA\0"; pub const BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE: u32 = 1; pub const BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE: u32 = 65536; pub const BASE_SEARCH_PATH_PERMANENT: u32 = 32768; pub const BASE_SEARCH_PATH_INVALID_FLAGS: i32 = -98306; pub const DDD_RAW_TARGET_PATH: u32 = 1; pub const DDD_REMOVE_DEFINITION: u32 = 2; pub const DDD_EXACT_MATCH_ON_REMOVE: u32 = 4; pub const DDD_NO_BROADCAST_SYSTEM: u32 = 8; pub const DDD_LUID_BROADCAST_DRIVE: u32 = 16; pub const COPYFILE2_MESSAGE_COPY_OFFLOAD: u32 = 1; pub const MOVEFILE_REPLACE_EXISTING: u32 = 1; pub const MOVEFILE_COPY_ALLOWED: u32 = 2; pub const MOVEFILE_DELAY_UNTIL_REBOOT: u32 = 4; pub const MOVEFILE_WRITE_THROUGH: u32 = 8; pub const MOVEFILE_CREATE_HARDLINK: u32 = 16; pub const MOVEFILE_FAIL_IF_NOT_TRACKABLE: u32 = 32; pub const EVENTLOG_FULL_INFO: u32 = 0; pub const OPERATION_API_VERSION: u32 = 1; pub const OPERATION_START_TRACE_CURRENT_THREAD: u32 = 1; pub const OPERATION_END_DISCARD: u32 = 1; pub const MAX_COMPUTERNAME_LENGTH: u32 = 15; pub const LOGON32_LOGON_INTERACTIVE: u32 = 2; pub const LOGON32_LOGON_NETWORK: u32 = 3; pub const LOGON32_LOGON_BATCH: u32 = 4; pub const LOGON32_LOGON_SERVICE: u32 = 5; pub const LOGON32_LOGON_UNLOCK: u32 = 7; pub const LOGON32_LOGON_NETWORK_CLEARTEXT: u32 = 8; pub const LOGON32_LOGON_NEW_CREDENTIALS: u32 = 9; pub const LOGON32_PROVIDER_DEFAULT: u32 = 0; pub const LOGON32_PROVIDER_WINNT35: u32 = 1; pub const LOGON32_PROVIDER_WINNT40: u32 = 2; pub const LOGON32_PROVIDER_WINNT50: u32 = 3; pub const LOGON32_PROVIDER_VIRTUAL: u32 = 4; pub const LOGON_WITH_PROFILE: u32 = 1; pub const LOGON_NETCREDENTIALS_ONLY: u32 = 2; pub const LOGON_ZERO_PASSWORD_BUFFER: u32 = 2147483648; pub const HW_PROFILE_GUIDLEN: u32 = 39; pub const MAX_PROFILE_LEN: u32 = 80; pub const DOCKINFO_UNDOCKED: u32 = 1; pub const DOCKINFO_DOCKED: u32 = 2; pub const DOCKINFO_USER_SUPPLIED: u32 = 4; pub const DOCKINFO_USER_UNDOCKED: u32 = 5; pub const DOCKINFO_USER_DOCKED: u32 = 6; pub const FACILITY_NULL: u32 = 0; pub const FACILITY_RPC: u32 = 1; pub const FACILITY_DISPATCH: u32 = 2; pub const FACILITY_STORAGE: u32 = 3; pub const FACILITY_ITF: u32 = 4; pub const FACILITY_WIN32: u32 = 7; pub const FACILITY_WINDOWS: u32 = 8; pub const FACILITY_SSPI: u32 = 9; pub const FACILITY_SECURITY: u32 = 9; pub const FACILITY_CONTROL: u32 = 10; pub const FACILITY_CERT: u32 = 11; pub const FACILITY_INTERNET: u32 = 12; pub const FACILITY_MEDIASERVER: u32 = 13; pub const FACILITY_MSMQ: u32 = 14; pub const FACILITY_SETUPAPI: u32 = 15; pub const FACILITY_SCARD: u32 = 16; pub const FACILITY_COMPLUS: u32 = 17; pub const FACILITY_AAF: u32 = 18; pub const FACILITY_URT: u32 = 19; pub const FACILITY_ACS: u32 = 20; pub const FACILITY_DPLAY: u32 = 21; pub const FACILITY_UMI: u32 = 22; pub const FACILITY_SXS: u32 = 23; pub const FACILITY_WINDOWS_CE: u32 = 24; pub const FACILITY_HTTP: u32 = 25; pub const FACILITY_USERMODE_COMMONLOG: u32 = 26; pub const FACILITY_WER: u32 = 27; pub const FACILITY_USERMODE_FILTER_MANAGER: u32 = 31; pub const FACILITY_BACKGROUNDCOPY: u32 = 32; pub const FACILITY_CONFIGURATION: u32 = 33; pub const FACILITY_WIA: u32 = 33; pub const FACILITY_STATE_MANAGEMENT: u32 = 34; pub const FACILITY_METADIRECTORY: u32 = 35; pub const FACILITY_WINDOWSUPDATE: u32 = 36; pub const FACILITY_DIRECTORYSERVICE: u32 = 37; pub const FACILITY_GRAPHICS: u32 = 38; pub const FACILITY_SHELL: u32 = 39; pub const FACILITY_NAP: u32 = 39; pub const FACILITY_TPM_SERVICES: u32 = 40; pub const FACILITY_TPM_SOFTWARE: u32 = 41; pub const FACILITY_UI: u32 = 42; pub const FACILITY_XAML: u32 = 43; pub const FACILITY_ACTION_QUEUE: u32 = 44; pub const FACILITY_PLA: u32 = 48; pub const FACILITY_WINDOWS_SETUP: u32 = 48; pub const FACILITY_FVE: u32 = 49; pub const FACILITY_FWP: u32 = 50; pub const FACILITY_WINRM: u32 = 51; pub const FACILITY_NDIS: u32 = 52; pub const FACILITY_USERMODE_HYPERVISOR: u32 = 53; pub const FACILITY_CMI: u32 = 54; pub const FACILITY_USERMODE_VIRTUALIZATION: u32 = 55; pub const FACILITY_USERMODE_VOLMGR: u32 = 56; pub const FACILITY_BCD: u32 = 57; pub const FACILITY_USERMODE_VHD: u32 = 58; pub const FACILITY_USERMODE_HNS: u32 = 59; pub const FACILITY_SDIAG: u32 = 60; pub const FACILITY_WEBSERVICES: u32 = 61; pub const FACILITY_WINPE: u32 = 61; pub const FACILITY_WPN: u32 = 62; pub const FACILITY_WINDOWS_STORE: u32 = 63; pub const FACILITY_INPUT: u32 = 64; pub const FACILITY_EAP: u32 = 66; pub const FACILITY_WINDOWS_DEFENDER: u32 = 80; pub const FACILITY_OPC: u32 = 81; pub const FACILITY_XPS: u32 = 82; pub const FACILITY_MBN: u32 = 84; pub const FACILITY_POWERSHELL: u32 = 84; pub const FACILITY_RAS: u32 = 83; pub const FACILITY_P2P_INT: u32 = 98; pub const FACILITY_P2P: u32 = 99; pub const FACILITY_DAF: u32 = 100; pub const FACILITY_BLUETOOTH_ATT: u32 = 101; pub const FACILITY_AUDIO: u32 = 102; pub const FACILITY_STATEREPOSITORY: u32 = 103; pub const FACILITY_VISUALCPP: u32 = 109; pub const FACILITY_SCRIPT: u32 = 112; pub const FACILITY_PARSE: u32 = 113; pub const FACILITY_BLB: u32 = 120; pub const FACILITY_BLB_CLI: u32 = 121; pub const FACILITY_WSBAPP: u32 = 122; pub const FACILITY_BLBUI: u32 = 128; pub const FACILITY_USN: u32 = 129; pub const FACILITY_USERMODE_VOLSNAP: u32 = 130; pub const FACILITY_TIERING: u32 = 131; pub const FACILITY_WSB_ONLINE: u32 = 133; pub const FACILITY_ONLINE_ID: u32 = 134; pub const FACILITY_DEVICE_UPDATE_AGENT: u32 = 135; pub const FACILITY_DRVSERVICING: u32 = 136; pub const FACILITY_DLS: u32 = 153; pub const FACILITY_DELIVERY_OPTIMIZATION: u32 = 208; pub const FACILITY_USERMODE_SPACES: u32 = 231; pub const FACILITY_USER_MODE_SECURITY_CORE: u32 = 232; pub const FACILITY_USERMODE_LICENSING: u32 = 234; pub const FACILITY_SOS: u32 = 160; pub const FACILITY_DEBUGGERS: u32 = 176; pub const FACILITY_SPP: u32 = 256; pub const FACILITY_RESTORE: u32 = 256; pub const FACILITY_DMSERVER: u32 = 256; pub const FACILITY_DEPLOYMENT_SERVICES_SERVER: u32 = 257; pub const FACILITY_DEPLOYMENT_SERVICES_IMAGING: u32 = 258; pub const FACILITY_DEPLOYMENT_SERVICES_MANAGEMENT: u32 = 259; pub const FACILITY_DEPLOYMENT_SERVICES_UTIL: u32 = 260; pub const FACILITY_DEPLOYMENT_SERVICES_BINLSVC: u32 = 261; pub const FACILITY_DEPLOYMENT_SERVICES_PXE: u32 = 263; pub const FACILITY_DEPLOYMENT_SERVICES_TFTP: u32 = 264; pub const FACILITY_DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT: u32 = 272; pub const FACILITY_DEPLOYMENT_SERVICES_DRIVER_PROVISIONING: u32 = 278; pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_SERVER: u32 = 289; pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_CLIENT: u32 = 290; pub const FACILITY_DEPLOYMENT_SERVICES_CONTENT_PROVIDER: u32 = 293; pub const FACILITY_LINGUISTIC_SERVICES: u32 = 305; pub const FACILITY_AUDIOSTREAMING: u32 = 1094; pub const FACILITY_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_LEAP: u32 = 2184; pub const FACILITY_AUDCLNT: u32 = 2185; pub const FACILITY_WINCODEC_DWRITE_DWM: u32 = 2200; pub const FACILITY_WINML: u32 = 2192; pub const FACILITY_DIRECT2D: u32 = 2201; pub const FACILITY_DEFRAG: u32 = 2304; pub const FACILITY_USERMODE_SDBUS: u32 = 2305; pub const FACILITY_JSCRIPT: u32 = 2306; pub const FACILITY_PIDGENX: u32 = 2561; pub const FACILITY_EAS: u32 = 85; pub const FACILITY_WEB: u32 = 885; pub const FACILITY_WEB_SOCKET: u32 = 886; pub const FACILITY_MOBILE: u32 = 1793; pub const FACILITY_SQLITE: u32 = 1967; pub const FACILITY_UTC: u32 = 1989; pub const FACILITY_WEP: u32 = 2049; pub const FACILITY_SYNCENGINE: u32 = 2050; pub const FACILITY_XBOX: u32 = 2339; pub const FACILITY_GAME: u32 = 2340; pub const FACILITY_PIX: u32 = 2748; pub const ERROR_SUCCESS: u32 = 0; pub const NO_ERROR: u32 = 0; pub const ERROR_INVALID_FUNCTION: u32 = 1; pub const ERROR_FILE_NOT_FOUND: u32 = 2; pub const ERROR_PATH_NOT_FOUND: u32 = 3; pub const ERROR_TOO_MANY_OPEN_FILES: u32 = 4; pub const ERROR_ACCESS_DENIED: u32 = 5; pub const ERROR_INVALID_HANDLE: u32 = 6; pub const ERROR_ARENA_TRASHED: u32 = 7; pub const ERROR_NOT_ENOUGH_MEMORY: u32 = 8; pub const ERROR_INVALID_BLOCK: u32 = 9; pub const ERROR_BAD_ENVIRONMENT: u32 = 10; pub const ERROR_BAD_FORMAT: u32 = 11; pub const ERROR_INVALID_ACCESS: u32 = 12; pub const ERROR_INVALID_DATA: u32 = 13; pub const ERROR_OUTOFMEMORY: u32 = 14; pub const ERROR_INVALID_DRIVE: u32 = 15; pub const ERROR_CURRENT_DIRECTORY: u32 = 16; pub const ERROR_NOT_SAME_DEVICE: u32 = 17; pub const ERROR_NO_MORE_FILES: u32 = 18; pub const ERROR_WRITE_PROTECT: u32 = 19; pub const ERROR_BAD_UNIT: u32 = 20; pub const ERROR_NOT_READY: u32 = 21; pub const ERROR_BAD_COMMAND: u32 = 22; pub const ERROR_CRC: u32 = 23; pub const ERROR_BAD_LENGTH: u32 = 24; pub const ERROR_SEEK: u32 = 25; pub const ERROR_NOT_DOS_DISK: u32 = 26; pub const ERROR_SECTOR_NOT_FOUND: u32 = 27; pub const ERROR_OUT_OF_PAPER: u32 = 28; pub const ERROR_WRITE_FAULT: u32 = 29; pub const ERROR_READ_FAULT: u32 = 30; pub const ERROR_GEN_FAILURE: u32 = 31; pub const ERROR_SHARING_VIOLATION: u32 = 32; pub const ERROR_LOCK_VIOLATION: u32 = 33; pub const ERROR_WRONG_DISK: u32 = 34; pub const ERROR_SHARING_BUFFER_EXCEEDED: u32 = 36; pub const ERROR_HANDLE_EOF: u32 = 38; pub const ERROR_HANDLE_DISK_FULL: u32 = 39; pub const ERROR_NOT_SUPPORTED: u32 = 50; pub const ERROR_REM_NOT_LIST: u32 = 51; pub const ERROR_DUP_NAME: u32 = 52; pub const ERROR_BAD_NETPATH: u32 = 53; pub const ERROR_NETWORK_BUSY: u32 = 54; pub const ERROR_DEV_NOT_EXIST: u32 = 55; pub const ERROR_TOO_MANY_CMDS: u32 = 56; pub const ERROR_ADAP_HDW_ERR: u32 = 57; pub const ERROR_BAD_NET_RESP: u32 = 58; pub const ERROR_UNEXP_NET_ERR: u32 = 59; pub const ERROR_BAD_REM_ADAP: u32 = 60; pub const ERROR_PRINTQ_FULL: u32 = 61; pub const ERROR_NO_SPOOL_SPACE: u32 = 62; pub const ERROR_PRINT_CANCELLED: u32 = 63; pub const ERROR_NETNAME_DELETED: u32 = 64; pub const ERROR_NETWORK_ACCESS_DENIED: u32 = 65; pub const ERROR_BAD_DEV_TYPE: u32 = 66; pub const ERROR_BAD_NET_NAME: u32 = 67; pub const ERROR_TOO_MANY_NAMES: u32 = 68; pub const ERROR_TOO_MANY_SESS: u32 = 69; pub const ERROR_SHARING_PAUSED: u32 = 70; pub const ERROR_REQ_NOT_ACCEP: u32 = 71; pub const ERROR_REDIR_PAUSED: u32 = 72; pub const ERROR_FILE_EXISTS: u32 = 80; pub const ERROR_CANNOT_MAKE: u32 = 82; pub const ERROR_FAIL_I24: u32 = 83; pub const ERROR_OUT_OF_STRUCTURES: u32 = 84; pub const ERROR_ALREADY_ASSIGNED: u32 = 85; pub const ERROR_INVALID_PASSWORD: u32 = 86; pub const ERROR_INVALID_PARAMETER: u32 = 87; pub const ERROR_NET_WRITE_FAULT: u32 = 88; pub const ERROR_NO_PROC_SLOTS: u32 = 89; pub const ERROR_TOO_MANY_SEMAPHORES: u32 = 100; pub const ERROR_EXCL_SEM_ALREADY_OWNED: u32 = 101; pub const ERROR_SEM_IS_SET: u32 = 102; pub const ERROR_TOO_MANY_SEM_REQUESTS: u32 = 103; pub const ERROR_INVALID_AT_INTERRUPT_TIME: u32 = 104; pub const ERROR_SEM_OWNER_DIED: u32 = 105; pub const ERROR_SEM_USER_LIMIT: u32 = 106; pub const ERROR_DISK_CHANGE: u32 = 107; pub const ERROR_DRIVE_LOCKED: u32 = 108; pub const ERROR_BROKEN_PIPE: u32 = 109; pub const ERROR_OPEN_FAILED: u32 = 110; pub const ERROR_BUFFER_OVERFLOW: u32 = 111; pub const ERROR_DISK_FULL: u32 = 112; pub const ERROR_NO_MORE_SEARCH_HANDLES: u32 = 113; pub const ERROR_INVALID_TARGET_HANDLE: u32 = 114; pub const ERROR_INVALID_CATEGORY: u32 = 117; pub const ERROR_INVALID_VERIFY_SWITCH: u32 = 118; pub const ERROR_BAD_DRIVER_LEVEL: u32 = 119; pub const ERROR_CALL_NOT_IMPLEMENTED: u32 = 120; pub const ERROR_SEM_TIMEOUT: u32 = 121; pub const ERROR_INSUFFICIENT_BUFFER: u32 = 122; pub const ERROR_INVALID_NAME: u32 = 123; pub const ERROR_INVALID_LEVEL: u32 = 124; pub const ERROR_NO_VOLUME_LABEL: u32 = 125; pub const ERROR_MOD_NOT_FOUND: u32 = 126; pub const ERROR_PROC_NOT_FOUND: u32 = 127; pub const ERROR_WAIT_NO_CHILDREN: u32 = 128; pub const ERROR_CHILD_NOT_COMPLETE: u32 = 129; pub const ERROR_DIRECT_ACCESS_HANDLE: u32 = 130; pub const ERROR_NEGATIVE_SEEK: u32 = 131; pub const ERROR_SEEK_ON_DEVICE: u32 = 132; pub const ERROR_IS_JOIN_TARGET: u32 = 133; pub const ERROR_IS_JOINED: u32 = 134; pub const ERROR_IS_SUBSTED: u32 = 135; pub const ERROR_NOT_JOINED: u32 = 136; pub const ERROR_NOT_SUBSTED: u32 = 137; pub const ERROR_JOIN_TO_JOIN: u32 = 138; pub const ERROR_SUBST_TO_SUBST: u32 = 139; pub const ERROR_JOIN_TO_SUBST: u32 = 140; pub const ERROR_SUBST_TO_JOIN: u32 = 141; pub const ERROR_BUSY_DRIVE: u32 = 142; pub const ERROR_SAME_DRIVE: u32 = 143; pub const ERROR_DIR_NOT_ROOT: u32 = 144; pub const ERROR_DIR_NOT_EMPTY: u32 = 145; pub const ERROR_IS_SUBST_PATH: u32 = 146; pub const ERROR_IS_JOIN_PATH: u32 = 147; pub const ERROR_PATH_BUSY: u32 = 148; pub const ERROR_IS_SUBST_TARGET: u32 = 149; pub const ERROR_SYSTEM_TRACE: u32 = 150; pub const ERROR_INVALID_EVENT_COUNT: u32 = 151; pub const ERROR_TOO_MANY_MUXWAITERS: u32 = 152; pub const ERROR_INVALID_LIST_FORMAT: u32 = 153; pub const ERROR_LABEL_TOO_LONG: u32 = 154; pub const ERROR_TOO_MANY_TCBS: u32 = 155; pub const ERROR_SIGNAL_REFUSED: u32 = 156; pub const ERROR_DISCARDED: u32 = 157; pub const ERROR_NOT_LOCKED: u32 = 158; pub const ERROR_BAD_THREADID_ADDR: u32 = 159; pub const ERROR_BAD_ARGUMENTS: u32 = 160; pub const ERROR_BAD_PATHNAME: u32 = 161; pub const ERROR_SIGNAL_PENDING: u32 = 162; pub const ERROR_MAX_THRDS_REACHED: u32 = 164; pub const ERROR_LOCK_FAILED: u32 = 167; pub const ERROR_BUSY: u32 = 170; pub const ERROR_DEVICE_SUPPORT_IN_PROGRESS: u32 = 171; pub const ERROR_CANCEL_VIOLATION: u32 = 173; pub const ERROR_ATOMIC_LOCKS_NOT_SUPPORTED: u32 = 174; pub const ERROR_INVALID_SEGMENT_NUMBER: u32 = 180; pub const ERROR_INVALID_ORDINAL: u32 = 182; pub const ERROR_ALREADY_EXISTS: u32 = 183; pub const ERROR_INVALID_FLAG_NUMBER: u32 = 186; pub const ERROR_SEM_NOT_FOUND: u32 = 187; pub const ERROR_INVALID_STARTING_CODESEG: u32 = 188; pub const ERROR_INVALID_STACKSEG: u32 = 189; pub const ERROR_INVALID_MODULETYPE: u32 = 190; pub const ERROR_INVALID_EXE_SIGNATURE: u32 = 191; pub const ERROR_EXE_MARKED_INVALID: u32 = 192; pub const ERROR_BAD_EXE_FORMAT: u32 = 193; pub const ERROR_ITERATED_DATA_EXCEEDS_64k: u32 = 194; pub const ERROR_INVALID_MINALLOCSIZE: u32 = 195; pub const ERROR_DYNLINK_FROM_INVALID_RING: u32 = 196; pub const ERROR_IOPL_NOT_ENABLED: u32 = 197; pub const ERROR_INVALID_SEGDPL: u32 = 198; pub const ERROR_AUTODATASEG_EXCEEDS_64k: u32 = 199; pub const ERROR_RING2SEG_MUST_BE_MOVABLE: u32 = 200; pub const ERROR_RELOC_CHAIN_XEEDS_SEGLIM: u32 = 201; pub const ERROR_INFLOOP_IN_RELOC_CHAIN: u32 = 202; pub const ERROR_ENVVAR_NOT_FOUND: u32 = 203; pub const ERROR_NO_SIGNAL_SENT: u32 = 205; pub const ERROR_FILENAME_EXCED_RANGE: u32 = 206; pub const ERROR_RING2_STACK_IN_USE: u32 = 207; pub const ERROR_META_EXPANSION_TOO_LONG: u32 = 208; pub const ERROR_INVALID_SIGNAL_NUMBER: u32 = 209; pub const ERROR_THREAD_1_INACTIVE: u32 = 210; pub const ERROR_LOCKED: u32 = 212; pub const ERROR_TOO_MANY_MODULES: u32 = 214; pub const ERROR_NESTING_NOT_ALLOWED: u32 = 215; pub const ERROR_EXE_MACHINE_TYPE_MISMATCH: u32 = 216; pub const ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY: u32 = 217; pub const ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY: u32 = 218; pub const ERROR_FILE_CHECKED_OUT: u32 = 220; pub const ERROR_CHECKOUT_REQUIRED: u32 = 221; pub const ERROR_BAD_FILE_TYPE: u32 = 222; pub const ERROR_FILE_TOO_LARGE: u32 = 223; pub const ERROR_FORMS_AUTH_REQUIRED: u32 = 224; pub const ERROR_VIRUS_INFECTED: u32 = 225; pub const ERROR_VIRUS_DELETED: u32 = 226; pub const ERROR_PIPE_LOCAL: u32 = 229; pub const ERROR_BAD_PIPE: u32 = 230; pub const ERROR_PIPE_BUSY: u32 = 231; pub const ERROR_NO_DATA: u32 = 232; pub const ERROR_PIPE_NOT_CONNECTED: u32 = 233; pub const ERROR_MORE_DATA: u32 = 234; pub const ERROR_NO_WORK_DONE: u32 = 235; pub const ERROR_VC_DISCONNECTED: u32 = 240; pub const ERROR_INVALID_EA_NAME: u32 = 254; pub const ERROR_EA_LIST_INCONSISTENT: u32 = 255; pub const WAIT_TIMEOUT: u32 = 258; pub const ERROR_NO_MORE_ITEMS: u32 = 259; pub const ERROR_CANNOT_COPY: u32 = 266; pub const ERROR_DIRECTORY: u32 = 267; pub const ERROR_EAS_DIDNT_FIT: u32 = 275; pub const ERROR_EA_FILE_CORRUPT: u32 = 276; pub const ERROR_EA_TABLE_FULL: u32 = 277; pub const ERROR_INVALID_EA_HANDLE: u32 = 278; pub const ERROR_EAS_NOT_SUPPORTED: u32 = 282; pub const ERROR_NOT_OWNER: u32 = 288; pub const ERROR_TOO_MANY_POSTS: u32 = 298; pub const ERROR_PARTIAL_COPY: u32 = 299; pub const ERROR_OPLOCK_NOT_GRANTED: u32 = 300; pub const ERROR_INVALID_OPLOCK_PROTOCOL: u32 = 301; pub const ERROR_DISK_TOO_FRAGMENTED: u32 = 302; pub const ERROR_DELETE_PENDING: u32 = 303; pub const ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING: u32 = 304; pub const ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME: u32 = 305; pub const ERROR_SECURITY_STREAM_IS_INCONSISTENT: u32 = 306; pub const ERROR_INVALID_LOCK_RANGE: u32 = 307; pub const ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT: u32 = 308; pub const ERROR_NOTIFICATION_GUID_ALREADY_DEFINED: u32 = 309; pub const ERROR_INVALID_EXCEPTION_HANDLER: u32 = 310; pub const ERROR_DUPLICATE_PRIVILEGES: u32 = 311; pub const ERROR_NO_RANGES_PROCESSED: u32 = 312; pub const ERROR_NOT_ALLOWED_ON_SYSTEM_FILE: u32 = 313; pub const ERROR_DISK_RESOURCES_EXHAUSTED: u32 = 314; pub const ERROR_INVALID_TOKEN: u32 = 315; pub const ERROR_DEVICE_FEATURE_NOT_SUPPORTED: u32 = 316; pub const ERROR_MR_MID_NOT_FOUND: u32 = 317; pub const ERROR_SCOPE_NOT_FOUND: u32 = 318; pub const ERROR_UNDEFINED_SCOPE: u32 = 319; pub const ERROR_INVALID_CAP: u32 = 320; pub const ERROR_DEVICE_UNREACHABLE: u32 = 321; pub const ERROR_DEVICE_NO_RESOURCES: u32 = 322; pub const ERROR_DATA_CHECKSUM_ERROR: u32 = 323; pub const ERROR_INTERMIXED_KERNEL_EA_OPERATION: u32 = 324; pub const ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED: u32 = 326; pub const ERROR_OFFSET_ALIGNMENT_VIOLATION: u32 = 327; pub const ERROR_INVALID_FIELD_IN_PARAMETER_LIST: u32 = 328; pub const ERROR_OPERATION_IN_PROGRESS: u32 = 329; pub const ERROR_BAD_DEVICE_PATH: u32 = 330; pub const ERROR_TOO_MANY_DESCRIPTORS: u32 = 331; pub const ERROR_SCRUB_DATA_DISABLED: u32 = 332; pub const ERROR_NOT_REDUNDANT_STORAGE: u32 = 333; pub const ERROR_RESIDENT_FILE_NOT_SUPPORTED: u32 = 334; pub const ERROR_COMPRESSED_FILE_NOT_SUPPORTED: u32 = 335; pub const ERROR_DIRECTORY_NOT_SUPPORTED: u32 = 336; pub const ERROR_NOT_READ_FROM_COPY: u32 = 337; pub const ERROR_FT_WRITE_FAILURE: u32 = 338; pub const ERROR_FT_DI_SCAN_REQUIRED: u32 = 339; pub const ERROR_INVALID_KERNEL_INFO_VERSION: u32 = 340; pub const ERROR_INVALID_PEP_INFO_VERSION: u32 = 341; pub const ERROR_OBJECT_NOT_EXTERNALLY_BACKED: u32 = 342; pub const ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN: u32 = 343; pub const ERROR_COMPRESSION_NOT_BENEFICIAL: u32 = 344; pub const ERROR_STORAGE_TOPOLOGY_ID_MISMATCH: u32 = 345; pub const ERROR_BLOCKED_BY_PARENTAL_CONTROLS: u32 = 346; pub const ERROR_BLOCK_TOO_MANY_REFERENCES: u32 = 347; pub const ERROR_MARKED_TO_DISALLOW_WRITES: u32 = 348; pub const ERROR_ENCLAVE_FAILURE: u32 = 349; pub const ERROR_FAIL_NOACTION_REBOOT: u32 = 350; pub const ERROR_FAIL_SHUTDOWN: u32 = 351; pub const ERROR_FAIL_RESTART: u32 = 352; pub const ERROR_MAX_SESSIONS_REACHED: u32 = 353; pub const ERROR_NETWORK_ACCESS_DENIED_EDP: u32 = 354; pub const ERROR_DEVICE_HINT_NAME_BUFFER_TOO_SMALL: u32 = 355; pub const ERROR_EDP_POLICY_DENIES_OPERATION: u32 = 356; pub const ERROR_EDP_DPL_POLICY_CANT_BE_SATISFIED: u32 = 357; pub const ERROR_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT: u32 = 358; pub const ERROR_DEVICE_IN_MAINTENANCE: u32 = 359; pub const ERROR_NOT_SUPPORTED_ON_DAX: u32 = 360; pub const ERROR_DAX_MAPPING_EXISTS: u32 = 361; pub const ERROR_CLOUD_FILE_PROVIDER_NOT_RUNNING: u32 = 362; pub const ERROR_CLOUD_FILE_METADATA_CORRUPT: u32 = 363; pub const ERROR_CLOUD_FILE_METADATA_TOO_LARGE: u32 = 364; pub const ERROR_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE: u32 = 365; pub const ERROR_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH: u32 = 366; pub const ERROR_CHILD_PROCESS_BLOCKED: u32 = 367; pub const ERROR_STORAGE_LOST_DATA_PERSISTENCE: u32 = 368; pub const ERROR_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE: u32 = 369; pub const ERROR_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT: u32 = 370; pub const ERROR_FILE_SYSTEM_VIRTUALIZATION_BUSY: u32 = 371; pub const ERROR_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN: u32 = 372; pub const ERROR_GDI_HANDLE_LEAK: u32 = 373; pub const ERROR_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS: u32 = 374; pub const ERROR_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED: u32 = 375; pub const ERROR_NOT_A_CLOUD_FILE: u32 = 376; pub const ERROR_CLOUD_FILE_NOT_IN_SYNC: u32 = 377; pub const ERROR_CLOUD_FILE_ALREADY_CONNECTED: u32 = 378; pub const ERROR_CLOUD_FILE_NOT_SUPPORTED: u32 = 379; pub const ERROR_CLOUD_FILE_INVALID_REQUEST: u32 = 380; pub const ERROR_CLOUD_FILE_READ_ONLY_VOLUME: u32 = 381; pub const ERROR_CLOUD_FILE_CONNECTED_PROVIDER_ONLY: u32 = 382; pub const ERROR_CLOUD_FILE_VALIDATION_FAILED: u32 = 383; pub const ERROR_SMB1_NOT_AVAILABLE: u32 = 384; pub const ERROR_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION: u32 = 385; pub const ERROR_CLOUD_FILE_AUTHENTICATION_FAILED: u32 = 386; pub const ERROR_CLOUD_FILE_INSUFFICIENT_RESOURCES: u32 = 387; pub const ERROR_CLOUD_FILE_NETWORK_UNAVAILABLE: u32 = 388; pub const ERROR_CLOUD_FILE_UNSUCCESSFUL: u32 = 389; pub const ERROR_CLOUD_FILE_NOT_UNDER_SYNC_ROOT: u32 = 390; pub const ERROR_CLOUD_FILE_IN_USE: u32 = 391; pub const ERROR_CLOUD_FILE_PINNED: u32 = 392; pub const ERROR_CLOUD_FILE_REQUEST_ABORTED: u32 = 393; pub const ERROR_CLOUD_FILE_PROPERTY_CORRUPT: u32 = 394; pub const ERROR_CLOUD_FILE_ACCESS_DENIED: u32 = 395; pub const ERROR_CLOUD_FILE_INCOMPATIBLE_HARDLINKS: u32 = 396; pub const ERROR_CLOUD_FILE_PROPERTY_LOCK_CONFLICT: u32 = 397; pub const ERROR_CLOUD_FILE_REQUEST_CANCELED: u32 = 398; pub const ERROR_EXTERNAL_SYSKEY_NOT_SUPPORTED: u32 = 399; pub const ERROR_THREAD_MODE_ALREADY_BACKGROUND: u32 = 400; pub const ERROR_THREAD_MODE_NOT_BACKGROUND: u32 = 401; pub const ERROR_PROCESS_MODE_ALREADY_BACKGROUND: u32 = 402; pub const ERROR_PROCESS_MODE_NOT_BACKGROUND: u32 = 403; pub const ERROR_CLOUD_FILE_PROVIDER_TERMINATED: u32 = 404; pub const ERROR_NOT_A_CLOUD_SYNC_ROOT: u32 = 405; pub const ERROR_FILE_PROTECTED_UNDER_DPL: u32 = 406; pub const ERROR_VOLUME_NOT_CLUSTER_ALIGNED: u32 = 407; pub const ERROR_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND: u32 = 408; pub const ERROR_APPX_FILE_NOT_ENCRYPTED: u32 = 409; pub const ERROR_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED: u32 = 410; pub const ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET: u32 = 411; pub const ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE: u32 = 412; pub const ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER: u32 = 413; pub const ERROR_LINUX_SUBSYSTEM_NOT_PRESENT: u32 = 414; pub const ERROR_FT_READ_FAILURE: u32 = 415; pub const ERROR_STORAGE_RESERVE_ID_INVALID: u32 = 416; pub const ERROR_STORAGE_RESERVE_DOES_NOT_EXIST: u32 = 417; pub const ERROR_STORAGE_RESERVE_ALREADY_EXISTS: u32 = 418; pub const ERROR_STORAGE_RESERVE_NOT_EMPTY: u32 = 419; pub const ERROR_NOT_A_DAX_VOLUME: u32 = 420; pub const ERROR_NOT_DAX_MAPPABLE: u32 = 421; pub const ERROR_TIME_SENSITIVE_THREAD: u32 = 422; pub const ERROR_DPL_NOT_SUPPORTED_FOR_USER: u32 = 423; pub const ERROR_CASE_DIFFERING_NAMES_IN_DIR: u32 = 424; pub const ERROR_FILE_NOT_SUPPORTED: u32 = 425; pub const ERROR_CLOUD_FILE_REQUEST_TIMEOUT: u32 = 426; pub const ERROR_NO_TASK_QUEUE: u32 = 427; pub const ERROR_SRC_SRV_DLL_LOAD_FAILED: u32 = 428; pub const ERROR_NOT_SUPPORTED_WITH_BTT: u32 = 429; pub const ERROR_ENCRYPTION_DISABLED: u32 = 430; pub const ERROR_ENCRYPTING_METADATA_DISALLOWED: u32 = 431; pub const ERROR_CANT_CLEAR_ENCRYPTION_FLAG: u32 = 432; pub const ERROR_NO_SUCH_DEVICE: u32 = 433; pub const ERROR_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_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_VRF_CFG_ENABLED: u32 = 1183; pub const ERROR_PARTITION_TERMINATING: u32 = 1184; pub const ERROR_USER_PROFILE_LOAD: u32 = 500; pub const ERROR_ARITHMETIC_OVERFLOW: u32 = 534; pub const ERROR_PIPE_CONNECTED: u32 = 535; pub const ERROR_PIPE_LISTENING: u32 = 536; pub const ERROR_VERIFIER_STOP: u32 = 537; pub const ERROR_ABIOS_ERROR: u32 = 538; pub const ERROR_WX86_WARNING: u32 = 539; pub const ERROR_WX86_ERROR: u32 = 540; pub const ERROR_TIMER_NOT_CANCELED: u32 = 541; pub const ERROR_UNWIND: u32 = 542; pub const ERROR_BAD_STACK: u32 = 543; pub const ERROR_INVALID_UNWIND_TARGET: u32 = 544; pub const ERROR_INVALID_PORT_ATTRIBUTES: u32 = 545; pub const ERROR_PORT_MESSAGE_TOO_LONG: u32 = 546; pub const ERROR_INVALID_QUOTA_LOWER: u32 = 547; pub const ERROR_DEVICE_ALREADY_ATTACHED: u32 = 548; pub const ERROR_INSTRUCTION_MISALIGNMENT: u32 = 549; pub const ERROR_PROFILING_NOT_STARTED: u32 = 550; pub const ERROR_PROFILING_NOT_STOPPED: u32 = 551; pub const ERROR_COULD_NOT_INTERPRET: u32 = 552; pub const ERROR_PROFILING_AT_LIMIT: u32 = 553; pub const ERROR_CANT_WAIT: u32 = 554; pub const ERROR_CANT_TERMINATE_SELF: u32 = 555; pub const ERROR_UNEXPECTED_MM_CREATE_ERR: u32 = 556; pub const ERROR_UNEXPECTED_MM_MAP_ERROR: u32 = 557; pub const ERROR_UNEXPECTED_MM_EXTEND_ERR: u32 = 558; pub const ERROR_BAD_FUNCTION_TABLE: u32 = 559; pub const ERROR_NO_GUID_TRANSLATION: u32 = 560; pub const ERROR_INVALID_LDT_SIZE: u32 = 561; pub const ERROR_INVALID_LDT_OFFSET: u32 = 563; pub const ERROR_INVALID_LDT_DESCRIPTOR: u32 = 564; pub const ERROR_TOO_MANY_THREADS: u32 = 565; pub const ERROR_THREAD_NOT_IN_PROCESS: u32 = 566; pub const ERROR_PAGEFILE_QUOTA_EXCEEDED: u32 = 567; pub const ERROR_LOGON_SERVER_CONFLICT: u32 = 568; pub const ERROR_SYNCHRONIZATION_REQUIRED: u32 = 569; pub const ERROR_NET_OPEN_FAILED: u32 = 570; pub const ERROR_IO_PRIVILEGE_FAILED: u32 = 571; pub const ERROR_CONTROL_C_EXIT: u32 = 572; pub const ERROR_MISSING_SYSTEMFILE: u32 = 573; pub const ERROR_UNHANDLED_EXCEPTION: u32 = 574; pub const ERROR_APP_INIT_FAILURE: u32 = 575; pub const ERROR_PAGEFILE_CREATE_FAILED: u32 = 576; pub const ERROR_INVALID_IMAGE_HASH: u32 = 577; pub const ERROR_NO_PAGEFILE: u32 = 578; pub const ERROR_ILLEGAL_FLOAT_CONTEXT: u32 = 579; pub const ERROR_NO_EVENT_PAIR: u32 = 580; pub const ERROR_DOMAIN_CTRLR_CONFIG_ERROR: u32 = 581; pub const ERROR_ILLEGAL_CHARACTER: u32 = 582; pub const ERROR_UNDEFINED_CHARACTER: u32 = 583; pub const ERROR_FLOPPY_VOLUME: u32 = 584; pub const ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT: u32 = 585; pub const ERROR_BACKUP_CONTROLLER: u32 = 586; pub const ERROR_MUTANT_LIMIT_EXCEEDED: u32 = 587; pub const ERROR_FS_DRIVER_REQUIRED: u32 = 588; pub const ERROR_CANNOT_LOAD_REGISTRY_FILE: u32 = 589; pub const ERROR_DEBUG_ATTACH_FAILED: u32 = 590; pub const ERROR_SYSTEM_PROCESS_TERMINATED: u32 = 591; pub const ERROR_DATA_NOT_ACCEPTED: u32 = 592; pub const ERROR_VDM_HARD_ERROR: u32 = 593; pub const ERROR_DRIVER_CANCEL_TIMEOUT: u32 = 594; pub const ERROR_REPLY_MESSAGE_MISMATCH: u32 = 595; pub const ERROR_LOST_WRITEBEHIND_DATA: u32 = 596; pub const ERROR_CLIENT_SERVER_PARAMETERS_INVALID: u32 = 597; pub const ERROR_NOT_TINY_STREAM: u32 = 598; pub const ERROR_STACK_OVERFLOW_READ: u32 = 599; pub const ERROR_CONVERT_TO_LARGE: u32 = 600; pub const ERROR_FOUND_OUT_OF_SCOPE: u32 = 601; pub const ERROR_ALLOCATE_BUCKET: u32 = 602; pub const ERROR_MARSHALL_OVERFLOW: u32 = 603; pub const ERROR_INVALID_VARIANT: u32 = 604; pub const ERROR_BAD_COMPRESSION_BUFFER: u32 = 605; pub const ERROR_AUDIT_FAILED: u32 = 606; pub const ERROR_TIMER_RESOLUTION_NOT_SET: u32 = 607; pub const ERROR_INSUFFICIENT_LOGON_INFO: u32 = 608; pub const ERROR_BAD_DLL_ENTRYPOINT: u32 = 609; pub const ERROR_BAD_SERVICE_ENTRYPOINT: u32 = 610; pub const ERROR_IP_ADDRESS_CONFLICT1: u32 = 611; pub const ERROR_IP_ADDRESS_CONFLICT2: u32 = 612; pub const ERROR_REGISTRY_QUOTA_LIMIT: u32 = 613; pub const ERROR_NO_CALLBACK_ACTIVE: u32 = 614; pub const ERROR_PWD_TOO_SHORT: u32 = 615; pub const ERROR_PWD_TOO_RECENT: u32 = 616; pub const ERROR_PWD_HISTORY_CONFLICT: u32 = 617; pub const ERROR_UNSUPPORTED_COMPRESSION: u32 = 618; pub const ERROR_INVALID_HW_PROFILE: u32 = 619; pub const ERROR_INVALID_PLUGPLAY_DEVICE_PATH: u32 = 620; pub const ERROR_QUOTA_LIST_INCONSISTENT: u32 = 621; pub const ERROR_EVALUATION_EXPIRATION: u32 = 622; pub const ERROR_ILLEGAL_DLL_RELOCATION: u32 = 623; pub const ERROR_DLL_INIT_FAILED_LOGOFF: u32 = 624; pub const ERROR_VALIDATE_CONTINUE: u32 = 625; pub const ERROR_NO_MORE_MATCHES: u32 = 626; pub const ERROR_RANGE_LIST_CONFLICT: u32 = 627; pub const ERROR_SERVER_SID_MISMATCH: u32 = 628; pub const ERROR_CANT_ENABLE_DENY_ONLY: u32 = 629; pub const ERROR_FLOAT_MULTIPLE_FAULTS: u32 = 630; pub const ERROR_FLOAT_MULTIPLE_TRAPS: u32 = 631; pub const ERROR_NOINTERFACE: u32 = 632; pub const ERROR_DRIVER_FAILED_SLEEP: u32 = 633; pub const ERROR_CORRUPT_SYSTEM_FILE: u32 = 634; pub const ERROR_COMMITMENT_MINIMUM: u32 = 635; pub const ERROR_PNP_RESTART_ENUMERATION: u32 = 636; pub const ERROR_SYSTEM_IMAGE_BAD_SIGNATURE: u32 = 637; pub const ERROR_PNP_REBOOT_REQUIRED: u32 = 638; pub const ERROR_INSUFFICIENT_POWER: u32 = 639; pub const ERROR_MULTIPLE_FAULT_VIOLATION: u32 = 640; pub const ERROR_SYSTEM_SHUTDOWN: u32 = 641; pub const ERROR_PORT_NOT_SET: u32 = 642; pub const ERROR_DS_VERSION_CHECK_FAILURE: u32 = 643; pub const ERROR_RANGE_NOT_FOUND: u32 = 644; pub const ERROR_NOT_SAFE_MODE_DRIVER: u32 = 646; pub const ERROR_FAILED_DRIVER_ENTRY: u32 = 647; pub const ERROR_DEVICE_ENUMERATION_ERROR: u32 = 648; pub const ERROR_MOUNT_POINT_NOT_RESOLVED: u32 = 649; pub const ERROR_INVALID_DEVICE_OBJECT_PARAMETER: u32 = 650; pub const ERROR_MCA_OCCURED: u32 = 651; pub const ERROR_DRIVER_DATABASE_ERROR: u32 = 652; pub const ERROR_SYSTEM_HIVE_TOO_LARGE: u32 = 653; pub const ERROR_DRIVER_FAILED_PRIOR_UNLOAD: u32 = 654; pub const ERROR_VOLSNAP_PREPARE_HIBERNATE: u32 = 655; pub const ERROR_HIBERNATION_FAILURE: u32 = 656; pub const ERROR_PWD_TOO_LONG: u32 = 657; pub const ERROR_FILE_SYSTEM_LIMITATION: u32 = 665; pub const ERROR_ASSERTION_FAILURE: u32 = 668; pub const ERROR_ACPI_ERROR: u32 = 669; pub const ERROR_WOW_ASSERTION: u32 = 670; pub const ERROR_PNP_BAD_MPS_TABLE: u32 = 671; pub const ERROR_PNP_TRANSLATION_FAILED: u32 = 672; pub const ERROR_PNP_IRQ_TRANSLATION_FAILED: u32 = 673; pub const ERROR_PNP_INVALID_ID: u32 = 674; pub const ERROR_WAKE_SYSTEM_DEBUGGER: u32 = 675; pub const ERROR_HANDLES_CLOSED: u32 = 676; pub const ERROR_EXTRANEOUS_INFORMATION: u32 = 677; pub const ERROR_RXACT_COMMIT_NECESSARY: u32 = 678; pub const ERROR_MEDIA_CHECK: u32 = 679; pub const ERROR_GUID_SUBSTITUTION_MADE: u32 = 680; pub const ERROR_STOPPED_ON_SYMLINK: u32 = 681; pub const ERROR_LONGJUMP: u32 = 682; pub const ERROR_PLUGPLAY_QUERY_VETOED: u32 = 683; pub const ERROR_UNWIND_CONSOLIDATE: u32 = 684; pub const ERROR_REGISTRY_HIVE_RECOVERED: u32 = 685; pub const ERROR_DLL_MIGHT_BE_INSECURE: u32 = 686; pub const ERROR_DLL_MIGHT_BE_INCOMPATIBLE: u32 = 687; pub const ERROR_DBG_EXCEPTION_NOT_HANDLED: u32 = 688; pub const ERROR_DBG_REPLY_LATER: u32 = 689; pub const ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE: u32 = 690; pub const ERROR_DBG_TERMINATE_THREAD: u32 = 691; pub const ERROR_DBG_TERMINATE_PROCESS: u32 = 692; pub const ERROR_DBG_CONTROL_C: u32 = 693; pub const ERROR_DBG_PRINTEXCEPTION_C: u32 = 694; pub const ERROR_DBG_RIPEXCEPTION: u32 = 695; pub const ERROR_DBG_CONTROL_BREAK: u32 = 696; pub const ERROR_DBG_COMMAND_EXCEPTION: u32 = 697; pub const ERROR_OBJECT_NAME_EXISTS: u32 = 698; pub const ERROR_THREAD_WAS_SUSPENDED: u32 = 699; pub const ERROR_IMAGE_NOT_AT_BASE: u32 = 700; pub const ERROR_RXACT_STATE_CREATED: u32 = 701; pub const ERROR_SEGMENT_NOTIFICATION: u32 = 702; pub const ERROR_BAD_CURRENT_DIRECTORY: u32 = 703; pub const ERROR_FT_READ_RECOVERY_FROM_BACKUP: u32 = 704; pub const ERROR_FT_WRITE_RECOVERY: u32 = 705; pub const ERROR_IMAGE_MACHINE_TYPE_MISMATCH: u32 = 706; pub const ERROR_RECEIVE_PARTIAL: u32 = 707; pub const ERROR_RECEIVE_EXPEDITED: u32 = 708; pub const ERROR_RECEIVE_PARTIAL_EXPEDITED: u32 = 709; pub const ERROR_EVENT_DONE: u32 = 710; pub const ERROR_EVENT_PENDING: u32 = 711; pub const ERROR_CHECKING_FILE_SYSTEM: u32 = 712; pub const ERROR_FATAL_APP_EXIT: u32 = 713; pub const ERROR_PREDEFINED_HANDLE: u32 = 714; pub const ERROR_WAS_UNLOCKED: u32 = 715; pub const ERROR_SERVICE_NOTIFICATION: u32 = 716; pub const ERROR_WAS_LOCKED: u32 = 717; pub const ERROR_LOG_HARD_ERROR: u32 = 718; pub const ERROR_ALREADY_WIN32: u32 = 719; pub const ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE: u32 = 720; pub const ERROR_NO_YIELD_PERFORMED: u32 = 721; pub const ERROR_TIMER_RESUME_IGNORED: u32 = 722; pub const ERROR_ARBITRATION_UNHANDLED: u32 = 723; pub const ERROR_CARDBUS_NOT_SUPPORTED: u32 = 724; pub const ERROR_MP_PROCESSOR_MISMATCH: u32 = 725; pub const ERROR_HIBERNATED: u32 = 726; pub const ERROR_RESUME_HIBERNATION: u32 = 727; pub const ERROR_FIRMWARE_UPDATED: u32 = 728; pub const ERROR_DRIVERS_LEAKING_LOCKED_PAGES: u32 = 729; pub const ERROR_WAKE_SYSTEM: u32 = 730; pub const ERROR_WAIT_1: u32 = 731; pub const ERROR_WAIT_2: u32 = 732; pub const ERROR_WAIT_3: u32 = 733; pub const ERROR_WAIT_63: u32 = 734; pub const ERROR_ABANDONED_WAIT_0: u32 = 735; pub const ERROR_ABANDONED_WAIT_63: u32 = 736; pub const ERROR_USER_APC: u32 = 737; pub const ERROR_KERNEL_APC: u32 = 738; pub const ERROR_ALERTED: u32 = 739; pub const ERROR_ELEVATION_REQUIRED: u32 = 740; pub const ERROR_REPARSE: u32 = 741; pub const ERROR_OPLOCK_BREAK_IN_PROGRESS: u32 = 742; pub const ERROR_VOLUME_MOUNTED: u32 = 743; pub const ERROR_RXACT_COMMITTED: u32 = 744; pub const ERROR_NOTIFY_CLEANUP: u32 = 745; pub const ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED: u32 = 746; pub const ERROR_PAGE_FAULT_TRANSITION: u32 = 747; pub const ERROR_PAGE_FAULT_DEMAND_ZERO: u32 = 748; pub const ERROR_PAGE_FAULT_COPY_ON_WRITE: u32 = 749; pub const ERROR_PAGE_FAULT_GUARD_PAGE: u32 = 750; pub const ERROR_PAGE_FAULT_PAGING_FILE: u32 = 751; pub const ERROR_CACHE_PAGE_LOCKED: u32 = 752; pub const ERROR_CRASH_DUMP: u32 = 753; pub const ERROR_BUFFER_ALL_ZEROS: u32 = 754; pub const ERROR_REPARSE_OBJECT: u32 = 755; pub const ERROR_RESOURCE_REQUIREMENTS_CHANGED: u32 = 756; pub const ERROR_TRANSLATION_COMPLETE: u32 = 757; pub const ERROR_NOTHING_TO_TERMINATE: u32 = 758; pub const ERROR_PROCESS_NOT_IN_JOB: u32 = 759; pub const ERROR_PROCESS_IN_JOB: u32 = 760; pub const ERROR_VOLSNAP_HIBERNATE_READY: u32 = 761; pub const ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY: u32 = 762; pub const ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED: u32 = 763; pub const ERROR_INTERRUPT_STILL_CONNECTED: u32 = 764; pub const ERROR_WAIT_FOR_OPLOCK: u32 = 765; pub const ERROR_DBG_EXCEPTION_HANDLED: u32 = 766; pub const ERROR_DBG_CONTINUE: u32 = 767; pub const ERROR_CALLBACK_POP_STACK: u32 = 768; pub const ERROR_COMPRESSION_DISABLED: u32 = 769; pub const ERROR_CANTFETCHBACKWARDS: u32 = 770; pub const ERROR_CANTSCROLLBACKWARDS: u32 = 771; pub const ERROR_ROWSNOTRELEASED: u32 = 772; pub const ERROR_BAD_ACCESSOR_FLAGS: u32 = 773; pub const ERROR_ERRORS_ENCOUNTERED: u32 = 774; pub const ERROR_NOT_CAPABLE: u32 = 775; pub const ERROR_REQUEST_OUT_OF_SEQUENCE: u32 = 776; pub const ERROR_VERSION_PARSE_ERROR: u32 = 777; pub const ERROR_BADSTARTPOSITION: u32 = 778; pub const ERROR_MEMORY_HARDWARE: u32 = 779; pub const ERROR_DISK_REPAIR_DISABLED: u32 = 780; pub const ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE: u32 = 781; pub const ERROR_SYSTEM_POWERSTATE_TRANSITION: u32 = 782; pub const ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION: u32 = 783; pub const ERROR_MCA_EXCEPTION: u32 = 784; pub const ERROR_ACCESS_AUDIT_BY_POLICY: u32 = 785; pub const ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY: u32 = 786; pub const ERROR_ABANDON_HIBERFILE: u32 = 787; pub const ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED: u32 = 788; pub const ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR: u32 = 789; pub const ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR: u32 = 790; pub const ERROR_BAD_MCFG_TABLE: u32 = 791; pub const ERROR_DISK_REPAIR_REDIRECTED: u32 = 792; pub const ERROR_DISK_REPAIR_UNSUCCESSFUL: u32 = 793; pub const ERROR_CORRUPT_LOG_OVERFULL: u32 = 794; pub const ERROR_CORRUPT_LOG_CORRUPTED: u32 = 795; pub const ERROR_CORRUPT_LOG_UNAVAILABLE: u32 = 796; pub const ERROR_CORRUPT_LOG_DELETED_FULL: u32 = 797; pub const ERROR_CORRUPT_LOG_CLEARED: u32 = 798; pub const ERROR_ORPHAN_NAME_EXHAUSTED: u32 = 799; pub const ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE: u32 = 800; pub const ERROR_CANNOT_GRANT_REQUESTED_OPLOCK: u32 = 801; pub const ERROR_CANNOT_BREAK_OPLOCK: u32 = 802; pub const ERROR_OPLOCK_HANDLE_CLOSED: u32 = 803; pub const ERROR_NO_ACE_CONDITION: u32 = 804; pub const ERROR_INVALID_ACE_CONDITION: u32 = 805; pub const ERROR_FILE_HANDLE_REVOKED: u32 = 806; pub const ERROR_IMAGE_AT_DIFFERENT_BASE: u32 = 807; pub const ERROR_ENCRYPTED_IO_NOT_POSSIBLE: u32 = 808; pub const ERROR_FILE_METADATA_OPTIMIZATION_IN_PROGRESS: u32 = 809; pub const ERROR_QUOTA_ACTIVITY: u32 = 810; pub const ERROR_HANDLE_REVOKED: u32 = 811; pub const ERROR_CALLBACK_INVOKE_INLINE: u32 = 812; pub const ERROR_CPU_SET_INVALID: u32 = 813; pub const ERROR_ENCLAVE_NOT_TERMINATED: u32 = 814; pub const ERROR_ENCLAVE_VIOLATION: u32 = 815; pub const ERROR_EA_ACCESS_DENIED: u32 = 994; pub const ERROR_OPERATION_ABORTED: u32 = 995; pub const ERROR_IO_INCOMPLETE: u32 = 996; pub const ERROR_IO_PENDING: u32 = 997; pub const ERROR_NOACCESS: u32 = 998; pub const ERROR_SWAPERROR: u32 = 999; pub const ERROR_STACK_OVERFLOW: u32 = 1001; pub const ERROR_INVALID_MESSAGE: u32 = 1002; pub const ERROR_CAN_NOT_COMPLETE: u32 = 1003; pub const ERROR_INVALID_FLAGS: u32 = 1004; pub const ERROR_UNRECOGNIZED_VOLUME: u32 = 1005; pub const ERROR_FILE_INVALID: u32 = 1006; pub const ERROR_FULLSCREEN_MODE: u32 = 1007; pub const ERROR_NO_TOKEN: u32 = 1008; pub const ERROR_BADDB: u32 = 1009; pub const ERROR_BADKEY: u32 = 1010; pub const ERROR_CANTOPEN: u32 = 1011; pub const ERROR_CANTREAD: u32 = 1012; pub const ERROR_CANTWRITE: u32 = 1013; pub const ERROR_REGISTRY_RECOVERED: u32 = 1014; pub const ERROR_REGISTRY_CORRUPT: u32 = 1015; pub const ERROR_REGISTRY_IO_FAILED: u32 = 1016; pub const ERROR_NOT_REGISTRY_FILE: u32 = 1017; pub const ERROR_KEY_DELETED: u32 = 1018; pub const ERROR_NO_LOG_SPACE: u32 = 1019; pub const ERROR_KEY_HAS_CHILDREN: u32 = 1020; pub const ERROR_CHILD_MUST_BE_VOLATILE: u32 = 1021; pub const ERROR_NOTIFY_ENUM_DIR: u32 = 1022; pub const ERROR_DEPENDENT_SERVICES_RUNNING: u32 = 1051; pub const ERROR_INVALID_SERVICE_CONTROL: u32 = 1052; pub const ERROR_SERVICE_REQUEST_TIMEOUT: u32 = 1053; pub const ERROR_SERVICE_NO_THREAD: u32 = 1054; pub const ERROR_SERVICE_DATABASE_LOCKED: u32 = 1055; pub const ERROR_SERVICE_ALREADY_RUNNING: u32 = 1056; pub const ERROR_INVALID_SERVICE_ACCOUNT: u32 = 1057; pub const ERROR_SERVICE_DISABLED: u32 = 1058; pub const ERROR_CIRCULAR_DEPENDENCY: u32 = 1059; pub const ERROR_SERVICE_DOES_NOT_EXIST: u32 = 1060; pub const ERROR_SERVICE_CANNOT_ACCEPT_CTRL: u32 = 1061; pub const ERROR_SERVICE_NOT_ACTIVE: u32 = 1062; pub const ERROR_FAILED_SERVICE_CONTROLLER_CONNECT: u32 = 1063; pub const ERROR_EXCEPTION_IN_SERVICE: u32 = 1064; pub const ERROR_DATABASE_DOES_NOT_EXIST: u32 = 1065; pub const ERROR_SERVICE_SPECIFIC_ERROR: u32 = 1066; pub const ERROR_PROCESS_ABORTED: u32 = 1067; pub const ERROR_SERVICE_DEPENDENCY_FAIL: u32 = 1068; pub const ERROR_SERVICE_LOGON_FAILED: u32 = 1069; pub const ERROR_SERVICE_START_HANG: u32 = 1070; pub const ERROR_INVALID_SERVICE_LOCK: u32 = 1071; pub const ERROR_SERVICE_MARKED_FOR_DELETE: u32 = 1072; pub const ERROR_SERVICE_EXISTS: u32 = 1073; pub const ERROR_ALREADY_RUNNING_LKG: u32 = 1074; pub const ERROR_SERVICE_DEPENDENCY_DELETED: u32 = 1075; pub const ERROR_BOOT_ALREADY_ACCEPTED: u32 = 1076; pub const ERROR_SERVICE_NEVER_STARTED: u32 = 1077; pub const ERROR_DUPLICATE_SERVICE_NAME: u32 = 1078; pub const ERROR_DIFFERENT_SERVICE_ACCOUNT: u32 = 1079; pub const ERROR_CANNOT_DETECT_DRIVER_FAILURE: u32 = 1080; pub const ERROR_CANNOT_DETECT_PROCESS_ABORT: u32 = 1081; pub const ERROR_NO_RECOVERY_PROGRAM: u32 = 1082; pub const ERROR_SERVICE_NOT_IN_EXE: u32 = 1083; pub const ERROR_NOT_SAFEBOOT_SERVICE: u32 = 1084; pub const ERROR_END_OF_MEDIA: u32 = 1100; pub const ERROR_FILEMARK_DETECTED: u32 = 1101; pub const ERROR_BEGINNING_OF_MEDIA: u32 = 1102; pub const ERROR_SETMARK_DETECTED: u32 = 1103; pub const ERROR_NO_DATA_DETECTED: u32 = 1104; pub const ERROR_PARTITION_FAILURE: u32 = 1105; pub const ERROR_INVALID_BLOCK_LENGTH: u32 = 1106; pub const ERROR_DEVICE_NOT_PARTITIONED: u32 = 1107; pub const ERROR_UNABLE_TO_LOCK_MEDIA: u32 = 1108; pub const ERROR_UNABLE_TO_UNLOAD_MEDIA: u32 = 1109; pub const ERROR_MEDIA_CHANGED: u32 = 1110; pub const ERROR_BUS_RESET: u32 = 1111; pub const ERROR_NO_MEDIA_IN_DRIVE: u32 = 1112; pub const ERROR_NO_UNICODE_TRANSLATION: u32 = 1113; pub const ERROR_DLL_INIT_FAILED: u32 = 1114; pub const ERROR_SHUTDOWN_IN_PROGRESS: u32 = 1115; pub const ERROR_NO_SHUTDOWN_IN_PROGRESS: u32 = 1116; pub const ERROR_IO_DEVICE: u32 = 1117; pub const ERROR_SERIAL_NO_DEVICE: u32 = 1118; pub const ERROR_IRQ_BUSY: u32 = 1119; pub const ERROR_MORE_WRITES: u32 = 1120; pub const ERROR_COUNTER_TIMEOUT: u32 = 1121; pub const ERROR_FLOPPY_ID_MARK_NOT_FOUND: u32 = 1122; pub const ERROR_FLOPPY_WRONG_CYLINDER: u32 = 1123; pub const ERROR_FLOPPY_UNKNOWN_ERROR: u32 = 1124; pub const ERROR_FLOPPY_BAD_REGISTERS: u32 = 1125; pub const ERROR_DISK_RECALIBRATE_FAILED: u32 = 1126; pub const ERROR_DISK_OPERATION_FAILED: u32 = 1127; pub const ERROR_DISK_RESET_FAILED: u32 = 1128; pub const ERROR_EOM_OVERFLOW: u32 = 1129; pub const ERROR_NOT_ENOUGH_SERVER_MEMORY: u32 = 1130; pub const ERROR_POSSIBLE_DEADLOCK: u32 = 1131; pub const ERROR_MAPPED_ALIGNMENT: u32 = 1132; pub const ERROR_SET_POWER_STATE_VETOED: u32 = 1140; pub const ERROR_SET_POWER_STATE_FAILED: u32 = 1141; pub const ERROR_TOO_MANY_LINKS: u32 = 1142; pub const ERROR_OLD_WIN_VERSION: u32 = 1150; pub const ERROR_APP_WRONG_OS: u32 = 1151; pub const ERROR_SINGLE_INSTANCE_APP: u32 = 1152; pub const ERROR_RMODE_APP: u32 = 1153; pub const ERROR_INVALID_DLL: u32 = 1154; pub const ERROR_NO_ASSOCIATION: u32 = 1155; pub const ERROR_DDE_FAIL: u32 = 1156; pub const ERROR_DLL_NOT_FOUND: u32 = 1157; pub const ERROR_NO_MORE_USER_HANDLES: u32 = 1158; pub const ERROR_MESSAGE_SYNC_ONLY: u32 = 1159; pub const ERROR_SOURCE_ELEMENT_EMPTY: u32 = 1160; pub const ERROR_DESTINATION_ELEMENT_FULL: u32 = 1161; pub const ERROR_ILLEGAL_ELEMENT_ADDRESS: u32 = 1162; pub const ERROR_MAGAZINE_NOT_PRESENT: u32 = 1163; pub const ERROR_DEVICE_REINITIALIZATION_NEEDED: u32 = 1164; pub const ERROR_DEVICE_REQUIRES_CLEANING: u32 = 1165; pub const ERROR_DEVICE_DOOR_OPEN: u32 = 1166; pub const ERROR_DEVICE_NOT_CONNECTED: u32 = 1167; pub const ERROR_NOT_FOUND: u32 = 1168; pub const ERROR_NO_MATCH: u32 = 1169; pub const ERROR_SET_NOT_FOUND: u32 = 1170; pub const ERROR_POINT_NOT_FOUND: u32 = 1171; pub const ERROR_NO_TRACKING_SERVICE: u32 = 1172; pub const ERROR_NO_VOLUME_ID: u32 = 1173; pub const ERROR_UNABLE_TO_REMOVE_REPLACED: u32 = 1175; pub const ERROR_UNABLE_TO_MOVE_REPLACEMENT: u32 = 1176; pub const ERROR_UNABLE_TO_MOVE_REPLACEMENT_2: u32 = 1177; pub const ERROR_JOURNAL_DELETE_IN_PROGRESS: u32 = 1178; pub const ERROR_JOURNAL_NOT_ACTIVE: u32 = 1179; pub const ERROR_POTENTIAL_FILE_FOUND: u32 = 1180; pub const ERROR_JOURNAL_ENTRY_DELETED: u32 = 1181; pub const ERROR_SHUTDOWN_IS_SCHEDULED: u32 = 1190; pub const ERROR_SHUTDOWN_USERS_LOGGED_ON: u32 = 1191; pub const ERROR_BAD_DEVICE: u32 = 1200; pub const ERROR_CONNECTION_UNAVAIL: u32 = 1201; pub const ERROR_DEVICE_ALREADY_REMEMBERED: u32 = 1202; pub const ERROR_NO_NET_OR_BAD_PATH: u32 = 1203; pub const ERROR_BAD_PROVIDER: u32 = 1204; pub const ERROR_CANNOT_OPEN_PROFILE: u32 = 1205; pub const ERROR_BAD_PROFILE: u32 = 1206; pub const ERROR_NOT_CONTAINER: u32 = 1207; pub const ERROR_EXTENDED_ERROR: u32 = 1208; pub const ERROR_INVALID_GROUPNAME: u32 = 1209; pub const ERROR_INVALID_COMPUTERNAME: u32 = 1210; pub const ERROR_INVALID_EVENTNAME: u32 = 1211; pub const ERROR_INVALID_DOMAINNAME: u32 = 1212; pub const ERROR_INVALID_SERVICENAME: u32 = 1213; pub const ERROR_INVALID_NETNAME: u32 = 1214; pub const ERROR_INVALID_SHARENAME: u32 = 1215; pub const ERROR_INVALID_PASSWORDNAME: u32 = 1216; pub const ERROR_INVALID_MESSAGENAME: u32 = 1217; pub const ERROR_INVALID_MESSAGEDEST: u32 = 1218; pub const ERROR_SESSION_CREDENTIAL_CONFLICT: u32 = 1219; pub const ERROR_REMOTE_SESSION_LIMIT_EXCEEDED: u32 = 1220; pub const ERROR_DUP_DOMAINNAME: u32 = 1221; pub const ERROR_NO_NETWORK: u32 = 1222; pub const ERROR_CANCELLED: u32 = 1223; pub const ERROR_USER_MAPPED_FILE: u32 = 1224; pub const ERROR_CONNECTION_REFUSED: u32 = 1225; pub const ERROR_GRACEFUL_DISCONNECT: u32 = 1226; pub const ERROR_ADDRESS_ALREADY_ASSOCIATED: u32 = 1227; pub const ERROR_ADDRESS_NOT_ASSOCIATED: u32 = 1228; pub const ERROR_CONNECTION_INVALID: u32 = 1229; pub const ERROR_CONNECTION_ACTIVE: u32 = 1230; pub const ERROR_NETWORK_UNREACHABLE: u32 = 1231; pub const ERROR_HOST_UNREACHABLE: u32 = 1232; pub const ERROR_PROTOCOL_UNREACHABLE: u32 = 1233; pub const ERROR_PORT_UNREACHABLE: u32 = 1234; pub const ERROR_REQUEST_ABORTED: u32 = 1235; pub const ERROR_CONNECTION_ABORTED: u32 = 1236; pub const ERROR_RETRY: u32 = 1237; pub const ERROR_CONNECTION_COUNT_LIMIT: u32 = 1238; pub const ERROR_LOGIN_TIME_RESTRICTION: u32 = 1239; pub const ERROR_LOGIN_WKSTA_RESTRICTION: u32 = 1240; pub const ERROR_INCORRECT_ADDRESS: u32 = 1241; pub const ERROR_ALREADY_REGISTERED: u32 = 1242; pub const ERROR_SERVICE_NOT_FOUND: u32 = 1243; pub const ERROR_NOT_AUTHENTICATED: u32 = 1244; pub const ERROR_NOT_LOGGED_ON: u32 = 1245; pub const ERROR_CONTINUE: u32 = 1246; pub const ERROR_ALREADY_INITIALIZED: u32 = 1247; pub const ERROR_NO_MORE_DEVICES: u32 = 1248; pub const ERROR_NO_SUCH_SITE: u32 = 1249; pub const ERROR_DOMAIN_CONTROLLER_EXISTS: u32 = 1250; pub const ERROR_ONLY_IF_CONNECTED: u32 = 1251; pub const ERROR_OVERRIDE_NOCHANGES: u32 = 1252; pub const ERROR_BAD_USER_PROFILE: u32 = 1253; pub const ERROR_NOT_SUPPORTED_ON_SBS: u32 = 1254; pub const ERROR_SERVER_SHUTDOWN_IN_PROGRESS: u32 = 1255; pub const ERROR_HOST_DOWN: u32 = 1256; pub const ERROR_NON_ACCOUNT_SID: u32 = 1257; pub const ERROR_NON_DOMAIN_SID: u32 = 1258; pub const ERROR_APPHELP_BLOCK: u32 = 1259; pub const ERROR_ACCESS_DISABLED_BY_POLICY: u32 = 1260; pub const ERROR_REG_NAT_CONSUMPTION: u32 = 1261; pub const ERROR_CSCSHARE_OFFLINE: u32 = 1262; pub const ERROR_PKINIT_FAILURE: u32 = 1263; pub const ERROR_SMARTCARD_SUBSYSTEM_FAILURE: u32 = 1264; pub const ERROR_DOWNGRADE_DETECTED: u32 = 1265; pub const ERROR_MACHINE_LOCKED: u32 = 1271; pub const ERROR_SMB_GUEST_LOGON_BLOCKED: u32 = 1272; pub const ERROR_CALLBACK_SUPPLIED_INVALID_DATA: u32 = 1273; pub const ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED: u32 = 1274; pub const ERROR_DRIVER_BLOCKED: u32 = 1275; pub const ERROR_INVALID_IMPORT_OF_NON_DLL: u32 = 1276; pub const ERROR_ACCESS_DISABLED_WEBBLADE: u32 = 1277; pub const ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER: u32 = 1278; pub const ERROR_RECOVERY_FAILURE: u32 = 1279; pub const ERROR_ALREADY_FIBER: u32 = 1280; pub const ERROR_ALREADY_THREAD: u32 = 1281; pub const ERROR_STACK_BUFFER_OVERRUN: u32 = 1282; pub const ERROR_PARAMETER_QUOTA_EXCEEDED: u32 = 1283; pub const ERROR_DEBUGGER_INACTIVE: u32 = 1284; pub const ERROR_DELAY_LOAD_FAILED: u32 = 1285; pub const ERROR_VDM_DISALLOWED: u32 = 1286; pub const ERROR_UNIDENTIFIED_ERROR: u32 = 1287; pub const ERROR_INVALID_CRUNTIME_PARAMETER: u32 = 1288; pub const ERROR_BEYOND_VDL: u32 = 1289; pub const ERROR_INCOMPATIBLE_SERVICE_SID_TYPE: u32 = 1290; pub const ERROR_DRIVER_PROCESS_TERMINATED: u32 = 1291; pub const ERROR_IMPLEMENTATION_LIMIT: u32 = 1292; pub const ERROR_PROCESS_IS_PROTECTED: u32 = 1293; pub const ERROR_SERVICE_NOTIFY_CLIENT_LAGGING: u32 = 1294; pub const ERROR_DISK_QUOTA_EXCEEDED: u32 = 1295; pub const ERROR_CONTENT_BLOCKED: u32 = 1296; pub const ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE: u32 = 1297; pub const ERROR_APP_HANG: u32 = 1298; pub const ERROR_INVALID_LABEL: u32 = 1299; pub const ERROR_NOT_ALL_ASSIGNED: u32 = 1300; pub const ERROR_SOME_NOT_MAPPED: u32 = 1301; pub const ERROR_NO_QUOTAS_FOR_ACCOUNT: u32 = 1302; pub const ERROR_LOCAL_USER_SESSION_KEY: u32 = 1303; pub const ERROR_NULL_LM_PASSWORD: u32 = 1304; pub const ERROR_UNKNOWN_REVISION: u32 = 1305; pub const ERROR_REVISION_MISMATCH: u32 = 1306; pub const ERROR_INVALID_OWNER: u32 = 1307; pub const ERROR_INVALID_PRIMARY_GROUP: u32 = 1308; pub const ERROR_NO_IMPERSONATION_TOKEN: u32 = 1309; pub const ERROR_CANT_DISABLE_MANDATORY: u32 = 1310; pub const ERROR_NO_LOGON_SERVERS: u32 = 1311; pub const ERROR_NO_SUCH_LOGON_SESSION: u32 = 1312; pub const ERROR_NO_SUCH_PRIVILEGE: u32 = 1313; pub const ERROR_PRIVILEGE_NOT_HELD: u32 = 1314; pub const ERROR_INVALID_ACCOUNT_NAME: u32 = 1315; pub const ERROR_USER_EXISTS: u32 = 1316; pub const ERROR_NO_SUCH_USER: u32 = 1317; pub const ERROR_GROUP_EXISTS: u32 = 1318; pub const ERROR_NO_SUCH_GROUP: u32 = 1319; pub const ERROR_MEMBER_IN_GROUP: u32 = 1320; pub const ERROR_MEMBER_NOT_IN_GROUP: u32 = 1321; pub const ERROR_LAST_ADMIN: u32 = 1322; pub const ERROR_WRONG_PASSWORD: u32 = 1323; pub const ERROR_ILL_FORMED_PASSWORD: u32 = 1324; pub const ERROR_PASSWORD_RESTRICTION: u32 = 1325; pub const ERROR_LOGON_FAILURE: u32 = 1326; pub const ERROR_ACCOUNT_RESTRICTION: u32 = 1327; pub const ERROR_INVALID_LOGON_HOURS: u32 = 1328; pub const ERROR_INVALID_WORKSTATION: u32 = 1329; pub const ERROR_PASSWORD_EXPIRED: u32 = 1330; pub const ERROR_ACCOUNT_DISABLED: u32 = 1331; pub const ERROR_NONE_MAPPED: u32 = 1332; pub const ERROR_TOO_MANY_LUIDS_REQUESTED: u32 = 1333; pub const ERROR_LUIDS_EXHAUSTED: u32 = 1334; pub const ERROR_INVALID_SUB_AUTHORITY: u32 = 1335; pub const ERROR_INVALID_ACL: u32 = 1336; pub const ERROR_INVALID_SID: u32 = 1337; pub const ERROR_INVALID_SECURITY_DESCR: u32 = 1338; pub const ERROR_BAD_INHERITANCE_ACL: u32 = 1340; pub const ERROR_SERVER_DISABLED: u32 = 1341; pub const ERROR_SERVER_NOT_DISABLED: u32 = 1342; pub const ERROR_INVALID_ID_AUTHORITY: u32 = 1343; pub const ERROR_ALLOTTED_SPACE_EXCEEDED: u32 = 1344; pub const ERROR_INVALID_GROUP_ATTRIBUTES: u32 = 1345; pub const ERROR_BAD_IMPERSONATION_LEVEL: u32 = 1346; pub const ERROR_CANT_OPEN_ANONYMOUS: u32 = 1347; pub const ERROR_BAD_VALIDATION_CLASS: u32 = 1348; pub const ERROR_BAD_TOKEN_TYPE: u32 = 1349; pub const ERROR_NO_SECURITY_ON_OBJECT: u32 = 1350; pub const ERROR_CANT_ACCESS_DOMAIN_INFO: u32 = 1351; pub const ERROR_INVALID_SERVER_STATE: u32 = 1352; pub const ERROR_INVALID_DOMAIN_STATE: u32 = 1353; pub const ERROR_INVALID_DOMAIN_ROLE: u32 = 1354; pub const ERROR_NO_SUCH_DOMAIN: u32 = 1355; pub const ERROR_DOMAIN_EXISTS: u32 = 1356; pub const ERROR_DOMAIN_LIMIT_EXCEEDED: u32 = 1357; pub const ERROR_INTERNAL_DB_CORRUPTION: u32 = 1358; pub const ERROR_INTERNAL_ERROR: u32 = 1359; pub const ERROR_GENERIC_NOT_MAPPED: u32 = 1360; pub const ERROR_BAD_DESCRIPTOR_FORMAT: u32 = 1361; pub const ERROR_NOT_LOGON_PROCESS: u32 = 1362; pub const ERROR_LOGON_SESSION_EXISTS: u32 = 1363; pub const ERROR_NO_SUCH_PACKAGE: u32 = 1364; pub const ERROR_BAD_LOGON_SESSION_STATE: u32 = 1365; pub const ERROR_LOGON_SESSION_COLLISION: u32 = 1366; pub const ERROR_INVALID_LOGON_TYPE: u32 = 1367; pub const ERROR_CANNOT_IMPERSONATE: u32 = 1368; pub const ERROR_RXACT_INVALID_STATE: u32 = 1369; pub const ERROR_RXACT_COMMIT_FAILURE: u32 = 1370; pub const ERROR_SPECIAL_ACCOUNT: u32 = 1371; pub const ERROR_SPECIAL_GROUP: u32 = 1372; pub const ERROR_SPECIAL_USER: u32 = 1373; pub const ERROR_MEMBERS_PRIMARY_GROUP: u32 = 1374; pub const ERROR_TOKEN_ALREADY_IN_USE: u32 = 1375; pub const ERROR_NO_SUCH_ALIAS: u32 = 1376; pub const ERROR_MEMBER_NOT_IN_ALIAS: u32 = 1377; pub const ERROR_MEMBER_IN_ALIAS: u32 = 1378; pub const ERROR_ALIAS_EXISTS: u32 = 1379; pub const ERROR_LOGON_NOT_GRANTED: u32 = 1380; pub const ERROR_TOO_MANY_SECRETS: u32 = 1381; pub const ERROR_SECRET_TOO_LONG: u32 = 1382; pub const ERROR_INTERNAL_DB_ERROR: u32 = 1383; pub const ERROR_TOO_MANY_CONTEXT_IDS: u32 = 1384; pub const ERROR_LOGON_TYPE_NOT_GRANTED: u32 = 1385; pub const ERROR_NT_CROSS_ENCRYPTION_REQUIRED: u32 = 1386; pub const ERROR_NO_SUCH_MEMBER: u32 = 1387; pub const ERROR_INVALID_MEMBER: u32 = 1388; pub const ERROR_TOO_MANY_SIDS: u32 = 1389; pub const ERROR_LM_CROSS_ENCRYPTION_REQUIRED: u32 = 1390; pub const ERROR_NO_INHERITANCE: u32 = 1391; pub const ERROR_FILE_CORRUPT: u32 = 1392; pub const ERROR_DISK_CORRUPT: u32 = 1393; pub const ERROR_NO_USER_SESSION_KEY: u32 = 1394; pub const ERROR_LICENSE_QUOTA_EXCEEDED: u32 = 1395; pub const ERROR_WRONG_TARGET_NAME: u32 = 1396; pub const ERROR_MUTUAL_AUTH_FAILED: u32 = 1397; pub const ERROR_TIME_SKEW: u32 = 1398; pub const ERROR_CURRENT_DOMAIN_NOT_ALLOWED: u32 = 1399; pub const ERROR_INVALID_WINDOW_HANDLE: u32 = 1400; pub const ERROR_INVALID_MENU_HANDLE: u32 = 1401; pub const ERROR_INVALID_CURSOR_HANDLE: u32 = 1402; pub const ERROR_INVALID_ACCEL_HANDLE: u32 = 1403; pub const ERROR_INVALID_HOOK_HANDLE: u32 = 1404; pub const ERROR_INVALID_DWP_HANDLE: u32 = 1405; pub const ERROR_TLW_WITH_WSCHILD: u32 = 1406; pub const ERROR_CANNOT_FIND_WND_CLASS: u32 = 1407; pub const ERROR_WINDOW_OF_OTHER_THREAD: u32 = 1408; pub const ERROR_HOTKEY_ALREADY_REGISTERED: u32 = 1409; pub const ERROR_CLASS_ALREADY_EXISTS: u32 = 1410; pub const ERROR_CLASS_DOES_NOT_EXIST: u32 = 1411; pub const ERROR_CLASS_HAS_WINDOWS: u32 = 1412; pub const ERROR_INVALID_INDEX: u32 = 1413; pub const ERROR_INVALID_ICON_HANDLE: u32 = 1414; pub const ERROR_PRIVATE_DIALOG_INDEX: u32 = 1415; pub const ERROR_LISTBOX_ID_NOT_FOUND: u32 = 1416; pub const ERROR_NO_WILDCARD_CHARACTERS: u32 = 1417; pub const ERROR_CLIPBOARD_NOT_OPEN: u32 = 1418; pub const ERROR_HOTKEY_NOT_REGISTERED: u32 = 1419; pub const ERROR_WINDOW_NOT_DIALOG: u32 = 1420; pub const ERROR_CONTROL_ID_NOT_FOUND: u32 = 1421; pub const ERROR_INVALID_COMBOBOX_MESSAGE: u32 = 1422; pub const ERROR_WINDOW_NOT_COMBOBOX: u32 = 1423; pub const ERROR_INVALID_EDIT_HEIGHT: u32 = 1424; pub const ERROR_DC_NOT_FOUND: u32 = 1425; pub const ERROR_INVALID_HOOK_FILTER: u32 = 1426; pub const ERROR_INVALID_FILTER_PROC: u32 = 1427; pub const ERROR_HOOK_NEEDS_HMOD: u32 = 1428; pub const ERROR_GLOBAL_ONLY_HOOK: u32 = 1429; pub const ERROR_JOURNAL_HOOK_SET: u32 = 1430; pub const ERROR_HOOK_NOT_INSTALLED: u32 = 1431; pub const ERROR_INVALID_LB_MESSAGE: u32 = 1432; pub const ERROR_SETCOUNT_ON_BAD_LB: u32 = 1433; pub const ERROR_LB_WITHOUT_TABSTOPS: u32 = 1434; pub const ERROR_DESTROY_OBJECT_OF_OTHER_THREAD: u32 = 1435; pub const ERROR_CHILD_WINDOW_MENU: u32 = 1436; pub const ERROR_NO_SYSTEM_MENU: u32 = 1437; pub const ERROR_INVALID_MSGBOX_STYLE: u32 = 1438; pub const ERROR_INVALID_SPI_VALUE: u32 = 1439; pub const ERROR_SCREEN_ALREADY_LOCKED: u32 = 1440; pub const ERROR_HWNDS_HAVE_DIFF_PARENT: u32 = 1441; pub const ERROR_NOT_CHILD_WINDOW: u32 = 1442; pub const ERROR_INVALID_GW_COMMAND: u32 = 1443; pub const ERROR_INVALID_THREAD_ID: u32 = 1444; pub const ERROR_NON_MDICHILD_WINDOW: u32 = 1445; pub const ERROR_POPUP_ALREADY_ACTIVE: u32 = 1446; pub const ERROR_NO_SCROLLBARS: u32 = 1447; pub const ERROR_INVALID_SCROLLBAR_RANGE: u32 = 1448; pub const ERROR_INVALID_SHOWWIN_COMMAND: u32 = 1449; pub const ERROR_NO_SYSTEM_RESOURCES: u32 = 1450; pub const ERROR_NONPAGED_SYSTEM_RESOURCES: u32 = 1451; pub const ERROR_PAGED_SYSTEM_RESOURCES: u32 = 1452; pub const ERROR_WORKING_SET_QUOTA: u32 = 1453; pub const ERROR_PAGEFILE_QUOTA: u32 = 1454; pub const ERROR_COMMITMENT_LIMIT: u32 = 1455; pub const ERROR_MENU_ITEM_NOT_FOUND: u32 = 1456; pub const ERROR_INVALID_KEYBOARD_HANDLE: u32 = 1457; pub const ERROR_HOOK_TYPE_NOT_ALLOWED: u32 = 1458; pub const ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION: u32 = 1459; pub const ERROR_TIMEOUT: u32 = 1460; pub const ERROR_INVALID_MONITOR_HANDLE: u32 = 1461; pub const ERROR_INCORRECT_SIZE: u32 = 1462; pub const ERROR_SYMLINK_CLASS_DISABLED: u32 = 1463; pub const ERROR_SYMLINK_NOT_SUPPORTED: u32 = 1464; pub const ERROR_XML_PARSE_ERROR: u32 = 1465; pub const ERROR_XMLDSIG_ERROR: u32 = 1466; pub const ERROR_RESTART_APPLICATION: u32 = 1467; pub const ERROR_WRONG_COMPARTMENT: u32 = 1468; pub const ERROR_AUTHIP_FAILURE: u32 = 1469; pub const ERROR_NO_NVRAM_RESOURCES: u32 = 1470; pub const ERROR_NOT_GUI_PROCESS: u32 = 1471; pub const ERROR_EVENTLOG_FILE_CORRUPT: u32 = 1500; pub const ERROR_EVENTLOG_CANT_START: u32 = 1501; pub const ERROR_LOG_FILE_FULL: u32 = 1502; pub const ERROR_EVENTLOG_FILE_CHANGED: u32 = 1503; pub const ERROR_CONTAINER_ASSIGNED: u32 = 1504; pub const ERROR_JOB_NO_CONTAINER: u32 = 1505; pub const ERROR_INVALID_TASK_NAME: u32 = 1550; pub const ERROR_INVALID_TASK_INDEX: u32 = 1551; pub const ERROR_THREAD_ALREADY_IN_TASK: u32 = 1552; pub const ERROR_INSTALL_SERVICE_FAILURE: u32 = 1601; pub const ERROR_INSTALL_USEREXIT: u32 = 1602; pub const ERROR_INSTALL_FAILURE: u32 = 1603; pub const ERROR_INSTALL_SUSPEND: u32 = 1604; pub const ERROR_UNKNOWN_PRODUCT: u32 = 1605; pub const ERROR_UNKNOWN_FEATURE: u32 = 1606; pub const ERROR_UNKNOWN_COMPONENT: u32 = 1607; pub const ERROR_UNKNOWN_PROPERTY: u32 = 1608; pub const ERROR_INVALID_HANDLE_STATE: u32 = 1609; pub const ERROR_BAD_CONFIGURATION: u32 = 1610; pub const ERROR_INDEX_ABSENT: u32 = 1611; pub const ERROR_INSTALL_SOURCE_ABSENT: u32 = 1612; pub const ERROR_INSTALL_PACKAGE_VERSION: u32 = 1613; pub const ERROR_PRODUCT_UNINSTALLED: u32 = 1614; pub const ERROR_BAD_QUERY_SYNTAX: u32 = 1615; pub const ERROR_INVALID_FIELD: u32 = 1616; pub const ERROR_DEVICE_REMOVED: u32 = 1617; pub const ERROR_INSTALL_ALREADY_RUNNING: u32 = 1618; pub const ERROR_INSTALL_PACKAGE_OPEN_FAILED: u32 = 1619; pub const ERROR_INSTALL_PACKAGE_INVALID: u32 = 1620; pub const ERROR_INSTALL_UI_FAILURE: u32 = 1621; pub const ERROR_INSTALL_LOG_FAILURE: u32 = 1622; pub const ERROR_INSTALL_LANGUAGE_UNSUPPORTED: u32 = 1623; pub const ERROR_INSTALL_TRANSFORM_FAILURE: u32 = 1624; pub const ERROR_INSTALL_PACKAGE_REJECTED: u32 = 1625; pub const ERROR_FUNCTION_NOT_CALLED: u32 = 1626; pub const ERROR_FUNCTION_FAILED: u32 = 1627; pub const ERROR_INVALID_TABLE: u32 = 1628; pub const ERROR_DATATYPE_MISMATCH: u32 = 1629; pub const ERROR_UNSUPPORTED_TYPE: u32 = 1630; pub const ERROR_CREATE_FAILED: u32 = 1631; pub const ERROR_INSTALL_TEMP_UNWRITABLE: u32 = 1632; pub const ERROR_INSTALL_PLATFORM_UNSUPPORTED: u32 = 1633; pub const ERROR_INSTALL_NOTUSED: u32 = 1634; pub const ERROR_PATCH_PACKAGE_OPEN_FAILED: u32 = 1635; pub const ERROR_PATCH_PACKAGE_INVALID: u32 = 1636; pub const ERROR_PATCH_PACKAGE_UNSUPPORTED: u32 = 1637; pub const ERROR_PRODUCT_VERSION: u32 = 1638; pub const ERROR_INVALID_COMMAND_LINE: u32 = 1639; pub const ERROR_INSTALL_REMOTE_DISALLOWED: u32 = 1640; pub const ERROR_SUCCESS_REBOOT_INITIATED: u32 = 1641; pub const ERROR_PATCH_TARGET_NOT_FOUND: u32 = 1642; pub const ERROR_PATCH_PACKAGE_REJECTED: u32 = 1643; pub const ERROR_INSTALL_TRANSFORM_REJECTED: u32 = 1644; pub const ERROR_INSTALL_REMOTE_PROHIBITED: u32 = 1645; pub const ERROR_PATCH_REMOVAL_UNSUPPORTED: u32 = 1646; pub const ERROR_UNKNOWN_PATCH: u32 = 1647; pub const ERROR_PATCH_NO_SEQUENCE: u32 = 1648; pub const ERROR_PATCH_REMOVAL_DISALLOWED: u32 = 1649; pub const ERROR_INVALID_PATCH_XML: u32 = 1650; pub const ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT: u32 = 1651; pub const ERROR_INSTALL_SERVICE_SAFEBOOT: u32 = 1652; pub const ERROR_FAIL_FAST_EXCEPTION: u32 = 1653; pub const ERROR_INSTALL_REJECTED: u32 = 1654; pub const ERROR_DYNAMIC_CODE_BLOCKED: u32 = 1655; pub const ERROR_NOT_SAME_OBJECT: u32 = 1656; pub const ERROR_STRICT_CFG_VIOLATION: u32 = 1657; pub const ERROR_SET_CONTEXT_DENIED: u32 = 1660; pub const ERROR_CROSS_PARTITION_VIOLATION: u32 = 1661; pub const RPC_S_INVALID_STRING_BINDING: u32 = 1700; pub const RPC_S_WRONG_KIND_OF_BINDING: u32 = 1701; pub const RPC_S_INVALID_BINDING: u32 = 1702; pub const RPC_S_PROTSEQ_NOT_SUPPORTED: u32 = 1703; pub const RPC_S_INVALID_RPC_PROTSEQ: u32 = 1704; pub const RPC_S_INVALID_STRING_UUID: u32 = 1705; pub const RPC_S_INVALID_ENDPOINT_FORMAT: u32 = 1706; pub const RPC_S_INVALID_NET_ADDR: u32 = 1707; pub const RPC_S_NO_ENDPOINT_FOUND: u32 = 1708; pub const RPC_S_INVALID_TIMEOUT: u32 = 1709; pub const RPC_S_OBJECT_NOT_FOUND: u32 = 1710; pub const RPC_S_ALREADY_REGISTERED: u32 = 1711; pub const RPC_S_TYPE_ALREADY_REGISTERED: u32 = 1712; pub const RPC_S_ALREADY_LISTENING: u32 = 1713; pub const RPC_S_NO_PROTSEQS_REGISTERED: u32 = 1714; pub const RPC_S_NOT_LISTENING: u32 = 1715; pub const RPC_S_UNKNOWN_MGR_TYPE: u32 = 1716; pub const RPC_S_UNKNOWN_IF: u32 = 1717; pub const RPC_S_NO_BINDINGS: u32 = 1718; pub const RPC_S_NO_PROTSEQS: u32 = 1719; pub const RPC_S_CANT_CREATE_ENDPOINT: u32 = 1720; pub const RPC_S_OUT_OF_RESOURCES: u32 = 1721; pub const RPC_S_SERVER_UNAVAILABLE: u32 = 1722; pub const RPC_S_SERVER_TOO_BUSY: u32 = 1723; pub const RPC_S_INVALID_NETWORK_OPTIONS: u32 = 1724; pub const RPC_S_NO_CALL_ACTIVE: u32 = 1725; pub const RPC_S_CALL_FAILED: u32 = 1726; pub const RPC_S_CALL_FAILED_DNE: u32 = 1727; pub const RPC_S_PROTOCOL_ERROR: u32 = 1728; pub const RPC_S_PROXY_ACCESS_DENIED: u32 = 1729; pub const RPC_S_UNSUPPORTED_TRANS_SYN: u32 = 1730; pub const RPC_S_UNSUPPORTED_TYPE: u32 = 1732; pub const RPC_S_INVALID_TAG: u32 = 1733; pub const RPC_S_INVALID_BOUND: u32 = 1734; pub const RPC_S_NO_ENTRY_NAME: u32 = 1735; pub const RPC_S_INVALID_NAME_SYNTAX: u32 = 1736; pub const RPC_S_UNSUPPORTED_NAME_SYNTAX: u32 = 1737; pub const RPC_S_UUID_NO_ADDRESS: u32 = 1739; pub const RPC_S_DUPLICATE_ENDPOINT: u32 = 1740; pub const RPC_S_UNKNOWN_AUTHN_TYPE: u32 = 1741; pub const RPC_S_MAX_CALLS_TOO_SMALL: u32 = 1742; pub const RPC_S_STRING_TOO_LONG: u32 = 1743; pub const RPC_S_PROTSEQ_NOT_FOUND: u32 = 1744; pub const RPC_S_PROCNUM_OUT_OF_RANGE: u32 = 1745; pub const RPC_S_BINDING_HAS_NO_AUTH: u32 = 1746; pub const RPC_S_UNKNOWN_AUTHN_SERVICE: u32 = 1747; pub const RPC_S_UNKNOWN_AUTHN_LEVEL: u32 = 1748; pub const RPC_S_INVALID_AUTH_IDENTITY: u32 = 1749; pub const RPC_S_UNKNOWN_AUTHZ_SERVICE: u32 = 1750; pub const EPT_S_INVALID_ENTRY: u32 = 1751; pub const EPT_S_CANT_PERFORM_OP: u32 = 1752; pub const EPT_S_NOT_REGISTERED: u32 = 1753; pub const RPC_S_NOTHING_TO_EXPORT: u32 = 1754; pub const RPC_S_INCOMPLETE_NAME: u32 = 1755; pub const RPC_S_INVALID_VERS_OPTION: u32 = 1756; pub const RPC_S_NO_MORE_MEMBERS: u32 = 1757; pub const RPC_S_NOT_ALL_OBJS_UNEXPORTED: u32 = 1758; pub const RPC_S_INTERFACE_NOT_FOUND: u32 = 1759; pub const RPC_S_ENTRY_ALREADY_EXISTS: u32 = 1760; pub const RPC_S_ENTRY_NOT_FOUND: u32 = 1761; pub const RPC_S_NAME_SERVICE_UNAVAILABLE: u32 = 1762; pub const RPC_S_INVALID_NAF_ID: u32 = 1763; pub const RPC_S_CANNOT_SUPPORT: u32 = 1764; pub const RPC_S_NO_CONTEXT_AVAILABLE: u32 = 1765; pub const RPC_S_INTERNAL_ERROR: u32 = 1766; pub const RPC_S_ZERO_DIVIDE: u32 = 1767; pub const RPC_S_ADDRESS_ERROR: u32 = 1768; pub const RPC_S_FP_DIV_ZERO: u32 = 1769; pub const RPC_S_FP_UNDERFLOW: u32 = 1770; pub const RPC_S_FP_OVERFLOW: u32 = 1771; pub const RPC_X_NO_MORE_ENTRIES: u32 = 1772; pub const RPC_X_SS_CHAR_TRANS_OPEN_FAIL: u32 = 1773; pub const RPC_X_SS_CHAR_TRANS_SHORT_FILE: u32 = 1774; pub const RPC_X_SS_IN_NULL_CONTEXT: u32 = 1775; pub const RPC_X_SS_CONTEXT_DAMAGED: u32 = 1777; pub const RPC_X_SS_HANDLES_MISMATCH: u32 = 1778; pub const RPC_X_SS_CANNOT_GET_CALL_HANDLE: u32 = 1779; pub const RPC_X_NULL_REF_POINTER: u32 = 1780; pub const RPC_X_ENUM_VALUE_OUT_OF_RANGE: u32 = 1781; pub const RPC_X_BYTE_COUNT_TOO_SMALL: u32 = 1782; pub const RPC_X_BAD_STUB_DATA: u32 = 1783; pub const ERROR_INVALID_USER_BUFFER: u32 = 1784; pub const ERROR_UNRECOGNIZED_MEDIA: u32 = 1785; pub const ERROR_NO_TRUST_LSA_SECRET: u32 = 1786; pub const ERROR_NO_TRUST_SAM_ACCOUNT: u32 = 1787; pub const ERROR_TRUSTED_DOMAIN_FAILURE: u32 = 1788; pub const ERROR_TRUSTED_RELATIONSHIP_FAILURE: u32 = 1789; pub const ERROR_TRUST_FAILURE: u32 = 1790; pub const RPC_S_CALL_IN_PROGRESS: u32 = 1791; pub const ERROR_NETLOGON_NOT_STARTED: u32 = 1792; pub const ERROR_ACCOUNT_EXPIRED: u32 = 1793; pub const ERROR_REDIRECTOR_HAS_OPEN_HANDLES: u32 = 1794; pub const ERROR_PRINTER_DRIVER_ALREADY_INSTALLED: u32 = 1795; pub const ERROR_UNKNOWN_PORT: u32 = 1796; pub const ERROR_UNKNOWN_PRINTER_DRIVER: u32 = 1797; pub const ERROR_UNKNOWN_PRINTPROCESSOR: u32 = 1798; pub const ERROR_INVALID_SEPARATOR_FILE: u32 = 1799; pub const ERROR_INVALID_PRIORITY: u32 = 1800; pub const ERROR_INVALID_PRINTER_NAME: u32 = 1801; pub const ERROR_PRINTER_ALREADY_EXISTS: u32 = 1802; pub const ERROR_INVALID_PRINTER_COMMAND: u32 = 1803; pub const ERROR_INVALID_DATATYPE: u32 = 1804; pub const ERROR_INVALID_ENVIRONMENT: u32 = 1805; pub const RPC_S_NO_MORE_BINDINGS: u32 = 1806; pub const ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT: u32 = 1807; pub const ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT: u32 = 1808; pub const ERROR_NOLOGON_SERVER_TRUST_ACCOUNT: u32 = 1809; pub const ERROR_DOMAIN_TRUST_INCONSISTENT: u32 = 1810; pub const ERROR_SERVER_HAS_OPEN_HANDLES: u32 = 1811; pub const ERROR_RESOURCE_DATA_NOT_FOUND: u32 = 1812; pub const ERROR_RESOURCE_TYPE_NOT_FOUND: u32 = 1813; pub const ERROR_RESOURCE_NAME_NOT_FOUND: u32 = 1814; pub const ERROR_RESOURCE_LANG_NOT_FOUND: u32 = 1815; pub const ERROR_NOT_ENOUGH_QUOTA: u32 = 1816; pub const RPC_S_NO_INTERFACES: u32 = 1817; pub const RPC_S_CALL_CANCELLED: u32 = 1818; pub const RPC_S_BINDING_INCOMPLETE: u32 = 1819; pub const RPC_S_COMM_FAILURE: u32 = 1820; pub const RPC_S_UNSUPPORTED_AUTHN_LEVEL: u32 = 1821; pub const RPC_S_NO_PRINC_NAME: u32 = 1822; pub const RPC_S_NOT_RPC_ERROR: u32 = 1823; pub const RPC_S_UUID_LOCAL_ONLY: u32 = 1824; pub const RPC_S_SEC_PKG_ERROR: u32 = 1825; pub const RPC_S_NOT_CANCELLED: u32 = 1826; pub const RPC_X_INVALID_ES_ACTION: u32 = 1827; pub const RPC_X_WRONG_ES_VERSION: u32 = 1828; pub const RPC_X_WRONG_STUB_VERSION: u32 = 1829; pub const RPC_X_INVALID_PIPE_OBJECT: u32 = 1830; pub const RPC_X_WRONG_PIPE_ORDER: u32 = 1831; pub const RPC_X_WRONG_PIPE_VERSION: u32 = 1832; pub const RPC_S_COOKIE_AUTH_FAILED: u32 = 1833; pub const RPC_S_DO_NOT_DISTURB: u32 = 1834; pub const RPC_S_SYSTEM_HANDLE_COUNT_EXCEEDED: u32 = 1835; pub const RPC_S_SYSTEM_HANDLE_TYPE_MISMATCH: u32 = 1836; pub const RPC_S_GROUP_MEMBER_NOT_FOUND: u32 = 1898; pub const EPT_S_CANT_CREATE: u32 = 1899; pub const RPC_S_INVALID_OBJECT: u32 = 1900; pub const ERROR_INVALID_TIME: u32 = 1901; pub const ERROR_INVALID_FORM_NAME: u32 = 1902; pub const ERROR_INVALID_FORM_SIZE: u32 = 1903; pub const ERROR_ALREADY_WAITING: u32 = 1904; pub const ERROR_PRINTER_DELETED: u32 = 1905; pub const ERROR_INVALID_PRINTER_STATE: u32 = 1906; pub const ERROR_PASSWORD_MUST_CHANGE: u32 = 1907; pub const ERROR_DOMAIN_CONTROLLER_NOT_FOUND: u32 = 1908; pub const ERROR_ACCOUNT_LOCKED_OUT: u32 = 1909; pub const OR_INVALID_OXID: u32 = 1910; pub const OR_INVALID_OID: u32 = 1911; pub const OR_INVALID_SET: u32 = 1912; pub const RPC_S_SEND_INCOMPLETE: u32 = 1913; pub const RPC_S_INVALID_ASYNC_HANDLE: u32 = 1914; pub const RPC_S_INVALID_ASYNC_CALL: u32 = 1915; pub const RPC_X_PIPE_CLOSED: u32 = 1916; pub const RPC_X_PIPE_DISCIPLINE_ERROR: u32 = 1917; pub const RPC_X_PIPE_EMPTY: u32 = 1918; pub const ERROR_NO_SITENAME: u32 = 1919; pub const ERROR_CANT_ACCESS_FILE: u32 = 1920; pub const ERROR_CANT_RESOLVE_FILENAME: u32 = 1921; pub const RPC_S_ENTRY_TYPE_MISMATCH: u32 = 1922; pub const RPC_S_NOT_ALL_OBJS_EXPORTED: u32 = 1923; pub const RPC_S_INTERFACE_NOT_EXPORTED: u32 = 1924; pub const RPC_S_PROFILE_NOT_ADDED: u32 = 1925; pub const RPC_S_PRF_ELT_NOT_ADDED: u32 = 1926; pub const RPC_S_PRF_ELT_NOT_REMOVED: u32 = 1927; pub const RPC_S_GRP_ELT_NOT_ADDED: u32 = 1928; pub const RPC_S_GRP_ELT_NOT_REMOVED: u32 = 1929; pub const ERROR_KM_DRIVER_BLOCKED: u32 = 1930; pub const ERROR_CONTEXT_EXPIRED: u32 = 1931; pub const ERROR_PER_USER_TRUST_QUOTA_EXCEEDED: u32 = 1932; pub const ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED: u32 = 1933; pub const ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED: u32 = 1934; pub const ERROR_AUTHENTICATION_FIREWALL_FAILED: u32 = 1935; pub const ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED: u32 = 1936; pub const ERROR_NTLM_BLOCKED: u32 = 1937; pub const ERROR_PASSWORD_CHANGE_REQUIRED: u32 = 1938; pub const ERROR_LOST_MODE_LOGON_RESTRICTION: u32 = 1939; pub const ERROR_INVALID_PIXEL_FORMAT: u32 = 2000; pub const ERROR_BAD_DRIVER: u32 = 2001; pub const ERROR_INVALID_WINDOW_STYLE: u32 = 2002; pub const ERROR_METAFILE_NOT_SUPPORTED: u32 = 2003; pub const ERROR_TRANSFORM_NOT_SUPPORTED: u32 = 2004; pub const ERROR_CLIPPING_NOT_SUPPORTED: u32 = 2005; pub const ERROR_INVALID_CMM: u32 = 2010; pub const ERROR_INVALID_PROFILE: u32 = 2011; pub const ERROR_TAG_NOT_FOUND: u32 = 2012; pub const ERROR_TAG_NOT_PRESENT: u32 = 2013; pub const ERROR_DUPLICATE_TAG: u32 = 2014; pub const ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE: u32 = 2015; pub const ERROR_PROFILE_NOT_FOUND: u32 = 2016; pub const ERROR_INVALID_COLORSPACE: u32 = 2017; pub const ERROR_ICM_NOT_ENABLED: u32 = 2018; pub const ERROR_DELETING_ICM_XFORM: u32 = 2019; pub const ERROR_INVALID_TRANSFORM: u32 = 2020; pub const ERROR_COLORSPACE_MISMATCH: u32 = 2021; pub const ERROR_INVALID_COLORINDEX: u32 = 2022; pub const ERROR_PROFILE_DOES_NOT_MATCH_DEVICE: u32 = 2023; pub const ERROR_CONNECTED_OTHER_PASSWORD: u32 = 2108; pub const ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT: u32 = 2109; pub const ERROR_BAD_USERNAME: u32 = 2202; pub const ERROR_NOT_CONNECTED: u32 = 2250; pub const ERROR_OPEN_FILES: u32 = 2401; pub const ERROR_ACTIVE_CONNECTIONS: u32 = 2402; pub const ERROR_DEVICE_IN_USE: u32 = 2404; pub const ERROR_UNKNOWN_PRINT_MONITOR: u32 = 3000; pub const ERROR_PRINTER_DRIVER_IN_USE: u32 = 3001; pub const ERROR_SPOOL_FILE_NOT_FOUND: u32 = 3002; pub const ERROR_SPL_NO_STARTDOC: u32 = 3003; pub const ERROR_SPL_NO_ADDJOB: u32 = 3004; pub const ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED: u32 = 3005; pub const ERROR_PRINT_MONITOR_ALREADY_INSTALLED: u32 = 3006; pub const ERROR_INVALID_PRINT_MONITOR: u32 = 3007; pub const ERROR_PRINT_MONITOR_IN_USE: u32 = 3008; pub const ERROR_PRINTER_HAS_JOBS_QUEUED: u32 = 3009; pub const ERROR_SUCCESS_REBOOT_REQUIRED: u32 = 3010; pub const ERROR_SUCCESS_RESTART_REQUIRED: u32 = 3011; pub const ERROR_PRINTER_NOT_FOUND: u32 = 3012; pub const ERROR_PRINTER_DRIVER_WARNED: u32 = 3013; pub const ERROR_PRINTER_DRIVER_BLOCKED: u32 = 3014; pub const ERROR_PRINTER_DRIVER_PACKAGE_IN_USE: u32 = 3015; pub const ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND: u32 = 3016; pub const ERROR_FAIL_REBOOT_REQUIRED: u32 = 3017; pub const ERROR_FAIL_REBOOT_INITIATED: u32 = 3018; pub const ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED: u32 = 3019; pub const ERROR_PRINT_JOB_RESTART_REQUIRED: u32 = 3020; pub const ERROR_INVALID_PRINTER_DRIVER_MANIFEST: u32 = 3021; pub const ERROR_PRINTER_NOT_SHAREABLE: u32 = 3022; pub const ERROR_REQUEST_PAUSED: u32 = 3050; pub const ERROR_APPEXEC_CONDITION_NOT_SATISFIED: u32 = 3060; pub const ERROR_APPEXEC_HANDLE_INVALIDATED: u32 = 3061; pub const ERROR_APPEXEC_INVALID_HOST_GENERATION: u32 = 3062; pub const ERROR_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION: u32 = 3063; pub const ERROR_APPEXEC_INVALID_HOST_STATE: u32 = 3064; pub const ERROR_APPEXEC_NO_DONOR: u32 = 3065; pub const ERROR_APPEXEC_HOST_ID_MISMATCH: u32 = 3066; pub const ERROR_APPEXEC_UNKNOWN_USER: u32 = 3067; pub const ERROR_IO_REISSUE_AS_CACHED: u32 = 3950; pub const ERROR_WINS_INTERNAL: u32 = 4000; pub const ERROR_CAN_NOT_DEL_LOCAL_WINS: u32 = 4001; pub const ERROR_STATIC_INIT: u32 = 4002; pub const ERROR_INC_BACKUP: u32 = 4003; pub const ERROR_FULL_BACKUP: u32 = 4004; pub const ERROR_REC_NON_EXISTENT: u32 = 4005; pub const ERROR_RPL_NOT_ALLOWED: u32 = 4006; pub const PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED: u32 = 4050; pub const PEERDIST_ERROR_CANNOT_PARSE_CONTENTINFO: u32 = 4051; pub const PEERDIST_ERROR_MISSING_DATA: u32 = 4052; pub const PEERDIST_ERROR_NO_MORE: u32 = 4053; pub const PEERDIST_ERROR_NOT_INITIALIZED: u32 = 4054; pub const PEERDIST_ERROR_ALREADY_INITIALIZED: u32 = 4055; pub const PEERDIST_ERROR_SHUTDOWN_IN_PROGRESS: u32 = 4056; pub const PEERDIST_ERROR_INVALIDATED: u32 = 4057; pub const PEERDIST_ERROR_ALREADY_EXISTS: u32 = 4058; pub const PEERDIST_ERROR_OPERATION_NOTFOUND: u32 = 4059; pub const PEERDIST_ERROR_ALREADY_COMPLETED: u32 = 4060; pub const PEERDIST_ERROR_OUT_OF_BOUNDS: u32 = 4061; pub const PEERDIST_ERROR_VERSION_UNSUPPORTED: u32 = 4062; pub const PEERDIST_ERROR_INVALID_CONFIGURATION: u32 = 4063; pub const PEERDIST_ERROR_NOT_LICENSED: u32 = 4064; pub const PEERDIST_ERROR_SERVICE_UNAVAILABLE: u32 = 4065; pub const PEERDIST_ERROR_TRUST_FAILURE: u32 = 4066; pub const ERROR_DHCP_ADDRESS_CONFLICT: u32 = 4100; pub const ERROR_WMI_GUID_NOT_FOUND: u32 = 4200; pub const ERROR_WMI_INSTANCE_NOT_FOUND: u32 = 4201; pub const ERROR_WMI_ITEMID_NOT_FOUND: u32 = 4202; pub const ERROR_WMI_TRY_AGAIN: u32 = 4203; pub const ERROR_WMI_DP_NOT_FOUND: u32 = 4204; pub const ERROR_WMI_UNRESOLVED_INSTANCE_REF: u32 = 4205; pub const ERROR_WMI_ALREADY_ENABLED: u32 = 4206; pub const ERROR_WMI_GUID_DISCONNECTED: u32 = 4207; pub const ERROR_WMI_SERVER_UNAVAILABLE: u32 = 4208; pub const ERROR_WMI_DP_FAILED: u32 = 4209; pub const ERROR_WMI_INVALID_MOF: u32 = 4210; pub const ERROR_WMI_INVALID_REGINFO: u32 = 4211; pub const ERROR_WMI_ALREADY_DISABLED: u32 = 4212; pub const ERROR_WMI_READ_ONLY: u32 = 4213; pub const ERROR_WMI_SET_FAILURE: u32 = 4214; pub const ERROR_NOT_APPCONTAINER: u32 = 4250; pub const ERROR_APPCONTAINER_REQUIRED: u32 = 4251; pub const ERROR_NOT_SUPPORTED_IN_APPCONTAINER: u32 = 4252; pub const ERROR_INVALID_PACKAGE_SID_LENGTH: u32 = 4253; pub const ERROR_INVALID_MEDIA: u32 = 4300; pub const ERROR_INVALID_LIBRARY: u32 = 4301; pub const ERROR_INVALID_MEDIA_POOL: u32 = 4302; pub const ERROR_DRIVE_MEDIA_MISMATCH: u32 = 4303; pub const ERROR_MEDIA_OFFLINE: u32 = 4304; pub const ERROR_LIBRARY_OFFLINE: u32 = 4305; pub const ERROR_EMPTY: u32 = 4306; pub const ERROR_NOT_EMPTY: u32 = 4307; pub const ERROR_MEDIA_UNAVAILABLE: u32 = 4308; pub const ERROR_RESOURCE_DISABLED: u32 = 4309; pub const ERROR_INVALID_CLEANER: u32 = 4310; pub const ERROR_UNABLE_TO_CLEAN: u32 = 4311; pub const ERROR_OBJECT_NOT_FOUND: u32 = 4312; pub const ERROR_DATABASE_FAILURE: u32 = 4313; pub const ERROR_DATABASE_FULL: u32 = 4314; pub const ERROR_MEDIA_INCOMPATIBLE: u32 = 4315; pub const ERROR_RESOURCE_NOT_PRESENT: u32 = 4316; pub const ERROR_INVALID_OPERATION: u32 = 4317; pub const ERROR_MEDIA_NOT_AVAILABLE: u32 = 4318; pub const ERROR_DEVICE_NOT_AVAILABLE: u32 = 4319; pub const ERROR_REQUEST_REFUSED: u32 = 4320; pub const ERROR_INVALID_DRIVE_OBJECT: u32 = 4321; pub const ERROR_LIBRARY_FULL: u32 = 4322; pub const ERROR_MEDIUM_NOT_ACCESSIBLE: u32 = 4323; pub const ERROR_UNABLE_TO_LOAD_MEDIUM: u32 = 4324; pub const ERROR_UNABLE_TO_INVENTORY_DRIVE: u32 = 4325; pub const ERROR_UNABLE_TO_INVENTORY_SLOT: u32 = 4326; pub const ERROR_UNABLE_TO_INVENTORY_TRANSPORT: u32 = 4327; pub const ERROR_TRANSPORT_FULL: u32 = 4328; pub const ERROR_CONTROLLING_IEPORT: u32 = 4329; pub const ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA: u32 = 4330; pub const ERROR_CLEANER_SLOT_SET: u32 = 4331; pub const ERROR_CLEANER_SLOT_NOT_SET: u32 = 4332; pub const ERROR_CLEANER_CARTRIDGE_SPENT: u32 = 4333; pub const ERROR_UNEXPECTED_OMID: u32 = 4334; pub const ERROR_CANT_DELETE_LAST_ITEM: u32 = 4335; pub const ERROR_MESSAGE_EXCEEDS_MAX_SIZE: u32 = 4336; pub const ERROR_VOLUME_CONTAINS_SYS_FILES: u32 = 4337; pub const ERROR_INDIGENOUS_TYPE: u32 = 4338; pub const ERROR_NO_SUPPORTING_DRIVES: u32 = 4339; pub const ERROR_CLEANER_CARTRIDGE_INSTALLED: u32 = 4340; pub const ERROR_IEPORT_FULL: u32 = 4341; pub const ERROR_FILE_OFFLINE: u32 = 4350; pub const ERROR_REMOTE_STORAGE_NOT_ACTIVE: u32 = 4351; pub const ERROR_REMOTE_STORAGE_MEDIA_ERROR: u32 = 4352; pub const ERROR_NOT_A_REPARSE_POINT: u32 = 4390; pub const ERROR_REPARSE_ATTRIBUTE_CONFLICT: u32 = 4391; pub const ERROR_INVALID_REPARSE_DATA: u32 = 4392; pub const ERROR_REPARSE_TAG_INVALID: u32 = 4393; pub const ERROR_REPARSE_TAG_MISMATCH: u32 = 4394; pub const ERROR_REPARSE_POINT_ENCOUNTERED: u32 = 4395; pub const ERROR_APP_DATA_NOT_FOUND: u32 = 4400; pub const ERROR_APP_DATA_EXPIRED: u32 = 4401; pub const ERROR_APP_DATA_CORRUPT: u32 = 4402; pub const ERROR_APP_DATA_LIMIT_EXCEEDED: u32 = 4403; pub const ERROR_APP_DATA_REBOOT_REQUIRED: u32 = 4404; pub const ERROR_SECUREBOOT_ROLLBACK_DETECTED: u32 = 4420; pub const ERROR_SECUREBOOT_POLICY_VIOLATION: u32 = 4421; pub const ERROR_SECUREBOOT_INVALID_POLICY: u32 = 4422; pub const ERROR_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND: u32 = 4423; pub const ERROR_SECUREBOOT_POLICY_NOT_SIGNED: u32 = 4424; pub const ERROR_SECUREBOOT_NOT_ENABLED: u32 = 4425; pub const ERROR_SECUREBOOT_FILE_REPLACED: u32 = 4426; pub const ERROR_SECUREBOOT_POLICY_NOT_AUTHORIZED: u32 = 4427; pub const ERROR_SECUREBOOT_POLICY_UNKNOWN: u32 = 4428; pub const ERROR_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION: u32 = 4429; pub const ERROR_SECUREBOOT_PLATFORM_ID_MISMATCH: u32 = 4430; pub const ERROR_SECUREBOOT_POLICY_ROLLBACK_DETECTED: u32 = 4431; pub const ERROR_SECUREBOOT_POLICY_UPGRADE_MISMATCH: u32 = 4432; pub const ERROR_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING: u32 = 4433; pub const ERROR_SECUREBOOT_NOT_BASE_POLICY: u32 = 4434; pub const ERROR_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY: u32 = 4435; pub const ERROR_OFFLOAD_READ_FLT_NOT_SUPPORTED: u32 = 4440; pub const ERROR_OFFLOAD_WRITE_FLT_NOT_SUPPORTED: u32 = 4441; pub const ERROR_OFFLOAD_READ_FILE_NOT_SUPPORTED: u32 = 4442; pub const ERROR_OFFLOAD_WRITE_FILE_NOT_SUPPORTED: u32 = 4443; pub const ERROR_ALREADY_HAS_STREAM_ID: u32 = 4444; pub const ERROR_SMR_GARBAGE_COLLECTION_REQUIRED: u32 = 4445; pub const ERROR_WOF_WIM_HEADER_CORRUPT: u32 = 4446; pub const ERROR_WOF_WIM_RESOURCE_TABLE_CORRUPT: u32 = 4447; pub const ERROR_WOF_FILE_RESOURCE_TABLE_CORRUPT: u32 = 4448; pub const ERROR_VOLUME_NOT_SIS_ENABLED: u32 = 4500; pub const ERROR_SYSTEM_INTEGRITY_ROLLBACK_DETECTED: u32 = 4550; pub const ERROR_SYSTEM_INTEGRITY_POLICY_VIOLATION: u32 = 4551; pub const ERROR_SYSTEM_INTEGRITY_INVALID_POLICY: u32 = 4552; pub const ERROR_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED: u32 = 4553; pub const ERROR_SYSTEM_INTEGRITY_TOO_MANY_POLICIES: u32 = 4554; pub const ERROR_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED: u32 = 4555; pub const ERROR_VSM_NOT_INITIALIZED: u32 = 4560; pub const ERROR_VSM_DMA_PROTECTION_NOT_IN_USE: u32 = 4561; pub const ERROR_PLATFORM_MANIFEST_NOT_AUTHORIZED: u32 = 4570; pub const ERROR_PLATFORM_MANIFEST_INVALID: u32 = 4571; pub const ERROR_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED: u32 = 4572; pub const ERROR_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED: u32 = 4573; pub const ERROR_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND: u32 = 4574; pub const ERROR_PLATFORM_MANIFEST_NOT_ACTIVE: u32 = 4575; pub const ERROR_PLATFORM_MANIFEST_NOT_SIGNED: u32 = 4576; pub const ERROR_DEPENDENT_RESOURCE_EXISTS: u32 = 5001; pub const ERROR_DEPENDENCY_NOT_FOUND: u32 = 5002; pub const ERROR_DEPENDENCY_ALREADY_EXISTS: u32 = 5003; pub const ERROR_RESOURCE_NOT_ONLINE: u32 = 5004; pub const ERROR_HOST_NODE_NOT_AVAILABLE: u32 = 5005; pub const ERROR_RESOURCE_NOT_AVAILABLE: u32 = 5006; pub const ERROR_RESOURCE_NOT_FOUND: u32 = 5007; pub const ERROR_SHUTDOWN_CLUSTER: u32 = 5008; pub const ERROR_CANT_EVICT_ACTIVE_NODE: u32 = 5009; pub const ERROR_OBJECT_ALREADY_EXISTS: u32 = 5010; pub const ERROR_OBJECT_IN_LIST: u32 = 5011; pub const ERROR_GROUP_NOT_AVAILABLE: u32 = 5012; pub const ERROR_GROUP_NOT_FOUND: u32 = 5013; pub const ERROR_GROUP_NOT_ONLINE: u32 = 5014; pub const ERROR_HOST_NODE_NOT_RESOURCE_OWNER: u32 = 5015; pub const ERROR_HOST_NODE_NOT_GROUP_OWNER: u32 = 5016; pub const ERROR_RESMON_CREATE_FAILED: u32 = 5017; pub const ERROR_RESMON_ONLINE_FAILED: u32 = 5018; pub const ERROR_RESOURCE_ONLINE: u32 = 5019; pub const ERROR_QUORUM_RESOURCE: u32 = 5020; pub const ERROR_NOT_QUORUM_CAPABLE: u32 = 5021; pub const ERROR_CLUSTER_SHUTTING_DOWN: u32 = 5022; pub const ERROR_INVALID_STATE: u32 = 5023; pub const ERROR_RESOURCE_PROPERTIES_STORED: u32 = 5024; pub const ERROR_NOT_QUORUM_CLASS: u32 = 5025; pub const ERROR_CORE_RESOURCE: u32 = 5026; pub const ERROR_QUORUM_RESOURCE_ONLINE_FAILED: u32 = 5027; pub const ERROR_QUORUMLOG_OPEN_FAILED: u32 = 5028; pub const ERROR_CLUSTERLOG_CORRUPT: u32 = 5029; pub const ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE: u32 = 5030; pub const ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE: u32 = 5031; pub const ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND: u32 = 5032; pub const ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE: u32 = 5033; pub const ERROR_QUORUM_OWNER_ALIVE: u32 = 5034; pub const ERROR_NETWORK_NOT_AVAILABLE: u32 = 5035; pub const ERROR_NODE_NOT_AVAILABLE: u32 = 5036; pub const ERROR_ALL_NODES_NOT_AVAILABLE: u32 = 5037; pub const ERROR_RESOURCE_FAILED: u32 = 5038; pub const ERROR_CLUSTER_INVALID_NODE: u32 = 5039; pub const ERROR_CLUSTER_NODE_EXISTS: u32 = 5040; pub const ERROR_CLUSTER_JOIN_IN_PROGRESS: u32 = 5041; pub const ERROR_CLUSTER_NODE_NOT_FOUND: u32 = 5042; pub const ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND: u32 = 5043; pub const ERROR_CLUSTER_NETWORK_EXISTS: u32 = 5044; pub const ERROR_CLUSTER_NETWORK_NOT_FOUND: u32 = 5045; pub const ERROR_CLUSTER_NETINTERFACE_EXISTS: u32 = 5046; pub const ERROR_CLUSTER_NETINTERFACE_NOT_FOUND: u32 = 5047; pub const ERROR_CLUSTER_INVALID_REQUEST: u32 = 5048; pub const ERROR_CLUSTER_INVALID_NETWORK_PROVIDER: u32 = 5049; pub const ERROR_CLUSTER_NODE_DOWN: u32 = 5050; pub const ERROR_CLUSTER_NODE_UNREACHABLE: u32 = 5051; pub const ERROR_CLUSTER_NODE_NOT_MEMBER: u32 = 5052; pub const ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS: u32 = 5053; pub const ERROR_CLUSTER_INVALID_NETWORK: u32 = 5054; pub const ERROR_CLUSTER_NODE_UP: u32 = 5056; pub const ERROR_CLUSTER_IPADDR_IN_USE: u32 = 5057; pub const ERROR_CLUSTER_NODE_NOT_PAUSED: u32 = 5058; pub const ERROR_CLUSTER_NO_SECURITY_CONTEXT: u32 = 5059; pub const ERROR_CLUSTER_NETWORK_NOT_INTERNAL: u32 = 5060; pub const ERROR_CLUSTER_NODE_ALREADY_UP: u32 = 5061; pub const ERROR_CLUSTER_NODE_ALREADY_DOWN: u32 = 5062; pub const ERROR_CLUSTER_NETWORK_ALREADY_ONLINE: u32 = 5063; pub const ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE: u32 = 5064; pub const ERROR_CLUSTER_NODE_ALREADY_MEMBER: u32 = 5065; pub const ERROR_CLUSTER_LAST_INTERNAL_NETWORK: u32 = 5066; pub const ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS: u32 = 5067; pub const ERROR_INVALID_OPERATION_ON_QUORUM: u32 = 5068; pub const ERROR_DEPENDENCY_NOT_ALLOWED: u32 = 5069; pub const ERROR_CLUSTER_NODE_PAUSED: u32 = 5070; pub const ERROR_NODE_CANT_HOST_RESOURCE: u32 = 5071; pub const ERROR_CLUSTER_NODE_NOT_READY: u32 = 5072; pub const ERROR_CLUSTER_NODE_SHUTTING_DOWN: u32 = 5073; pub const ERROR_CLUSTER_JOIN_ABORTED: u32 = 5074; pub const ERROR_CLUSTER_INCOMPATIBLE_VERSIONS: u32 = 5075; pub const ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED: u32 = 5076; pub const ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED: u32 = 5077; pub const ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND: u32 = 5078; pub const ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED: u32 = 5079; pub const ERROR_CLUSTER_RESNAME_NOT_FOUND: u32 = 5080; pub const ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED: u32 = 5081; pub const ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST: u32 = 5082; pub const ERROR_CLUSTER_DATABASE_SEQMISMATCH: u32 = 5083; pub const ERROR_RESMON_INVALID_STATE: u32 = 5084; pub const ERROR_CLUSTER_GUM_NOT_LOCKER: u32 = 5085; pub const ERROR_QUORUM_DISK_NOT_FOUND: u32 = 5086; pub const ERROR_DATABASE_BACKUP_CORRUPT: u32 = 5087; pub const ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT: u32 = 5088; pub const ERROR_RESOURCE_PROPERTY_UNCHANGEABLE: u32 = 5089; pub const ERROR_NO_ADMIN_ACCESS_POINT: u32 = 5090; pub const ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE: u32 = 5890; pub const ERROR_CLUSTER_QUORUMLOG_NOT_FOUND: u32 = 5891; pub const ERROR_CLUSTER_MEMBERSHIP_HALT: u32 = 5892; pub const ERROR_CLUSTER_INSTANCE_ID_MISMATCH: u32 = 5893; pub const ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP: u32 = 5894; pub const ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH: u32 = 5895; pub const ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP: u32 = 5896; pub const ERROR_CLUSTER_PARAMETER_MISMATCH: u32 = 5897; pub const ERROR_NODE_CANNOT_BE_CLUSTERED: u32 = 5898; pub const ERROR_CLUSTER_WRONG_OS_VERSION: u32 = 5899; pub const ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME: u32 = 5900; pub const ERROR_CLUSCFG_ALREADY_COMMITTED: u32 = 5901; pub const ERROR_CLUSCFG_ROLLBACK_FAILED: u32 = 5902; pub const ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT: u32 = 5903; pub const ERROR_CLUSTER_OLD_VERSION: u32 = 5904; pub const ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME: u32 = 5905; pub const ERROR_CLUSTER_NO_NET_ADAPTERS: u32 = 5906; pub const ERROR_CLUSTER_POISONED: u32 = 5907; pub const ERROR_CLUSTER_GROUP_MOVING: u32 = 5908; pub const ERROR_CLUSTER_RESOURCE_TYPE_BUSY: u32 = 5909; pub const ERROR_RESOURCE_CALL_TIMED_OUT: u32 = 5910; pub const ERROR_INVALID_CLUSTER_IPV6_ADDRESS: u32 = 5911; pub const ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION: u32 = 5912; pub const ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS: u32 = 5913; pub const ERROR_CLUSTER_PARTIAL_SEND: u32 = 5914; pub const ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION: u32 = 5915; pub const ERROR_CLUSTER_INVALID_STRING_TERMINATION: u32 = 5916; pub const ERROR_CLUSTER_INVALID_STRING_FORMAT: u32 = 5917; pub const ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS: u32 = 5918; pub const ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS: u32 = 5919; pub const ERROR_CLUSTER_NULL_DATA: u32 = 5920; pub const ERROR_CLUSTER_PARTIAL_READ: u32 = 5921; pub const ERROR_CLUSTER_PARTIAL_WRITE: u32 = 5922; pub const ERROR_CLUSTER_CANT_DESERIALIZE_DATA: u32 = 5923; pub const ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT: u32 = 5924; pub const ERROR_CLUSTER_NO_QUORUM: u32 = 5925; pub const ERROR_CLUSTER_INVALID_IPV6_NETWORK: u32 = 5926; pub const ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK: u32 = 5927; pub const ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP: u32 = 5928; pub const ERROR_DEPENDENCY_TREE_TOO_COMPLEX: u32 = 5929; pub const ERROR_EXCEPTION_IN_RESOURCE_CALL: u32 = 5930; pub const ERROR_CLUSTER_RHS_FAILED_INITIALIZATION: u32 = 5931; pub const ERROR_CLUSTER_NOT_INSTALLED: u32 = 5932; pub const ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE: u32 = 5933; pub const ERROR_CLUSTER_MAX_NODES_IN_CLUSTER: u32 = 5934; pub const ERROR_CLUSTER_TOO_MANY_NODES: u32 = 5935; pub const ERROR_CLUSTER_OBJECT_ALREADY_USED: u32 = 5936; pub const ERROR_NONCORE_GROUPS_FOUND: u32 = 5937; pub const ERROR_FILE_SHARE_RESOURCE_CONFLICT: u32 = 5938; pub const ERROR_CLUSTER_EVICT_INVALID_REQUEST: u32 = 5939; pub const ERROR_CLUSTER_SINGLETON_RESOURCE: u32 = 5940; pub const ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE: u32 = 5941; pub const ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED: u32 = 5942; pub const ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR: u32 = 5943; pub const ERROR_CLUSTER_GROUP_BUSY: u32 = 5944; pub const ERROR_CLUSTER_NOT_SHARED_VOLUME: u32 = 5945; pub const ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR: u32 = 5946; pub const ERROR_CLUSTER_SHARED_VOLUMES_IN_USE: u32 = 5947; pub const ERROR_CLUSTER_USE_SHARED_VOLUMES_API: u32 = 5948; pub const ERROR_CLUSTER_BACKUP_IN_PROGRESS: u32 = 5949; pub const ERROR_NON_CSV_PATH: u32 = 5950; pub const ERROR_CSV_VOLUME_NOT_LOCAL: u32 = 5951; pub const ERROR_CLUSTER_WATCHDOG_TERMINATING: u32 = 5952; pub const ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES: u32 = 5953; pub const ERROR_CLUSTER_INVALID_NODE_WEIGHT: u32 = 5954; pub const ERROR_CLUSTER_RESOURCE_VETOED_CALL: u32 = 5955; pub const ERROR_RESMON_SYSTEM_RESOURCES_LACKING: u32 = 5956; pub const ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION: u32 = 5957; pub const ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE: u32 = 5958; pub const ERROR_CLUSTER_GROUP_QUEUED: u32 = 5959; pub const ERROR_CLUSTER_RESOURCE_LOCKED_STATUS: u32 = 5960; pub const ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED: u32 = 5961; pub const ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS: u32 = 5962; pub const ERROR_CLUSTER_DISK_NOT_CONNECTED: u32 = 5963; pub const ERROR_DISK_NOT_CSV_CAPABLE: u32 = 5964; pub const ERROR_RESOURCE_NOT_IN_AVAILABLE_STORAGE: u32 = 5965; pub const ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED: u32 = 5966; pub const ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED: u32 = 5967; pub const ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES: u32 = 5968; pub const ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES: u32 = 5969; pub const ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE: u32 = 5970; pub const ERROR_CLUSTER_AFFINITY_CONFLICT: u32 = 5971; pub const ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE: u32 = 5972; pub const ERROR_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS: u32 = 5973; pub const ERROR_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED: u32 = 5974; pub const ERROR_CLUSTER_UPGRADE_RESTART_REQUIRED: u32 = 5975; pub const ERROR_CLUSTER_UPGRADE_IN_PROGRESS: u32 = 5976; pub const ERROR_CLUSTER_UPGRADE_INCOMPLETE: u32 = 5977; pub const ERROR_CLUSTER_NODE_IN_GRACE_PERIOD: u32 = 5978; pub const ERROR_CLUSTER_CSV_IO_PAUSE_TIMEOUT: u32 = 5979; pub const ERROR_NODE_NOT_ACTIVE_CLUSTER_MEMBER: u32 = 5980; pub const ERROR_CLUSTER_RESOURCE_NOT_MONITORED: u32 = 5981; pub const ERROR_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED: u32 = 5982; pub const ERROR_CLUSTER_RESOURCE_IS_REPLICATED: u32 = 5983; pub const ERROR_CLUSTER_NODE_ISOLATED: u32 = 5984; pub const ERROR_CLUSTER_NODE_QUARANTINED: u32 = 5985; pub const ERROR_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED: u32 = 5986; pub const ERROR_CLUSTER_SPACE_DEGRADED: u32 = 5987; pub const ERROR_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED: u32 = 5988; pub const ERROR_CLUSTER_CSV_INVALID_HANDLE: u32 = 5989; pub const ERROR_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR: u32 = 5990; pub const ERROR_GROUPSET_NOT_AVAILABLE: u32 = 5991; pub const ERROR_GROUPSET_NOT_FOUND: u32 = 5992; pub const ERROR_GROUPSET_CANT_PROVIDE: u32 = 5993; pub const ERROR_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND: u32 = 5994; pub const ERROR_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY: u32 = 5995; pub const ERROR_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION: u32 = 5996; pub const ERROR_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS: u32 = 5997; pub const ERROR_CLUSTER_INVALID_INFRASTRUCTURE_FILESERVER_NAME: u32 = 5998; pub const ERROR_CLUSTERSET_MANAGEMENT_CLUSTER_UNREACHABLE: u32 = 5999; pub const ERROR_ENCRYPTION_FAILED: u32 = 6000; pub const ERROR_DECRYPTION_FAILED: u32 = 6001; pub const ERROR_FILE_ENCRYPTED: u32 = 6002; pub const ERROR_NO_RECOVERY_POLICY: u32 = 6003; pub const ERROR_NO_EFS: u32 = 6004; pub const ERROR_WRONG_EFS: u32 = 6005; pub const ERROR_NO_USER_KEYS: u32 = 6006; pub const ERROR_FILE_NOT_ENCRYPTED: u32 = 6007; pub const ERROR_NOT_EXPORT_FORMAT: u32 = 6008; pub const ERROR_FILE_READ_ONLY: u32 = 6009; pub const ERROR_DIR_EFS_DISALLOWED: u32 = 6010; pub const ERROR_EFS_SERVER_NOT_TRUSTED: u32 = 6011; pub const ERROR_BAD_RECOVERY_POLICY: u32 = 6012; pub const ERROR_EFS_ALG_BLOB_TOO_BIG: u32 = 6013; pub const ERROR_VOLUME_NOT_SUPPORT_EFS: u32 = 6014; pub const ERROR_EFS_DISABLED: u32 = 6015; pub const ERROR_EFS_VERSION_NOT_SUPPORT: u32 = 6016; pub const ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE: u32 = 6017; pub const ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER: u32 = 6018; pub const ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE: u32 = 6019; pub const ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE: u32 = 6020; pub const ERROR_CS_ENCRYPTION_FILE_NOT_CSE: u32 = 6021; pub const ERROR_ENCRYPTION_POLICY_DENIES_OPERATION: u32 = 6022; pub const ERROR_WIP_ENCRYPTION_FAILED: u32 = 6023; pub const ERROR_NO_BROWSER_SERVERS_FOUND: u32 = 6118; pub const SCHED_E_SERVICE_NOT_LOCALSYSTEM: u32 = 6200; pub const ERROR_LOG_SECTOR_INVALID: u32 = 6600; pub const ERROR_LOG_SECTOR_PARITY_INVALID: u32 = 6601; pub const ERROR_LOG_SECTOR_REMAPPED: u32 = 6602; pub const ERROR_LOG_BLOCK_INCOMPLETE: u32 = 6603; pub const ERROR_LOG_INVALID_RANGE: u32 = 6604; pub const ERROR_LOG_BLOCKS_EXHAUSTED: u32 = 6605; pub const ERROR_LOG_READ_CONTEXT_INVALID: u32 = 6606; pub const ERROR_LOG_RESTART_INVALID: u32 = 6607; pub const ERROR_LOG_BLOCK_VERSION: u32 = 6608; pub const ERROR_LOG_BLOCK_INVALID: u32 = 6609; pub const ERROR_LOG_READ_MODE_INVALID: u32 = 6610; pub const ERROR_LOG_NO_RESTART: u32 = 6611; pub const ERROR_LOG_METADATA_CORRUPT: u32 = 6612; pub const ERROR_LOG_METADATA_INVALID: u32 = 6613; pub const ERROR_LOG_METADATA_INCONSISTENT: u32 = 6614; pub const ERROR_LOG_RESERVATION_INVALID: u32 = 6615; pub const ERROR_LOG_CANT_DELETE: u32 = 6616; pub const ERROR_LOG_CONTAINER_LIMIT_EXCEEDED: u32 = 6617; pub const ERROR_LOG_START_OF_LOG: u32 = 6618; pub const ERROR_LOG_POLICY_ALREADY_INSTALLED: u32 = 6619; pub const ERROR_LOG_POLICY_NOT_INSTALLED: u32 = 6620; pub const ERROR_LOG_POLICY_INVALID: u32 = 6621; pub const ERROR_LOG_POLICY_CONFLICT: u32 = 6622; pub const ERROR_LOG_PINNED_ARCHIVE_TAIL: u32 = 6623; pub const ERROR_LOG_RECORD_NONEXISTENT: u32 = 6624; pub const ERROR_LOG_RECORDS_RESERVED_INVALID: u32 = 6625; pub const ERROR_LOG_SPACE_RESERVED_INVALID: u32 = 6626; pub const ERROR_LOG_TAIL_INVALID: u32 = 6627; pub const ERROR_LOG_FULL: u32 = 6628; pub const ERROR_COULD_NOT_RESIZE_LOG: u32 = 6629; pub const ERROR_LOG_MULTIPLEXED: u32 = 6630; pub const ERROR_LOG_DEDICATED: u32 = 6631; pub const ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS: u32 = 6632; pub const ERROR_LOG_ARCHIVE_IN_PROGRESS: u32 = 6633; pub const ERROR_LOG_EPHEMERAL: u32 = 6634; pub const ERROR_LOG_NOT_ENOUGH_CONTAINERS: u32 = 6635; pub const ERROR_LOG_CLIENT_ALREADY_REGISTERED: u32 = 6636; pub const ERROR_LOG_CLIENT_NOT_REGISTERED: u32 = 6637; pub const ERROR_LOG_FULL_HANDLER_IN_PROGRESS: u32 = 6638; pub const ERROR_LOG_CONTAINER_READ_FAILED: u32 = 6639; pub const ERROR_LOG_CONTAINER_WRITE_FAILED: u32 = 6640; pub const ERROR_LOG_CONTAINER_OPEN_FAILED: u32 = 6641; pub const ERROR_LOG_CONTAINER_STATE_INVALID: u32 = 6642; pub const ERROR_LOG_STATE_INVALID: u32 = 6643; pub const ERROR_LOG_PINNED: u32 = 6644; pub const ERROR_LOG_METADATA_FLUSH_FAILED: u32 = 6645; pub const ERROR_LOG_INCONSISTENT_SECURITY: u32 = 6646; pub const ERROR_LOG_APPENDED_FLUSH_FAILED: u32 = 6647; pub const ERROR_LOG_PINNED_RESERVATION: u32 = 6648; pub const ERROR_INVALID_TRANSACTION: u32 = 6700; pub const ERROR_TRANSACTION_NOT_ACTIVE: u32 = 6701; pub const ERROR_TRANSACTION_REQUEST_NOT_VALID: u32 = 6702; pub const ERROR_TRANSACTION_NOT_REQUESTED: u32 = 6703; pub const ERROR_TRANSACTION_ALREADY_ABORTED: u32 = 6704; pub const ERROR_TRANSACTION_ALREADY_COMMITTED: u32 = 6705; pub const ERROR_TM_INITIALIZATION_FAILED: u32 = 6706; pub const ERROR_RESOURCEMANAGER_READ_ONLY: u32 = 6707; pub const ERROR_TRANSACTION_NOT_JOINED: u32 = 6708; pub const ERROR_TRANSACTION_SUPERIOR_EXISTS: u32 = 6709; pub const ERROR_CRM_PROTOCOL_ALREADY_EXISTS: u32 = 6710; pub const ERROR_TRANSACTION_PROPAGATION_FAILED: u32 = 6711; pub const ERROR_CRM_PROTOCOL_NOT_FOUND: u32 = 6712; pub const ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER: u32 = 6713; pub const ERROR_CURRENT_TRANSACTION_NOT_VALID: u32 = 6714; pub const ERROR_TRANSACTION_NOT_FOUND: u32 = 6715; pub const ERROR_RESOURCEMANAGER_NOT_FOUND: u32 = 6716; pub const ERROR_ENLISTMENT_NOT_FOUND: u32 = 6717; pub const ERROR_TRANSACTIONMANAGER_NOT_FOUND: u32 = 6718; pub const ERROR_TRANSACTIONMANAGER_NOT_ONLINE: u32 = 6719; pub const ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION: u32 = 6720; pub const ERROR_TRANSACTION_NOT_ROOT: u32 = 6721; pub const ERROR_TRANSACTION_OBJECT_EXPIRED: u32 = 6722; pub const ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED: u32 = 6723; pub const ERROR_TRANSACTION_RECORD_TOO_LONG: u32 = 6724; pub const ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED: u32 = 6725; pub const ERROR_TRANSACTION_INTEGRITY_VIOLATED: u32 = 6726; pub const ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH: u32 = 6727; pub const ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT: u32 = 6728; pub const ERROR_TRANSACTION_MUST_WRITETHROUGH: u32 = 6729; pub const ERROR_TRANSACTION_NO_SUPERIOR: u32 = 6730; pub const ERROR_HEURISTIC_DAMAGE_POSSIBLE: u32 = 6731; pub const ERROR_TRANSACTIONAL_CONFLICT: u32 = 6800; pub const ERROR_RM_NOT_ACTIVE: u32 = 6801; pub const ERROR_RM_METADATA_CORRUPT: u32 = 6802; pub const ERROR_DIRECTORY_NOT_RM: u32 = 6803; pub const ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE: u32 = 6805; pub const ERROR_LOG_RESIZE_INVALID_SIZE: u32 = 6806; pub const ERROR_OBJECT_NO_LONGER_EXISTS: u32 = 6807; pub const ERROR_STREAM_MINIVERSION_NOT_FOUND: u32 = 6808; pub const ERROR_STREAM_MINIVERSION_NOT_VALID: u32 = 6809; pub const ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION: u32 = 6810; pub const ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT: u32 = 6811; pub const ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS: u32 = 6812; pub const ERROR_REMOTE_FILE_VERSION_MISMATCH: u32 = 6814; pub const ERROR_HANDLE_NO_LONGER_VALID: u32 = 6815; pub const ERROR_NO_TXF_METADATA: u32 = 6816; pub const ERROR_LOG_CORRUPTION_DETECTED: u32 = 6817; pub const ERROR_CANT_RECOVER_WITH_HANDLE_OPEN: u32 = 6818; pub const ERROR_RM_DISCONNECTED: u32 = 6819; pub const ERROR_ENLISTMENT_NOT_SUPERIOR: u32 = 6820; pub const ERROR_RECOVERY_NOT_NEEDED: u32 = 6821; pub const ERROR_RM_ALREADY_STARTED: u32 = 6822; pub const ERROR_FILE_IDENTITY_NOT_PERSISTENT: u32 = 6823; pub const ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY: u32 = 6824; pub const ERROR_CANT_CROSS_RM_BOUNDARY: u32 = 6825; pub const ERROR_TXF_DIR_NOT_EMPTY: u32 = 6826; pub const ERROR_INDOUBT_TRANSACTIONS_EXIST: u32 = 6827; pub const ERROR_TM_VOLATILE: u32 = 6828; pub const ERROR_ROLLBACK_TIMER_EXPIRED: u32 = 6829; pub const ERROR_TXF_ATTRIBUTE_CORRUPT: u32 = 6830; pub const ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION: u32 = 6831; pub const ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED: u32 = 6832; pub const ERROR_LOG_GROWTH_FAILED: u32 = 6833; pub const ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE: u32 = 6834; pub const ERROR_TXF_METADATA_ALREADY_PRESENT: u32 = 6835; pub const ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET: u32 = 6836; pub const ERROR_TRANSACTION_REQUIRED_PROMOTION: u32 = 6837; pub const ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION: u32 = 6838; pub const ERROR_TRANSACTIONS_NOT_FROZEN: u32 = 6839; pub const ERROR_TRANSACTION_FREEZE_IN_PROGRESS: u32 = 6840; pub const ERROR_NOT_SNAPSHOT_VOLUME: u32 = 6841; pub const ERROR_NO_SAVEPOINT_WITH_OPEN_FILES: u32 = 6842; pub const ERROR_DATA_LOST_REPAIR: u32 = 6843; pub const ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION: u32 = 6844; pub const ERROR_TM_IDENTITY_MISMATCH: u32 = 6845; pub const ERROR_FLOATED_SECTION: u32 = 6846; pub const ERROR_CANNOT_ACCEPT_TRANSACTED_WORK: u32 = 6847; pub const ERROR_CANNOT_ABORT_TRANSACTIONS: u32 = 6848; pub const ERROR_BAD_CLUSTERS: u32 = 6849; pub const ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION: u32 = 6850; pub const ERROR_VOLUME_DIRTY: u32 = 6851; pub const ERROR_NO_LINK_TRACKING_IN_TRANSACTION: u32 = 6852; pub const ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION: u32 = 6853; pub const ERROR_EXPIRED_HANDLE: u32 = 6854; pub const ERROR_TRANSACTION_NOT_ENLISTED: u32 = 6855; pub const ERROR_CTX_WINSTATION_NAME_INVALID: u32 = 7001; pub const ERROR_CTX_INVALID_PD: u32 = 7002; pub const ERROR_CTX_PD_NOT_FOUND: u32 = 7003; pub const ERROR_CTX_WD_NOT_FOUND: u32 = 7004; pub const ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY: u32 = 7005; pub const ERROR_CTX_SERVICE_NAME_COLLISION: u32 = 7006; pub const ERROR_CTX_CLOSE_PENDING: u32 = 7007; pub const ERROR_CTX_NO_OUTBUF: u32 = 7008; pub const ERROR_CTX_MODEM_INF_NOT_FOUND: u32 = 7009; pub const ERROR_CTX_INVALID_MODEMNAME: u32 = 7010; pub const ERROR_CTX_MODEM_RESPONSE_ERROR: u32 = 7011; pub const ERROR_CTX_MODEM_RESPONSE_TIMEOUT: u32 = 7012; pub const ERROR_CTX_MODEM_RESPONSE_NO_CARRIER: u32 = 7013; pub const ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE: u32 = 7014; pub const ERROR_CTX_MODEM_RESPONSE_BUSY: u32 = 7015; pub const ERROR_CTX_MODEM_RESPONSE_VOICE: u32 = 7016; pub const ERROR_CTX_TD_ERROR: u32 = 7017; pub const ERROR_CTX_WINSTATION_NOT_FOUND: u32 = 7022; pub const ERROR_CTX_WINSTATION_ALREADY_EXISTS: u32 = 7023; pub const ERROR_CTX_WINSTATION_BUSY: u32 = 7024; pub const ERROR_CTX_BAD_VIDEO_MODE: u32 = 7025; pub const ERROR_CTX_GRAPHICS_INVALID: u32 = 7035; pub const ERROR_CTX_LOGON_DISABLED: u32 = 7037; pub const ERROR_CTX_NOT_CONSOLE: u32 = 7038; pub const ERROR_CTX_CLIENT_QUERY_TIMEOUT: u32 = 7040; pub const ERROR_CTX_CONSOLE_DISCONNECT: u32 = 7041; pub const ERROR_CTX_CONSOLE_CONNECT: u32 = 7042; pub const ERROR_CTX_SHADOW_DENIED: u32 = 7044; pub const ERROR_CTX_WINSTATION_ACCESS_DENIED: u32 = 7045; pub const ERROR_CTX_INVALID_WD: u32 = 7049; pub const ERROR_CTX_SHADOW_INVALID: u32 = 7050; pub const ERROR_CTX_SHADOW_DISABLED: u32 = 7051; pub const ERROR_CTX_CLIENT_LICENSE_IN_USE: u32 = 7052; pub const ERROR_CTX_CLIENT_LICENSE_NOT_SET: u32 = 7053; pub const ERROR_CTX_LICENSE_NOT_AVAILABLE: u32 = 7054; pub const ERROR_CTX_LICENSE_CLIENT_INVALID: u32 = 7055; pub const ERROR_CTX_LICENSE_EXPIRED: u32 = 7056; pub const ERROR_CTX_SHADOW_NOT_RUNNING: u32 = 7057; pub const ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE: u32 = 7058; pub const ERROR_ACTIVATION_COUNT_EXCEEDED: u32 = 7059; pub const ERROR_CTX_WINSTATIONS_DISABLED: u32 = 7060; pub const ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED: u32 = 7061; pub const ERROR_CTX_SESSION_IN_USE: u32 = 7062; pub const ERROR_CTX_NO_FORCE_LOGOFF: u32 = 7063; pub const ERROR_CTX_ACCOUNT_RESTRICTION: u32 = 7064; pub const ERROR_RDP_PROTOCOL_ERROR: u32 = 7065; pub const ERROR_CTX_CDM_CONNECT: u32 = 7066; pub const ERROR_CTX_CDM_DISCONNECT: u32 = 7067; pub const ERROR_CTX_SECURITY_LAYER_ERROR: u32 = 7068; pub const ERROR_TS_INCOMPATIBLE_SESSIONS: u32 = 7069; pub const ERROR_TS_VIDEO_SUBSYSTEM_ERROR: u32 = 7070; pub const FRS_ERR_INVALID_API_SEQUENCE: u32 = 8001; pub const FRS_ERR_STARTING_SERVICE: u32 = 8002; pub const FRS_ERR_STOPPING_SERVICE: u32 = 8003; pub const FRS_ERR_INTERNAL_API: u32 = 8004; pub const FRS_ERR_INTERNAL: u32 = 8005; pub const FRS_ERR_SERVICE_COMM: u32 = 8006; pub const FRS_ERR_INSUFFICIENT_PRIV: u32 = 8007; pub const FRS_ERR_AUTHENTICATION: u32 = 8008; pub const FRS_ERR_PARENT_INSUFFICIENT_PRIV: u32 = 8009; pub const FRS_ERR_PARENT_AUTHENTICATION: u32 = 8010; pub const FRS_ERR_CHILD_TO_PARENT_COMM: u32 = 8011; pub const FRS_ERR_PARENT_TO_CHILD_COMM: u32 = 8012; pub const FRS_ERR_SYSVOL_POPULATE: u32 = 8013; pub const FRS_ERR_SYSVOL_POPULATE_TIMEOUT: u32 = 8014; pub const FRS_ERR_SYSVOL_IS_BUSY: u32 = 8015; pub const FRS_ERR_SYSVOL_DEMOTE: u32 = 8016; pub const FRS_ERR_INVALID_SERVICE_PARAMETER: u32 = 8017; pub const DS_S_SUCCESS: u32 = 0; pub const ERROR_DS_NOT_INSTALLED: u32 = 8200; pub const ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY: u32 = 8201; pub const ERROR_DS_NO_ATTRIBUTE_OR_VALUE: u32 = 8202; pub const ERROR_DS_INVALID_ATTRIBUTE_SYNTAX: u32 = 8203; pub const ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED: u32 = 8204; pub const ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS: u32 = 8205; pub const ERROR_DS_BUSY: u32 = 8206; pub const ERROR_DS_UNAVAILABLE: u32 = 8207; pub const ERROR_DS_NO_RIDS_ALLOCATED: u32 = 8208; pub const ERROR_DS_NO_MORE_RIDS: u32 = 8209; pub const ERROR_DS_INCORRECT_ROLE_OWNER: u32 = 8210; pub const ERROR_DS_RIDMGR_INIT_ERROR: u32 = 8211; pub const ERROR_DS_OBJ_CLASS_VIOLATION: u32 = 8212; pub const ERROR_DS_CANT_ON_NON_LEAF: u32 = 8213; pub const ERROR_DS_CANT_ON_RDN: u32 = 8214; pub const ERROR_DS_CANT_MOD_OBJ_CLASS: u32 = 8215; pub const ERROR_DS_CROSS_DOM_MOVE_ERROR: u32 = 8216; pub const ERROR_DS_GC_NOT_AVAILABLE: u32 = 8217; pub const ERROR_SHARED_POLICY: u32 = 8218; pub const ERROR_POLICY_OBJECT_NOT_FOUND: u32 = 8219; pub const ERROR_POLICY_ONLY_IN_DS: u32 = 8220; pub const ERROR_PROMOTION_ACTIVE: u32 = 8221; pub const ERROR_NO_PROMOTION_ACTIVE: u32 = 8222; pub const ERROR_DS_OPERATIONS_ERROR: u32 = 8224; pub const ERROR_DS_PROTOCOL_ERROR: u32 = 8225; pub const ERROR_DS_TIMELIMIT_EXCEEDED: u32 = 8226; pub const ERROR_DS_SIZELIMIT_EXCEEDED: u32 = 8227; pub const ERROR_DS_ADMIN_LIMIT_EXCEEDED: u32 = 8228; pub const ERROR_DS_COMPARE_FALSE: u32 = 8229; pub const ERROR_DS_COMPARE_TRUE: u32 = 8230; pub const ERROR_DS_AUTH_METHOD_NOT_SUPPORTED: u32 = 8231; pub const ERROR_DS_STRONG_AUTH_REQUIRED: u32 = 8232; pub const ERROR_DS_INAPPROPRIATE_AUTH: u32 = 8233; pub const ERROR_DS_AUTH_UNKNOWN: u32 = 8234; pub const ERROR_DS_REFERRAL: u32 = 8235; pub const ERROR_DS_UNAVAILABLE_CRIT_EXTENSION: u32 = 8236; pub const ERROR_DS_CONFIDENTIALITY_REQUIRED: u32 = 8237; pub const ERROR_DS_INAPPROPRIATE_MATCHING: u32 = 8238; pub const ERROR_DS_CONSTRAINT_VIOLATION: u32 = 8239; pub const ERROR_DS_NO_SUCH_OBJECT: u32 = 8240; pub const ERROR_DS_ALIAS_PROBLEM: u32 = 8241; pub const ERROR_DS_INVALID_DN_SYNTAX: u32 = 8242; pub const ERROR_DS_IS_LEAF: u32 = 8243; pub const ERROR_DS_ALIAS_DEREF_PROBLEM: u32 = 8244; pub const ERROR_DS_UNWILLING_TO_PERFORM: u32 = 8245; pub const ERROR_DS_LOOP_DETECT: u32 = 8246; pub const ERROR_DS_NAMING_VIOLATION: u32 = 8247; pub const ERROR_DS_OBJECT_RESULTS_TOO_LARGE: u32 = 8248; pub const ERROR_DS_AFFECTS_MULTIPLE_DSAS: u32 = 8249; pub const ERROR_DS_SERVER_DOWN: u32 = 8250; pub const ERROR_DS_LOCAL_ERROR: u32 = 8251; pub const ERROR_DS_ENCODING_ERROR: u32 = 8252; pub const ERROR_DS_DECODING_ERROR: u32 = 8253; pub const ERROR_DS_FILTER_UNKNOWN: u32 = 8254; pub const ERROR_DS_PARAM_ERROR: u32 = 8255; pub const ERROR_DS_NOT_SUPPORTED: u32 = 8256; pub const ERROR_DS_NO_RESULTS_RETURNED: u32 = 8257; pub const ERROR_DS_CONTROL_NOT_FOUND: u32 = 8258; pub const ERROR_DS_CLIENT_LOOP: u32 = 8259; pub const ERROR_DS_REFERRAL_LIMIT_EXCEEDED: u32 = 8260; pub const ERROR_DS_SORT_CONTROL_MISSING: u32 = 8261; pub const ERROR_DS_OFFSET_RANGE_ERROR: u32 = 8262; pub const ERROR_DS_RIDMGR_DISABLED: u32 = 8263; pub const ERROR_DS_ROOT_MUST_BE_NC: u32 = 8301; pub const ERROR_DS_ADD_REPLICA_INHIBITED: u32 = 8302; pub const ERROR_DS_ATT_NOT_DEF_IN_SCHEMA: u32 = 8303; pub const ERROR_DS_MAX_OBJ_SIZE_EXCEEDED: u32 = 8304; pub const ERROR_DS_OBJ_STRING_NAME_EXISTS: u32 = 8305; pub const ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA: u32 = 8306; pub const ERROR_DS_RDN_DOESNT_MATCH_SCHEMA: u32 = 8307; pub const ERROR_DS_NO_REQUESTED_ATTS_FOUND: u32 = 8308; pub const ERROR_DS_USER_BUFFER_TO_SMALL: u32 = 8309; pub const ERROR_DS_ATT_IS_NOT_ON_OBJ: u32 = 8310; pub const ERROR_DS_ILLEGAL_MOD_OPERATION: u32 = 8311; pub const ERROR_DS_OBJ_TOO_LARGE: u32 = 8312; pub const ERROR_DS_BAD_INSTANCE_TYPE: u32 = 8313; pub const ERROR_DS_MASTERDSA_REQUIRED: u32 = 8314; pub const ERROR_DS_OBJECT_CLASS_REQUIRED: u32 = 8315; pub const ERROR_DS_MISSING_REQUIRED_ATT: u32 = 8316; pub const ERROR_DS_ATT_NOT_DEF_FOR_CLASS: u32 = 8317; pub const ERROR_DS_ATT_ALREADY_EXISTS: u32 = 8318; pub const ERROR_DS_CANT_ADD_ATT_VALUES: u32 = 8320; pub const ERROR_DS_SINGLE_VALUE_CONSTRAINT: u32 = 8321; pub const ERROR_DS_RANGE_CONSTRAINT: u32 = 8322; pub const ERROR_DS_ATT_VAL_ALREADY_EXISTS: u32 = 8323; pub const ERROR_DS_CANT_REM_MISSING_ATT: u32 = 8324; pub const ERROR_DS_CANT_REM_MISSING_ATT_VAL: u32 = 8325; pub const ERROR_DS_ROOT_CANT_BE_SUBREF: u32 = 8326; pub const ERROR_DS_NO_CHAINING: u32 = 8327; pub const ERROR_DS_NO_CHAINED_EVAL: u32 = 8328; pub const ERROR_DS_NO_PARENT_OBJECT: u32 = 8329; pub const ERROR_DS_PARENT_IS_AN_ALIAS: u32 = 8330; pub const ERROR_DS_CANT_MIX_MASTER_AND_REPS: u32 = 8331; pub const ERROR_DS_CHILDREN_EXIST: u32 = 8332; pub const ERROR_DS_OBJ_NOT_FOUND: u32 = 8333; pub const ERROR_DS_ALIASED_OBJ_MISSING: u32 = 8334; pub const ERROR_DS_BAD_NAME_SYNTAX: u32 = 8335; pub const ERROR_DS_ALIAS_POINTS_TO_ALIAS: u32 = 8336; pub const ERROR_DS_CANT_DEREF_ALIAS: u32 = 8337; pub const ERROR_DS_OUT_OF_SCOPE: u32 = 8338; pub const ERROR_DS_OBJECT_BEING_REMOVED: u32 = 8339; pub const ERROR_DS_CANT_DELETE_DSA_OBJ: u32 = 8340; pub const ERROR_DS_GENERIC_ERROR: u32 = 8341; pub const ERROR_DS_DSA_MUST_BE_INT_MASTER: u32 = 8342; pub const ERROR_DS_CLASS_NOT_DSA: u32 = 8343; pub const ERROR_DS_INSUFF_ACCESS_RIGHTS: u32 = 8344; pub const ERROR_DS_ILLEGAL_SUPERIOR: u32 = 8345; pub const ERROR_DS_ATTRIBUTE_OWNED_BY_SAM: u32 = 8346; pub const ERROR_DS_NAME_TOO_MANY_PARTS: u32 = 8347; pub const ERROR_DS_NAME_TOO_LONG: u32 = 8348; pub const ERROR_DS_NAME_VALUE_TOO_LONG: u32 = 8349; pub const ERROR_DS_NAME_UNPARSEABLE: u32 = 8350; pub const ERROR_DS_NAME_TYPE_UNKNOWN: u32 = 8351; pub const ERROR_DS_NOT_AN_OBJECT: u32 = 8352; pub const ERROR_DS_SEC_DESC_TOO_SHORT: u32 = 8353; pub const ERROR_DS_SEC_DESC_INVALID: u32 = 8354; pub const ERROR_DS_NO_DELETED_NAME: u32 = 8355; pub const ERROR_DS_SUBREF_MUST_HAVE_PARENT: u32 = 8356; pub const ERROR_DS_NCNAME_MUST_BE_NC: u32 = 8357; pub const ERROR_DS_CANT_ADD_SYSTEM_ONLY: u32 = 8358; pub const ERROR_DS_CLASS_MUST_BE_CONCRETE: u32 = 8359; pub const ERROR_DS_INVALID_DMD: u32 = 8360; pub const ERROR_DS_OBJ_GUID_EXISTS: u32 = 8361; pub const ERROR_DS_NOT_ON_BACKLINK: u32 = 8362; pub const ERROR_DS_NO_CROSSREF_FOR_NC: u32 = 8363; pub const ERROR_DS_SHUTTING_DOWN: u32 = 8364; pub const ERROR_DS_UNKNOWN_OPERATION: u32 = 8365; pub const ERROR_DS_INVALID_ROLE_OWNER: u32 = 8366; pub const ERROR_DS_COULDNT_CONTACT_FSMO: u32 = 8367; pub const ERROR_DS_CROSS_NC_DN_RENAME: u32 = 8368; pub const ERROR_DS_CANT_MOD_SYSTEM_ONLY: u32 = 8369; pub const ERROR_DS_REPLICATOR_ONLY: u32 = 8370; pub const ERROR_DS_OBJ_CLASS_NOT_DEFINED: u32 = 8371; pub const ERROR_DS_OBJ_CLASS_NOT_SUBCLASS: u32 = 8372; pub const ERROR_DS_NAME_REFERENCE_INVALID: u32 = 8373; pub const ERROR_DS_CROSS_REF_EXISTS: u32 = 8374; pub const ERROR_DS_CANT_DEL_MASTER_CROSSREF: u32 = 8375; pub const ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD: u32 = 8376; pub const ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX: u32 = 8377; pub const ERROR_DS_DUP_RDN: u32 = 8378; pub const ERROR_DS_DUP_OID: u32 = 8379; pub const ERROR_DS_DUP_MAPI_ID: u32 = 8380; pub const ERROR_DS_DUP_SCHEMA_ID_GUID: u32 = 8381; pub const ERROR_DS_DUP_LDAP_DISPLAY_NAME: u32 = 8382; pub const ERROR_DS_SEMANTIC_ATT_TEST: u32 = 8383; pub const ERROR_DS_SYNTAX_MISMATCH: u32 = 8384; pub const ERROR_DS_EXISTS_IN_MUST_HAVE: u32 = 8385; pub const ERROR_DS_EXISTS_IN_MAY_HAVE: u32 = 8386; pub const ERROR_DS_NONEXISTENT_MAY_HAVE: u32 = 8387; pub const ERROR_DS_NONEXISTENT_MUST_HAVE: u32 = 8388; pub const ERROR_DS_AUX_CLS_TEST_FAIL: u32 = 8389; pub const ERROR_DS_NONEXISTENT_POSS_SUP: u32 = 8390; pub const ERROR_DS_SUB_CLS_TEST_FAIL: u32 = 8391; pub const ERROR_DS_BAD_RDN_ATT_ID_SYNTAX: u32 = 8392; pub const ERROR_DS_EXISTS_IN_AUX_CLS: u32 = 8393; pub const ERROR_DS_EXISTS_IN_SUB_CLS: u32 = 8394; pub const ERROR_DS_EXISTS_IN_POSS_SUP: u32 = 8395; pub const ERROR_DS_RECALCSCHEMA_FAILED: u32 = 8396; pub const ERROR_DS_TREE_DELETE_NOT_FINISHED: u32 = 8397; pub const ERROR_DS_CANT_DELETE: u32 = 8398; pub const ERROR_DS_ATT_SCHEMA_REQ_ID: u32 = 8399; pub const ERROR_DS_BAD_ATT_SCHEMA_SYNTAX: u32 = 8400; pub const ERROR_DS_CANT_CACHE_ATT: u32 = 8401; pub const ERROR_DS_CANT_CACHE_CLASS: u32 = 8402; pub const ERROR_DS_CANT_REMOVE_ATT_CACHE: u32 = 8403; pub const ERROR_DS_CANT_REMOVE_CLASS_CACHE: u32 = 8404; pub const ERROR_DS_CANT_RETRIEVE_DN: u32 = 8405; pub const ERROR_DS_MISSING_SUPREF: u32 = 8406; pub const ERROR_DS_CANT_RETRIEVE_INSTANCE: u32 = 8407; pub const ERROR_DS_CODE_INCONSISTENCY: u32 = 8408; pub const ERROR_DS_DATABASE_ERROR: u32 = 8409; pub const ERROR_DS_GOVERNSID_MISSING: u32 = 8410; pub const ERROR_DS_MISSING_EXPECTED_ATT: u32 = 8411; pub const ERROR_DS_NCNAME_MISSING_CR_REF: u32 = 8412; pub const ERROR_DS_SECURITY_CHECKING_ERROR: u32 = 8413; pub const ERROR_DS_SCHEMA_NOT_LOADED: u32 = 8414; pub const ERROR_DS_SCHEMA_ALLOC_FAILED: u32 = 8415; pub const ERROR_DS_ATT_SCHEMA_REQ_SYNTAX: u32 = 8416; pub const ERROR_DS_GCVERIFY_ERROR: u32 = 8417; pub const ERROR_DS_DRA_SCHEMA_MISMATCH: u32 = 8418; pub const ERROR_DS_CANT_FIND_DSA_OBJ: u32 = 8419; pub const ERROR_DS_CANT_FIND_EXPECTED_NC: u32 = 8420; pub const ERROR_DS_CANT_FIND_NC_IN_CACHE: u32 = 8421; pub const ERROR_DS_CANT_RETRIEVE_CHILD: u32 = 8422; pub const ERROR_DS_SECURITY_ILLEGAL_MODIFY: u32 = 8423; pub const ERROR_DS_CANT_REPLACE_HIDDEN_REC: u32 = 8424; pub const ERROR_DS_BAD_HIERARCHY_FILE: u32 = 8425; pub const ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED: u32 = 8426; pub const ERROR_DS_CONFIG_PARAM_MISSING: u32 = 8427; pub const ERROR_DS_COUNTING_AB_INDICES_FAILED: u32 = 8428; pub const ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED: u32 = 8429; pub const ERROR_DS_INTERNAL_FAILURE: u32 = 8430; pub const ERROR_DS_UNKNOWN_ERROR: u32 = 8431; pub const ERROR_DS_ROOT_REQUIRES_CLASS_TOP: u32 = 8432; pub const ERROR_DS_REFUSING_FSMO_ROLES: u32 = 8433; pub const ERROR_DS_MISSING_FSMO_SETTINGS: u32 = 8434; pub const ERROR_DS_UNABLE_TO_SURRENDER_ROLES: u32 = 8435; pub const ERROR_DS_DRA_GENERIC: u32 = 8436; pub const ERROR_DS_DRA_INVALID_PARAMETER: u32 = 8437; pub const ERROR_DS_DRA_BUSY: u32 = 8438; pub const ERROR_DS_DRA_BAD_DN: u32 = 8439; pub const ERROR_DS_DRA_BAD_NC: u32 = 8440; pub const ERROR_DS_DRA_DN_EXISTS: u32 = 8441; pub const ERROR_DS_DRA_INTERNAL_ERROR: u32 = 8442; pub const ERROR_DS_DRA_INCONSISTENT_DIT: u32 = 8443; pub const ERROR_DS_DRA_CONNECTION_FAILED: u32 = 8444; pub const ERROR_DS_DRA_BAD_INSTANCE_TYPE: u32 = 8445; pub const ERROR_DS_DRA_OUT_OF_MEM: u32 = 8446; pub const ERROR_DS_DRA_MAIL_PROBLEM: u32 = 8447; pub const ERROR_DS_DRA_REF_ALREADY_EXISTS: u32 = 8448; pub const ERROR_DS_DRA_REF_NOT_FOUND: u32 = 8449; pub const ERROR_DS_DRA_OBJ_IS_REP_SOURCE: u32 = 8450; pub const ERROR_DS_DRA_DB_ERROR: u32 = 8451; pub const ERROR_DS_DRA_NO_REPLICA: u32 = 8452; pub const ERROR_DS_DRA_ACCESS_DENIED: u32 = 8453; pub const ERROR_DS_DRA_NOT_SUPPORTED: u32 = 8454; pub const ERROR_DS_DRA_RPC_CANCELLED: u32 = 8455; pub const ERROR_DS_DRA_SOURCE_DISABLED: u32 = 8456; pub const ERROR_DS_DRA_SINK_DISABLED: u32 = 8457; pub const ERROR_DS_DRA_NAME_COLLISION: u32 = 8458; pub const ERROR_DS_DRA_SOURCE_REINSTALLED: u32 = 8459; pub const ERROR_DS_DRA_MISSING_PARENT: u32 = 8460; pub const ERROR_DS_DRA_PREEMPTED: u32 = 8461; pub const ERROR_DS_DRA_ABANDON_SYNC: u32 = 8462; pub const ERROR_DS_DRA_SHUTDOWN: u32 = 8463; pub const ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET: u32 = 8464; pub const ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA: u32 = 8465; pub const ERROR_DS_DRA_EXTN_CONNECTION_FAILED: u32 = 8466; pub const ERROR_DS_INSTALL_SCHEMA_MISMATCH: u32 = 8467; pub const ERROR_DS_DUP_LINK_ID: u32 = 8468; pub const ERROR_DS_NAME_ERROR_RESOLVING: u32 = 8469; pub const ERROR_DS_NAME_ERROR_NOT_FOUND: u32 = 8470; pub const ERROR_DS_NAME_ERROR_NOT_UNIQUE: u32 = 8471; pub const ERROR_DS_NAME_ERROR_NO_MAPPING: u32 = 8472; pub const ERROR_DS_NAME_ERROR_DOMAIN_ONLY: u32 = 8473; pub const ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING: u32 = 8474; pub const ERROR_DS_CONSTRUCTED_ATT_MOD: u32 = 8475; pub const ERROR_DS_WRONG_OM_OBJ_CLASS: u32 = 8476; pub const ERROR_DS_DRA_REPL_PENDING: u32 = 8477; pub const ERROR_DS_DS_REQUIRED: u32 = 8478; pub const ERROR_DS_INVALID_LDAP_DISPLAY_NAME: u32 = 8479; pub const ERROR_DS_NON_BASE_SEARCH: u32 = 8480; pub const ERROR_DS_CANT_RETRIEVE_ATTS: u32 = 8481; pub const ERROR_DS_BACKLINK_WITHOUT_LINK: u32 = 8482; pub const ERROR_DS_EPOCH_MISMATCH: u32 = 8483; pub const ERROR_DS_SRC_NAME_MISMATCH: u32 = 8484; pub const ERROR_DS_SRC_AND_DST_NC_IDENTICAL: u32 = 8485; pub const ERROR_DS_DST_NC_MISMATCH: u32 = 8486; pub const ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC: u32 = 8487; pub const ERROR_DS_SRC_GUID_MISMATCH: u32 = 8488; pub const ERROR_DS_CANT_MOVE_DELETED_OBJECT: u32 = 8489; pub const ERROR_DS_PDC_OPERATION_IN_PROGRESS: u32 = 8490; pub const ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD: u32 = 8491; pub const ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION: u32 = 8492; pub const ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS: u32 = 8493; pub const ERROR_DS_NC_MUST_HAVE_NC_PARENT: u32 = 8494; pub const ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE: u32 = 8495; pub const ERROR_DS_DST_DOMAIN_NOT_NATIVE: u32 = 8496; pub const ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER: u32 = 8497; pub const ERROR_DS_CANT_MOVE_ACCOUNT_GROUP: u32 = 8498; pub const ERROR_DS_CANT_MOVE_RESOURCE_GROUP: u32 = 8499; pub const ERROR_DS_INVALID_SEARCH_FLAG: u32 = 8500; pub const ERROR_DS_NO_TREE_DELETE_ABOVE_NC: u32 = 8501; pub const ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE: u32 = 8502; pub const ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE: u32 = 8503; pub const ERROR_DS_SAM_INIT_FAILURE: u32 = 8504; pub const ERROR_DS_SENSITIVE_GROUP_VIOLATION: u32 = 8505; pub const ERROR_DS_CANT_MOD_PRIMARYGROUPID: u32 = 8506; pub const ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD: u32 = 8507; pub const ERROR_DS_NONSAFE_SCHEMA_CHANGE: u32 = 8508; pub const ERROR_DS_SCHEMA_UPDATE_DISALLOWED: u32 = 8509; pub const ERROR_DS_CANT_CREATE_UNDER_SCHEMA: u32 = 8510; pub const ERROR_DS_INSTALL_NO_SRC_SCH_VERSION: u32 = 8511; pub const ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE: u32 = 8512; pub const ERROR_DS_INVALID_GROUP_TYPE: u32 = 8513; pub const ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN: u32 = 8514; pub const ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN: u32 = 8515; pub const ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER: u32 = 8516; pub const ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER: u32 = 8517; pub const ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER: u32 = 8518; pub const ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER: u32 = 8519; pub const ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER: u32 = 8520; pub const ERROR_DS_HAVE_PRIMARY_MEMBERS: u32 = 8521; pub const ERROR_DS_STRING_SD_CONVERSION_FAILED: u32 = 8522; pub const ERROR_DS_NAMING_MASTER_GC: u32 = 8523; pub const ERROR_DS_DNS_LOOKUP_FAILURE: u32 = 8524; pub const ERROR_DS_COULDNT_UPDATE_SPNS: u32 = 8525; pub const ERROR_DS_CANT_RETRIEVE_SD: u32 = 8526; pub const ERROR_DS_KEY_NOT_UNIQUE: u32 = 8527; pub const ERROR_DS_WRONG_LINKED_ATT_SYNTAX: u32 = 8528; pub const ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD: u32 = 8529; pub const ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY: u32 = 8530; pub const ERROR_DS_CANT_START: u32 = 8531; pub const ERROR_DS_INIT_FAILURE: u32 = 8532; pub const ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION: u32 = 8533; pub const ERROR_DS_SOURCE_DOMAIN_IN_FOREST: u32 = 8534; pub const ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST: u32 = 8535; pub const ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED: u32 = 8536; pub const ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN: u32 = 8537; pub const ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER: u32 = 8538; pub const ERROR_DS_SRC_SID_EXISTS_IN_FOREST: u32 = 8539; pub const ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH: u32 = 8540; pub const ERROR_SAM_INIT_FAILURE: u32 = 8541; pub const ERROR_DS_DRA_SCHEMA_INFO_SHIP: u32 = 8542; pub const ERROR_DS_DRA_SCHEMA_CONFLICT: u32 = 8543; pub const ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT: u32 = 8544; pub const ERROR_DS_DRA_OBJ_NC_MISMATCH: u32 = 8545; pub const ERROR_DS_NC_STILL_HAS_DSAS: u32 = 8546; pub const ERROR_DS_GC_REQUIRED: u32 = 8547; pub const ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY: u32 = 8548; pub const ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS: u32 = 8549; pub const ERROR_DS_CANT_ADD_TO_GC: u32 = 8550; pub const ERROR_DS_NO_CHECKPOINT_WITH_PDC: u32 = 8551; pub const ERROR_DS_SOURCE_AUDITING_NOT_ENABLED: u32 = 8552; pub const ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC: u32 = 8553; pub const ERROR_DS_INVALID_NAME_FOR_SPN: u32 = 8554; pub const ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS: u32 = 8555; pub const ERROR_DS_UNICODEPWD_NOT_IN_QUOTES: u32 = 8556; pub const ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED: u32 = 8557; pub const ERROR_DS_MUST_BE_RUN_ON_DST_DC: u32 = 8558; pub const ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER: u32 = 8559; pub const ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ: u32 = 8560; pub const ERROR_DS_INIT_FAILURE_CONSOLE: u32 = 8561; pub const ERROR_DS_SAM_INIT_FAILURE_CONSOLE: u32 = 8562; pub const ERROR_DS_FOREST_VERSION_TOO_HIGH: u32 = 8563; pub const ERROR_DS_DOMAIN_VERSION_TOO_HIGH: u32 = 8564; pub const ERROR_DS_FOREST_VERSION_TOO_LOW: u32 = 8565; pub const ERROR_DS_DOMAIN_VERSION_TOO_LOW: u32 = 8566; pub const ERROR_DS_INCOMPATIBLE_VERSION: u32 = 8567; pub const ERROR_DS_LOW_DSA_VERSION: u32 = 8568; pub const ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN: u32 = 8569; pub const ERROR_DS_NOT_SUPPORTED_SORT_ORDER: u32 = 8570; pub const ERROR_DS_NAME_NOT_UNIQUE: u32 = 8571; pub const ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4: u32 = 8572; pub const ERROR_DS_OUT_OF_VERSION_STORE: u32 = 8573; pub const ERROR_DS_INCOMPATIBLE_CONTROLS_USED: u32 = 8574; pub const ERROR_DS_NO_REF_DOMAIN: u32 = 8575; pub const ERROR_DS_RESERVED_LINK_ID: u32 = 8576; pub const ERROR_DS_LINK_ID_NOT_AVAILABLE: u32 = 8577; pub const ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER: u32 = 8578; pub const ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE: u32 = 8579; pub const ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC: u32 = 8580; pub const ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG: u32 = 8581; pub const ERROR_DS_MODIFYDN_WRONG_GRANDPARENT: u32 = 8582; pub const ERROR_DS_NAME_ERROR_TRUST_REFERRAL: u32 = 8583; pub const ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER: u32 = 8584; pub const ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD: u32 = 8585; pub const ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2: u32 = 8586; pub const ERROR_DS_THREAD_LIMIT_EXCEEDED: u32 = 8587; pub const ERROR_DS_NOT_CLOSEST: u32 = 8588; pub const ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF: u32 = 8589; pub const ERROR_DS_SINGLE_USER_MODE_FAILED: u32 = 8590; pub const ERROR_DS_NTDSCRIPT_SYNTAX_ERROR: u32 = 8591; pub const ERROR_DS_NTDSCRIPT_PROCESS_ERROR: u32 = 8592; pub const ERROR_DS_DIFFERENT_REPL_EPOCHS: u32 = 8593; pub const ERROR_DS_DRS_EXTENSIONS_CHANGED: u32 = 8594; pub const ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR: u32 = 8595; pub const ERROR_DS_NO_MSDS_INTID: u32 = 8596; pub const ERROR_DS_DUP_MSDS_INTID: u32 = 8597; pub const ERROR_DS_EXISTS_IN_RDNATTID: u32 = 8598; pub const ERROR_DS_AUTHORIZATION_FAILED: u32 = 8599; pub const ERROR_DS_INVALID_SCRIPT: u32 = 8600; pub const ERROR_DS_REMOTE_CROSSREF_OP_FAILED: u32 = 8601; pub const ERROR_DS_CROSS_REF_BUSY: u32 = 8602; pub const ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN: u32 = 8603; pub const ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC: u32 = 8604; pub const ERROR_DS_DUPLICATE_ID_FOUND: u32 = 8605; pub const ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT: u32 = 8606; pub const ERROR_DS_GROUP_CONVERSION_ERROR: u32 = 8607; pub const ERROR_DS_CANT_MOVE_APP_BASIC_GROUP: u32 = 8608; pub const ERROR_DS_CANT_MOVE_APP_QUERY_GROUP: u32 = 8609; pub const ERROR_DS_ROLE_NOT_VERIFIED: u32 = 8610; pub const ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL: u32 = 8611; pub const ERROR_DS_DOMAIN_RENAME_IN_PROGRESS: u32 = 8612; pub const ERROR_DS_EXISTING_AD_CHILD_NC: u32 = 8613; pub const ERROR_DS_REPL_LIFETIME_EXCEEDED: u32 = 8614; pub const ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER: u32 = 8615; pub const ERROR_DS_LDAP_SEND_QUEUE_FULL: u32 = 8616; pub const ERROR_DS_DRA_OUT_SCHEDULE_WINDOW: u32 = 8617; pub const ERROR_DS_POLICY_NOT_KNOWN: u32 = 8618; pub const ERROR_NO_SITE_SETTINGS_OBJECT: u32 = 8619; pub const ERROR_NO_SECRETS: u32 = 8620; pub const ERROR_NO_WRITABLE_DC_FOUND: u32 = 8621; pub const ERROR_DS_NO_SERVER_OBJECT: u32 = 8622; pub const ERROR_DS_NO_NTDSA_OBJECT: u32 = 8623; pub const ERROR_DS_NON_ASQ_SEARCH: u32 = 8624; pub const ERROR_DS_AUDIT_FAILURE: u32 = 8625; pub const ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE: u32 = 8626; pub const ERROR_DS_INVALID_SEARCH_FLAG_TUPLE: u32 = 8627; pub const ERROR_DS_HIERARCHY_TABLE_TOO_DEEP: u32 = 8628; pub const ERROR_DS_DRA_CORRUPT_UTD_VECTOR: u32 = 8629; pub const ERROR_DS_DRA_SECRETS_DENIED: u32 = 8630; pub const ERROR_DS_RESERVED_MAPI_ID: u32 = 8631; pub const ERROR_DS_MAPI_ID_NOT_AVAILABLE: u32 = 8632; pub const ERROR_DS_DRA_MISSING_KRBTGT_SECRET: u32 = 8633; pub const ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST: u32 = 8634; pub const ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST: u32 = 8635; pub const ERROR_INVALID_USER_PRINCIPAL_NAME: u32 = 8636; pub const ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS: u32 = 8637; pub const ERROR_DS_OID_NOT_FOUND: u32 = 8638; pub const ERROR_DS_DRA_RECYCLED_TARGET: u32 = 8639; pub const ERROR_DS_DISALLOWED_NC_REDIRECT: u32 = 8640; pub const ERROR_DS_HIGH_ADLDS_FFL: u32 = 8641; pub const ERROR_DS_HIGH_DSA_VERSION: u32 = 8642; pub const ERROR_DS_LOW_ADLDS_FFL: u32 = 8643; pub const ERROR_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION: u32 = 8644; pub const ERROR_DS_UNDELETE_SAM_VALIDATION_FAILED: u32 = 8645; pub const ERROR_INCORRECT_ACCOUNT_TYPE: u32 = 8646; pub const ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST: u32 = 8647; pub const ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST: u32 = 8648; pub const ERROR_DS_MISSING_FOREST_TRUST: u32 = 8649; pub const ERROR_DS_VALUE_KEY_NOT_UNIQUE: u32 = 8650; pub const DNS_ERROR_RESPONSE_CODES_BASE: u32 = 9000; pub const DNS_ERROR_RCODE_NO_ERROR: u32 = 0; pub const DNS_ERROR_MASK: u32 = 9000; pub const DNS_ERROR_RCODE_FORMAT_ERROR: u32 = 9001; pub const DNS_ERROR_RCODE_SERVER_FAILURE: u32 = 9002; pub const DNS_ERROR_RCODE_NAME_ERROR: u32 = 9003; pub const DNS_ERROR_RCODE_NOT_IMPLEMENTED: u32 = 9004; pub const DNS_ERROR_RCODE_REFUSED: u32 = 9005; pub const DNS_ERROR_RCODE_YXDOMAIN: u32 = 9006; pub const DNS_ERROR_RCODE_YXRRSET: u32 = 9007; pub const DNS_ERROR_RCODE_NXRRSET: u32 = 9008; pub const DNS_ERROR_RCODE_NOTAUTH: u32 = 9009; pub const DNS_ERROR_RCODE_NOTZONE: u32 = 9010; pub const DNS_ERROR_RCODE_BADSIG: u32 = 9016; pub const DNS_ERROR_RCODE_BADKEY: u32 = 9017; pub const DNS_ERROR_RCODE_BADTIME: u32 = 9018; pub const DNS_ERROR_RCODE_LAST: u32 = 9018; pub const DNS_ERROR_DNSSEC_BASE: u32 = 9100; pub const DNS_ERROR_KEYMASTER_REQUIRED: u32 = 9101; pub const DNS_ERROR_NOT_ALLOWED_ON_SIGNED_ZONE: u32 = 9102; pub const DNS_ERROR_NSEC3_INCOMPATIBLE_WITH_RSA_SHA1: u32 = 9103; pub const DNS_ERROR_NOT_ENOUGH_SIGNING_KEY_DESCRIPTORS: u32 = 9104; pub const DNS_ERROR_UNSUPPORTED_ALGORITHM: u32 = 9105; pub const DNS_ERROR_INVALID_KEY_SIZE: u32 = 9106; pub const DNS_ERROR_SIGNING_KEY_NOT_ACCESSIBLE: u32 = 9107; pub const DNS_ERROR_KSP_DOES_NOT_SUPPORT_PROTECTION: u32 = 9108; pub const DNS_ERROR_UNEXPECTED_DATA_PROTECTION_ERROR: u32 = 9109; pub const DNS_ERROR_UNEXPECTED_CNG_ERROR: u32 = 9110; pub const DNS_ERROR_UNKNOWN_SIGNING_PARAMETER_VERSION: u32 = 9111; pub const DNS_ERROR_KSP_NOT_ACCESSIBLE: u32 = 9112; pub const DNS_ERROR_TOO_MANY_SKDS: u32 = 9113; pub const DNS_ERROR_INVALID_ROLLOVER_PERIOD: u32 = 9114; pub const DNS_ERROR_INVALID_INITIAL_ROLLOVER_OFFSET: u32 = 9115; pub const DNS_ERROR_ROLLOVER_IN_PROGRESS: u32 = 9116; pub const DNS_ERROR_STANDBY_KEY_NOT_PRESENT: u32 = 9117; pub const DNS_ERROR_NOT_ALLOWED_ON_ZSK: u32 = 9118; pub const DNS_ERROR_NOT_ALLOWED_ON_ACTIVE_SKD: u32 = 9119; pub const DNS_ERROR_ROLLOVER_ALREADY_QUEUED: u32 = 9120; pub const DNS_ERROR_NOT_ALLOWED_ON_UNSIGNED_ZONE: u32 = 9121; pub const DNS_ERROR_BAD_KEYMASTER: u32 = 9122; pub const DNS_ERROR_INVALID_SIGNATURE_VALIDITY_PERIOD: u32 = 9123; pub const DNS_ERROR_INVALID_NSEC3_ITERATION_COUNT: u32 = 9124; pub const DNS_ERROR_DNSSEC_IS_DISABLED: u32 = 9125; pub const DNS_ERROR_INVALID_XML: u32 = 9126; pub const DNS_ERROR_NO_VALID_TRUST_ANCHORS: u32 = 9127; pub const DNS_ERROR_ROLLOVER_NOT_POKEABLE: u32 = 9128; pub const DNS_ERROR_NSEC3_NAME_COLLISION: u32 = 9129; pub const DNS_ERROR_NSEC_INCOMPATIBLE_WITH_NSEC3_RSA_SHA1: u32 = 9130; pub const DNS_ERROR_PACKET_FMT_BASE: u32 = 9500; pub const DNS_INFO_NO_RECORDS: u32 = 9501; pub const DNS_ERROR_BAD_PACKET: u32 = 9502; pub const DNS_ERROR_NO_PACKET: u32 = 9503; pub const DNS_ERROR_RCODE: u32 = 9504; pub const DNS_ERROR_UNSECURE_PACKET: u32 = 9505; pub const DNS_STATUS_PACKET_UNSECURE: u32 = 9505; pub const DNS_REQUEST_PENDING: u32 = 9506; pub const DNS_ERROR_NO_MEMORY: u32 = 14; pub const DNS_ERROR_INVALID_NAME: u32 = 123; pub const DNS_ERROR_INVALID_DATA: u32 = 13; pub const DNS_ERROR_GENERAL_API_BASE: u32 = 9550; pub const DNS_ERROR_INVALID_TYPE: u32 = 9551; pub const DNS_ERROR_INVALID_IP_ADDRESS: u32 = 9552; pub const DNS_ERROR_INVALID_PROPERTY: u32 = 9553; pub const DNS_ERROR_TRY_AGAIN_LATER: u32 = 9554; pub const DNS_ERROR_NOT_UNIQUE: u32 = 9555; pub const DNS_ERROR_NON_RFC_NAME: u32 = 9556; pub const DNS_STATUS_FQDN: u32 = 9557; pub const DNS_STATUS_DOTTED_NAME: u32 = 9558; pub const DNS_STATUS_SINGLE_PART_NAME: u32 = 9559; pub const DNS_ERROR_INVALID_NAME_CHAR: u32 = 9560; pub const DNS_ERROR_NUMERIC_NAME: u32 = 9561; pub const DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER: u32 = 9562; pub const DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION: u32 = 9563; pub const DNS_ERROR_CANNOT_FIND_ROOT_HINTS: u32 = 9564; pub const DNS_ERROR_INCONSISTENT_ROOT_HINTS: u32 = 9565; pub const DNS_ERROR_DWORD_VALUE_TOO_SMALL: u32 = 9566; pub const DNS_ERROR_DWORD_VALUE_TOO_LARGE: u32 = 9567; pub const DNS_ERROR_BACKGROUND_LOADING: u32 = 9568; pub const DNS_ERROR_NOT_ALLOWED_ON_RODC: u32 = 9569; pub const DNS_ERROR_NOT_ALLOWED_UNDER_DNAME: u32 = 9570; pub const DNS_ERROR_DELEGATION_REQUIRED: u32 = 9571; pub const DNS_ERROR_INVALID_POLICY_TABLE: u32 = 9572; pub const DNS_ERROR_ADDRESS_REQUIRED: u32 = 9573; pub const DNS_ERROR_ZONE_BASE: u32 = 9600; pub const DNS_ERROR_ZONE_DOES_NOT_EXIST: u32 = 9601; pub const DNS_ERROR_NO_ZONE_INFO: u32 = 9602; pub const DNS_ERROR_INVALID_ZONE_OPERATION: u32 = 9603; pub const DNS_ERROR_ZONE_CONFIGURATION_ERROR: u32 = 9604; pub const DNS_ERROR_ZONE_HAS_NO_SOA_RECORD: u32 = 9605; pub const DNS_ERROR_ZONE_HAS_NO_NS_RECORDS: u32 = 9606; pub const DNS_ERROR_ZONE_LOCKED: u32 = 9607; pub const DNS_ERROR_ZONE_CREATION_FAILED: u32 = 9608; pub const DNS_ERROR_ZONE_ALREADY_EXISTS: u32 = 9609; pub const DNS_ERROR_AUTOZONE_ALREADY_EXISTS: u32 = 9610; pub const DNS_ERROR_INVALID_ZONE_TYPE: u32 = 9611; pub const DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP: u32 = 9612; pub const DNS_ERROR_ZONE_NOT_SECONDARY: u32 = 9613; pub const DNS_ERROR_NEED_SECONDARY_ADDRESSES: u32 = 9614; pub const DNS_ERROR_WINS_INIT_FAILED: u32 = 9615; pub const DNS_ERROR_NEED_WINS_SERVERS: u32 = 9616; pub const DNS_ERROR_NBSTAT_INIT_FAILED: u32 = 9617; pub const DNS_ERROR_SOA_DELETE_INVALID: u32 = 9618; pub const DNS_ERROR_FORWARDER_ALREADY_EXISTS: u32 = 9619; pub const DNS_ERROR_ZONE_REQUIRES_MASTER_IP: u32 = 9620; pub const DNS_ERROR_ZONE_IS_SHUTDOWN: u32 = 9621; pub const DNS_ERROR_ZONE_LOCKED_FOR_SIGNING: u32 = 9622; pub const DNS_ERROR_DATAFILE_BASE: u32 = 9650; pub const DNS_ERROR_PRIMARY_REQUIRES_DATAFILE: u32 = 9651; pub const DNS_ERROR_INVALID_DATAFILE_NAME: u32 = 9652; pub const DNS_ERROR_DATAFILE_OPEN_FAILURE: u32 = 9653; pub const DNS_ERROR_FILE_WRITEBACK_FAILED: u32 = 9654; pub const DNS_ERROR_DATAFILE_PARSING: u32 = 9655; pub const DNS_ERROR_DATABASE_BASE: u32 = 9700; pub const DNS_ERROR_RECORD_DOES_NOT_EXIST: u32 = 9701; pub const DNS_ERROR_RECORD_FORMAT: u32 = 9702; pub const DNS_ERROR_NODE_CREATION_FAILED: u32 = 9703; pub const DNS_ERROR_UNKNOWN_RECORD_TYPE: u32 = 9704; pub const DNS_ERROR_RECORD_TIMED_OUT: u32 = 9705; pub const DNS_ERROR_NAME_NOT_IN_ZONE: u32 = 9706; pub const DNS_ERROR_CNAME_LOOP: u32 = 9707; pub const DNS_ERROR_NODE_IS_CNAME: u32 = 9708; pub const DNS_ERROR_CNAME_COLLISION: u32 = 9709; pub const DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT: u32 = 9710; pub const DNS_ERROR_RECORD_ALREADY_EXISTS: u32 = 9711; pub const DNS_ERROR_SECONDARY_DATA: u32 = 9712; pub const DNS_ERROR_NO_CREATE_CACHE_DATA: u32 = 9713; pub const DNS_ERROR_NAME_DOES_NOT_EXIST: u32 = 9714; pub const DNS_WARNING_PTR_CREATE_FAILED: u32 = 9715; pub const DNS_WARNING_DOMAIN_UNDELETED: u32 = 9716; pub const DNS_ERROR_DS_UNAVAILABLE: u32 = 9717; pub const DNS_ERROR_DS_ZONE_ALREADY_EXISTS: u32 = 9718; pub const DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE: u32 = 9719; pub const DNS_ERROR_NODE_IS_DNAME: u32 = 9720; pub const DNS_ERROR_DNAME_COLLISION: u32 = 9721; pub const DNS_ERROR_ALIAS_LOOP: u32 = 9722; pub const DNS_ERROR_OPERATION_BASE: u32 = 9750; pub const DNS_INFO_AXFR_COMPLETE: u32 = 9751; pub const DNS_ERROR_AXFR: u32 = 9752; pub const DNS_INFO_ADDED_LOCAL_WINS: u32 = 9753; pub const DNS_ERROR_SECURE_BASE: u32 = 9800; pub const DNS_STATUS_CONTINUE_NEEDED: u32 = 9801; pub const DNS_ERROR_SETUP_BASE: u32 = 9850; pub const DNS_ERROR_NO_TCPIP: u32 = 9851; pub const DNS_ERROR_NO_DNS_SERVERS: u32 = 9852; pub const DNS_ERROR_DP_BASE: u32 = 9900; pub const DNS_ERROR_DP_DOES_NOT_EXIST: u32 = 9901; pub const DNS_ERROR_DP_ALREADY_EXISTS: u32 = 9902; pub const DNS_ERROR_DP_NOT_ENLISTED: u32 = 9903; pub const DNS_ERROR_DP_ALREADY_ENLISTED: u32 = 9904; pub const DNS_ERROR_DP_NOT_AVAILABLE: u32 = 9905; pub const DNS_ERROR_DP_FSMO_ERROR: u32 = 9906; pub const DNS_ERROR_RRL_NOT_ENABLED: u32 = 9911; pub const DNS_ERROR_RRL_INVALID_WINDOW_SIZE: u32 = 9912; pub const DNS_ERROR_RRL_INVALID_IPV4_PREFIX: u32 = 9913; pub const DNS_ERROR_RRL_INVALID_IPV6_PREFIX: u32 = 9914; pub const DNS_ERROR_RRL_INVALID_TC_RATE: u32 = 9915; pub const DNS_ERROR_RRL_INVALID_LEAK_RATE: u32 = 9916; pub const DNS_ERROR_RRL_LEAK_RATE_LESSTHAN_TC_RATE: u32 = 9917; pub const DNS_ERROR_VIRTUALIZATION_INSTANCE_ALREADY_EXISTS: u32 = 9921; pub const DNS_ERROR_VIRTUALIZATION_INSTANCE_DOES_NOT_EXIST: u32 = 9922; pub const DNS_ERROR_VIRTUALIZATION_TREE_LOCKED: u32 = 9923; pub const DNS_ERROR_INVAILD_VIRTUALIZATION_INSTANCE_NAME: u32 = 9924; pub const DNS_ERROR_DEFAULT_VIRTUALIZATION_INSTANCE: u32 = 9925; pub const DNS_ERROR_ZONESCOPE_ALREADY_EXISTS: u32 = 9951; pub const DNS_ERROR_ZONESCOPE_DOES_NOT_EXIST: u32 = 9952; pub const DNS_ERROR_DEFAULT_ZONESCOPE: u32 = 9953; pub const DNS_ERROR_INVALID_ZONESCOPE_NAME: u32 = 9954; pub const DNS_ERROR_NOT_ALLOWED_WITH_ZONESCOPES: u32 = 9955; pub const DNS_ERROR_LOAD_ZONESCOPE_FAILED: u32 = 9956; pub const DNS_ERROR_ZONESCOPE_FILE_WRITEBACK_FAILED: u32 = 9957; pub const DNS_ERROR_INVALID_SCOPE_NAME: u32 = 9958; pub const DNS_ERROR_SCOPE_DOES_NOT_EXIST: u32 = 9959; pub const DNS_ERROR_DEFAULT_SCOPE: u32 = 9960; pub const DNS_ERROR_INVALID_SCOPE_OPERATION: u32 = 9961; pub const DNS_ERROR_SCOPE_LOCKED: u32 = 9962; pub const DNS_ERROR_SCOPE_ALREADY_EXISTS: u32 = 9963; pub const DNS_ERROR_POLICY_ALREADY_EXISTS: u32 = 9971; pub const DNS_ERROR_POLICY_DOES_NOT_EXIST: u32 = 9972; pub const DNS_ERROR_POLICY_INVALID_CRITERIA: u32 = 9973; pub const DNS_ERROR_POLICY_INVALID_SETTINGS: u32 = 9974; pub const DNS_ERROR_CLIENT_SUBNET_IS_ACCESSED: u32 = 9975; pub const DNS_ERROR_CLIENT_SUBNET_DOES_NOT_EXIST: u32 = 9976; pub const DNS_ERROR_CLIENT_SUBNET_ALREADY_EXISTS: u32 = 9977; pub const DNS_ERROR_SUBNET_DOES_NOT_EXIST: u32 = 9978; pub const DNS_ERROR_SUBNET_ALREADY_EXISTS: u32 = 9979; pub const DNS_ERROR_POLICY_LOCKED: u32 = 9980; pub const DNS_ERROR_POLICY_INVALID_WEIGHT: u32 = 9981; pub const DNS_ERROR_POLICY_INVALID_NAME: u32 = 9982; pub const DNS_ERROR_POLICY_MISSING_CRITERIA: u32 = 9983; pub const DNS_ERROR_INVALID_CLIENT_SUBNET_NAME: u32 = 9984; pub const DNS_ERROR_POLICY_PROCESSING_ORDER_INVALID: u32 = 9985; pub const DNS_ERROR_POLICY_SCOPE_MISSING: u32 = 9986; pub const DNS_ERROR_POLICY_SCOPE_NOT_ALLOWED: u32 = 9987; pub const DNS_ERROR_SERVERSCOPE_IS_REFERENCED: u32 = 9988; pub const DNS_ERROR_ZONESCOPE_IS_REFERENCED: u32 = 9989; pub const DNS_ERROR_POLICY_INVALID_CRITERIA_CLIENT_SUBNET: u32 = 9990; pub const DNS_ERROR_POLICY_INVALID_CRITERIA_TRANSPORT_PROTOCOL: u32 = 9991; pub const DNS_ERROR_POLICY_INVALID_CRITERIA_NETWORK_PROTOCOL: u32 = 9992; pub const DNS_ERROR_POLICY_INVALID_CRITERIA_INTERFACE: u32 = 9993; pub const DNS_ERROR_POLICY_INVALID_CRITERIA_FQDN: u32 = 9994; pub const DNS_ERROR_POLICY_INVALID_CRITERIA_QUERY_TYPE: u32 = 9995; pub const DNS_ERROR_POLICY_INVALID_CRITERIA_TIME_OF_DAY: u32 = 9996; pub const WSABASEERR: u32 = 10000; pub const WSAEINTR: u32 = 10004; pub const WSAEBADF: u32 = 10009; pub const WSAEACCES: u32 = 10013; pub const WSAEFAULT: u32 = 10014; pub const WSAEINVAL: u32 = 10022; pub const WSAEMFILE: u32 = 10024; pub const WSAEWOULDBLOCK: u32 = 10035; pub const WSAEINPROGRESS: u32 = 10036; pub const WSAEALREADY: u32 = 10037; pub const WSAENOTSOCK: u32 = 10038; pub const WSAEDESTADDRREQ: u32 = 10039; pub const WSAEMSGSIZE: u32 = 10040; pub const WSAEPROTOTYPE: u32 = 10041; pub const WSAENOPROTOOPT: u32 = 10042; pub const WSAEPROTONOSUPPORT: u32 = 10043; pub const WSAESOCKTNOSUPPORT: u32 = 10044; pub const WSAEOPNOTSUPP: u32 = 10045; pub const WSAEPFNOSUPPORT: u32 = 10046; pub const WSAEAFNOSUPPORT: u32 = 10047; pub const WSAEADDRINUSE: u32 = 10048; pub const WSAEADDRNOTAVAIL: u32 = 10049; pub const WSAENETDOWN: u32 = 10050; pub const WSAENETUNREACH: u32 = 10051; pub const WSAENETRESET: u32 = 10052; pub const WSAECONNABORTED: u32 = 10053; pub const WSAECONNRESET: u32 = 10054; pub const WSAENOBUFS: u32 = 10055; pub const WSAEISCONN: u32 = 10056; pub const WSAENOTCONN: u32 = 10057; pub const WSAESHUTDOWN: u32 = 10058; pub const WSAETOOMANYREFS: u32 = 10059; pub const WSAETIMEDOUT: u32 = 10060; pub const WSAECONNREFUSED: u32 = 10061; pub const WSAELOOP: u32 = 10062; pub const WSAENAMETOOLONG: u32 = 10063; pub const WSAEHOSTDOWN: u32 = 10064; pub const WSAEHOSTUNREACH: u32 = 10065; pub const WSAENOTEMPTY: u32 = 10066; pub const WSAEPROCLIM: u32 = 10067; pub const WSAEUSERS: u32 = 10068; pub const WSAEDQUOT: u32 = 10069; pub const WSAESTALE: u32 = 10070; pub const WSAEREMOTE: u32 = 10071; pub const WSASYSNOTREADY: u32 = 10091; pub const WSAVERNOTSUPPORTED: u32 = 10092; pub const WSANOTINITIALISED: u32 = 10093; pub const WSAEDISCON: u32 = 10101; pub const WSAENOMORE: u32 = 10102; pub const WSAECANCELLED: u32 = 10103; pub const WSAEINVALIDPROCTABLE: u32 = 10104; pub const WSAEINVALIDPROVIDER: u32 = 10105; pub const WSAEPROVIDERFAILEDINIT: u32 = 10106; pub const WSASYSCALLFAILURE: u32 = 10107; pub const WSASERVICE_NOT_FOUND: u32 = 10108; pub const WSATYPE_NOT_FOUND: u32 = 10109; pub const WSA_E_NO_MORE: u32 = 10110; pub const WSA_E_CANCELLED: u32 = 10111; pub const WSAEREFUSED: u32 = 10112; pub const WSAHOST_NOT_FOUND: u32 = 11001; pub const WSATRY_AGAIN: u32 = 11002; pub const WSANO_RECOVERY: u32 = 11003; pub const WSANO_DATA: u32 = 11004; pub const WSA_QOS_RECEIVERS: u32 = 11005; pub const WSA_QOS_SENDERS: u32 = 11006; pub const WSA_QOS_NO_SENDERS: u32 = 11007; pub const WSA_QOS_NO_RECEIVERS: u32 = 11008; pub const WSA_QOS_REQUEST_CONFIRMED: u32 = 11009; pub const WSA_QOS_ADMISSION_FAILURE: u32 = 11010; pub const WSA_QOS_POLICY_FAILURE: u32 = 11011; pub const WSA_QOS_BAD_STYLE: u32 = 11012; pub const WSA_QOS_BAD_OBJECT: u32 = 11013; pub const WSA_QOS_TRAFFIC_CTRL_ERROR: u32 = 11014; pub const WSA_QOS_GENERIC_ERROR: u32 = 11015; pub const WSA_QOS_ESERVICETYPE: u32 = 11016; pub const WSA_QOS_EFLOWSPEC: u32 = 11017; pub const WSA_QOS_EPROVSPECBUF: u32 = 11018; pub const WSA_QOS_EFILTERSTYLE: u32 = 11019; pub const WSA_QOS_EFILTERTYPE: u32 = 11020; pub const WSA_QOS_EFILTERCOUNT: u32 = 11021; pub const WSA_QOS_EOBJLENGTH: u32 = 11022; pub const WSA_QOS_EFLOWCOUNT: u32 = 11023; pub const WSA_QOS_EUNKOWNPSOBJ: u32 = 11024; pub const WSA_QOS_EPOLICYOBJ: u32 = 11025; pub const WSA_QOS_EFLOWDESC: u32 = 11026; pub const WSA_QOS_EPSFLOWSPEC: u32 = 11027; pub const WSA_QOS_EPSFILTERSPEC: u32 = 11028; pub const WSA_QOS_ESDMODEOBJ: u32 = 11029; pub const WSA_QOS_ESHAPERATEOBJ: u32 = 11030; pub const WSA_QOS_RESERVED_PETYPE: u32 = 11031; pub const WSA_SECURE_HOST_NOT_FOUND: u32 = 11032; pub const WSA_IPSEC_NAME_POLICY_ERROR: u32 = 11033; pub const ERROR_IPSEC_QM_POLICY_EXISTS: u32 = 13000; pub const ERROR_IPSEC_QM_POLICY_NOT_FOUND: u32 = 13001; pub const ERROR_IPSEC_QM_POLICY_IN_USE: u32 = 13002; pub const ERROR_IPSEC_MM_POLICY_EXISTS: u32 = 13003; pub const ERROR_IPSEC_MM_POLICY_NOT_FOUND: u32 = 13004; pub const ERROR_IPSEC_MM_POLICY_IN_USE: u32 = 13005; pub const ERROR_IPSEC_MM_FILTER_EXISTS: u32 = 13006; pub const ERROR_IPSEC_MM_FILTER_NOT_FOUND: u32 = 13007; pub const ERROR_IPSEC_TRANSPORT_FILTER_EXISTS: u32 = 13008; pub const ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND: u32 = 13009; pub const ERROR_IPSEC_MM_AUTH_EXISTS: u32 = 13010; pub const ERROR_IPSEC_MM_AUTH_NOT_FOUND: u32 = 13011; pub const ERROR_IPSEC_MM_AUTH_IN_USE: u32 = 13012; pub const ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND: u32 = 13013; pub const ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND: u32 = 13014; pub const ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND: u32 = 13015; pub const ERROR_IPSEC_TUNNEL_FILTER_EXISTS: u32 = 13016; pub const ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND: u32 = 13017; pub const ERROR_IPSEC_MM_FILTER_PENDING_DELETION: u32 = 13018; pub const ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION: u32 = 13019; pub const ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION: u32 = 13020; pub const ERROR_IPSEC_MM_POLICY_PENDING_DELETION: u32 = 13021; pub const ERROR_IPSEC_MM_AUTH_PENDING_DELETION: u32 = 13022; pub const ERROR_IPSEC_QM_POLICY_PENDING_DELETION: u32 = 13023; pub const WARNING_IPSEC_MM_POLICY_PRUNED: u32 = 13024; pub const WARNING_IPSEC_QM_POLICY_PRUNED: u32 = 13025; pub const ERROR_IPSEC_IKE_NEG_STATUS_BEGIN: u32 = 13800; pub const ERROR_IPSEC_IKE_AUTH_FAIL: u32 = 13801; pub const ERROR_IPSEC_IKE_ATTRIB_FAIL: u32 = 13802; pub const ERROR_IPSEC_IKE_NEGOTIATION_PENDING: u32 = 13803; pub const ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR: u32 = 13804; pub const ERROR_IPSEC_IKE_TIMED_OUT: u32 = 13805; pub const ERROR_IPSEC_IKE_NO_CERT: u32 = 13806; pub const ERROR_IPSEC_IKE_SA_DELETED: u32 = 13807; pub const ERROR_IPSEC_IKE_SA_REAPED: u32 = 13808; pub const ERROR_IPSEC_IKE_MM_ACQUIRE_DROP: u32 = 13809; pub const ERROR_IPSEC_IKE_QM_ACQUIRE_DROP: u32 = 13810; pub const ERROR_IPSEC_IKE_QUEUE_DROP_MM: u32 = 13811; pub const ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM: u32 = 13812; pub const ERROR_IPSEC_IKE_DROP_NO_RESPONSE: u32 = 13813; pub const ERROR_IPSEC_IKE_MM_DELAY_DROP: u32 = 13814; pub const ERROR_IPSEC_IKE_QM_DELAY_DROP: u32 = 13815; pub const ERROR_IPSEC_IKE_ERROR: u32 = 13816; pub const ERROR_IPSEC_IKE_CRL_FAILED: u32 = 13817; pub const ERROR_IPSEC_IKE_INVALID_KEY_USAGE: u32 = 13818; pub const ERROR_IPSEC_IKE_INVALID_CERT_TYPE: u32 = 13819; pub const ERROR_IPSEC_IKE_NO_PRIVATE_KEY: u32 = 13820; pub const ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY: u32 = 13821; pub const ERROR_IPSEC_IKE_DH_FAIL: u32 = 13822; pub const ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED: u32 = 13823; pub const ERROR_IPSEC_IKE_INVALID_HEADER: u32 = 13824; pub const ERROR_IPSEC_IKE_NO_POLICY: u32 = 13825; pub const ERROR_IPSEC_IKE_INVALID_SIGNATURE: u32 = 13826; pub const ERROR_IPSEC_IKE_KERBEROS_ERROR: u32 = 13827; pub const ERROR_IPSEC_IKE_NO_PUBLIC_KEY: u32 = 13828; pub const ERROR_IPSEC_IKE_PROCESS_ERR: u32 = 13829; pub const ERROR_IPSEC_IKE_PROCESS_ERR_SA: u32 = 13830; pub const ERROR_IPSEC_IKE_PROCESS_ERR_PROP: u32 = 13831; pub const ERROR_IPSEC_IKE_PROCESS_ERR_TRANS: u32 = 13832; pub const ERROR_IPSEC_IKE_PROCESS_ERR_KE: u32 = 13833; pub const ERROR_IPSEC_IKE_PROCESS_ERR_ID: u32 = 13834; pub const ERROR_IPSEC_IKE_PROCESS_ERR_CERT: u32 = 13835; pub const ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ: u32 = 13836; pub const ERROR_IPSEC_IKE_PROCESS_ERR_HASH: u32 = 13837; pub const ERROR_IPSEC_IKE_PROCESS_ERR_SIG: u32 = 13838; pub const ERROR_IPSEC_IKE_PROCESS_ERR_NONCE: u32 = 13839; pub const ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY: u32 = 13840; pub const ERROR_IPSEC_IKE_PROCESS_ERR_DELETE: u32 = 13841; pub const ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR: u32 = 13842; pub const ERROR_IPSEC_IKE_INVALID_PAYLOAD: u32 = 13843; pub const ERROR_IPSEC_IKE_LOAD_SOFT_SA: u32 = 13844; pub const ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN: u32 = 13845; pub const ERROR_IPSEC_IKE_INVALID_COOKIE: u32 = 13846; pub const ERROR_IPSEC_IKE_NO_PEER_CERT: u32 = 13847; pub const ERROR_IPSEC_IKE_PEER_CRL_FAILED: u32 = 13848; pub const ERROR_IPSEC_IKE_POLICY_CHANGE: u32 = 13849; pub const ERROR_IPSEC_IKE_NO_MM_POLICY: u32 = 13850; pub const ERROR_IPSEC_IKE_NOTCBPRIV: u32 = 13851; pub const ERROR_IPSEC_IKE_SECLOADFAIL: u32 = 13852; pub const ERROR_IPSEC_IKE_FAILSSPINIT: u32 = 13853; pub const ERROR_IPSEC_IKE_FAILQUERYSSP: u32 = 13854; pub const ERROR_IPSEC_IKE_SRVACQFAIL: u32 = 13855; pub const ERROR_IPSEC_IKE_SRVQUERYCRED: u32 = 13856; pub const ERROR_IPSEC_IKE_GETSPIFAIL: u32 = 13857; pub const ERROR_IPSEC_IKE_INVALID_FILTER: u32 = 13858; pub const ERROR_IPSEC_IKE_OUT_OF_MEMORY: u32 = 13859; pub const ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED: u32 = 13860; pub const ERROR_IPSEC_IKE_INVALID_POLICY: u32 = 13861; pub const ERROR_IPSEC_IKE_UNKNOWN_DOI: u32 = 13862; pub const ERROR_IPSEC_IKE_INVALID_SITUATION: u32 = 13863; pub const ERROR_IPSEC_IKE_DH_FAILURE: u32 = 13864; pub const ERROR_IPSEC_IKE_INVALID_GROUP: u32 = 13865; pub const ERROR_IPSEC_IKE_ENCRYPT: u32 = 13866; pub const ERROR_IPSEC_IKE_DECRYPT: u32 = 13867; pub const ERROR_IPSEC_IKE_POLICY_MATCH: u32 = 13868; pub const ERROR_IPSEC_IKE_UNSUPPORTED_ID: u32 = 13869; pub const ERROR_IPSEC_IKE_INVALID_HASH: u32 = 13870; pub const ERROR_IPSEC_IKE_INVALID_HASH_ALG: u32 = 13871; pub const ERROR_IPSEC_IKE_INVALID_HASH_SIZE: u32 = 13872; pub const ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG: u32 = 13873; pub const ERROR_IPSEC_IKE_INVALID_AUTH_ALG: u32 = 13874; pub const ERROR_IPSEC_IKE_INVALID_SIG: u32 = 13875; pub const ERROR_IPSEC_IKE_LOAD_FAILED: u32 = 13876; pub const ERROR_IPSEC_IKE_RPC_DELETE: u32 = 13877; pub const ERROR_IPSEC_IKE_BENIGN_REINIT: u32 = 13878; pub const ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY: u32 = 13879; pub const ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION: u32 = 13880; pub const ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN: u32 = 13881; pub const ERROR_IPSEC_IKE_MM_LIMIT: u32 = 13882; pub const ERROR_IPSEC_IKE_NEGOTIATION_DISABLED: u32 = 13883; pub const ERROR_IPSEC_IKE_QM_LIMIT: u32 = 13884; pub const ERROR_IPSEC_IKE_MM_EXPIRED: u32 = 13885; pub const ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID: u32 = 13886; pub const ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH: u32 = 13887; pub const ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID: u32 = 13888; pub const ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD: u32 = 13889; pub const ERROR_IPSEC_IKE_DOS_COOKIE_SENT: u32 = 13890; pub const ERROR_IPSEC_IKE_SHUTTING_DOWN: u32 = 13891; pub const ERROR_IPSEC_IKE_CGA_AUTH_FAILED: u32 = 13892; pub const ERROR_IPSEC_IKE_PROCESS_ERR_NATOA: u32 = 13893; pub const ERROR_IPSEC_IKE_INVALID_MM_FOR_QM: u32 = 13894; pub const ERROR_IPSEC_IKE_QM_EXPIRED: u32 = 13895; pub const ERROR_IPSEC_IKE_TOO_MANY_FILTERS: u32 = 13896; pub const ERROR_IPSEC_IKE_NEG_STATUS_END: u32 = 13897; pub const ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL: u32 = 13898; pub const ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE: u32 = 13899; pub const ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING: u32 = 13900; pub const ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING: u32 = 13901; pub const ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS: u32 = 13902; pub const ERROR_IPSEC_IKE_RATELIMIT_DROP: u32 = 13903; pub const ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE: u32 = 13904; pub const ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE: u32 = 13905; pub const ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE: u32 = 13906; pub const ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY: u32 = 13907; pub const ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE: u32 = 13908; pub const ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END: u32 = 13909; pub const ERROR_IPSEC_BAD_SPI: u32 = 13910; pub const ERROR_IPSEC_SA_LIFETIME_EXPIRED: u32 = 13911; pub const ERROR_IPSEC_WRONG_SA: u32 = 13912; pub const ERROR_IPSEC_REPLAY_CHECK_FAILED: u32 = 13913; pub const ERROR_IPSEC_INVALID_PACKET: u32 = 13914; pub const ERROR_IPSEC_INTEGRITY_CHECK_FAILED: u32 = 13915; pub const ERROR_IPSEC_CLEAR_TEXT_DROP: u32 = 13916; pub const ERROR_IPSEC_AUTH_FIREWALL_DROP: u32 = 13917; pub const ERROR_IPSEC_THROTTLE_DROP: u32 = 13918; pub const ERROR_IPSEC_DOSP_BLOCK: u32 = 13925; pub const ERROR_IPSEC_DOSP_RECEIVED_MULTICAST: u32 = 13926; pub const ERROR_IPSEC_DOSP_INVALID_PACKET: u32 = 13927; pub const ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED: u32 = 13928; pub const ERROR_IPSEC_DOSP_MAX_ENTRIES: u32 = 13929; pub const ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED: u32 = 13930; pub const ERROR_IPSEC_DOSP_NOT_INSTALLED: u32 = 13931; pub const ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES: u32 = 13932; pub const ERROR_SXS_SECTION_NOT_FOUND: u32 = 14000; pub const ERROR_SXS_CANT_GEN_ACTCTX: u32 = 14001; pub const ERROR_SXS_INVALID_ACTCTXDATA_FORMAT: u32 = 14002; pub const ERROR_SXS_ASSEMBLY_NOT_FOUND: u32 = 14003; pub const ERROR_SXS_MANIFEST_FORMAT_ERROR: u32 = 14004; pub const ERROR_SXS_MANIFEST_PARSE_ERROR: u32 = 14005; pub const ERROR_SXS_ACTIVATION_CONTEXT_DISABLED: u32 = 14006; pub const ERROR_SXS_KEY_NOT_FOUND: u32 = 14007; pub const ERROR_SXS_VERSION_CONFLICT: u32 = 14008; pub const ERROR_SXS_WRONG_SECTION_TYPE: u32 = 14009; pub const ERROR_SXS_THREAD_QUERIES_DISABLED: u32 = 14010; pub const ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET: u32 = 14011; pub const ERROR_SXS_UNKNOWN_ENCODING_GROUP: u32 = 14012; pub const ERROR_SXS_UNKNOWN_ENCODING: u32 = 14013; pub const ERROR_SXS_INVALID_XML_NAMESPACE_URI: u32 = 14014; pub const ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED: u32 = 14015; pub const ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED: u32 = 14016; pub const ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE: u32 = 14017; pub const ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE: u32 = 14018; pub const ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE: u32 = 14019; pub const ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT: u32 = 14020; pub const ERROR_SXS_DUPLICATE_DLL_NAME: u32 = 14021; pub const ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME: u32 = 14022; pub const ERROR_SXS_DUPLICATE_CLSID: u32 = 14023; pub const ERROR_SXS_DUPLICATE_IID: u32 = 14024; pub const ERROR_SXS_DUPLICATE_TLBID: u32 = 14025; pub const ERROR_SXS_DUPLICATE_PROGID: u32 = 14026; pub const ERROR_SXS_DUPLICATE_ASSEMBLY_NAME: u32 = 14027; pub const ERROR_SXS_FILE_HASH_MISMATCH: u32 = 14028; pub const ERROR_SXS_POLICY_PARSE_ERROR: u32 = 14029; pub const ERROR_SXS_XML_E_MISSINGQUOTE: u32 = 14030; pub const ERROR_SXS_XML_E_COMMENTSYNTAX: u32 = 14031; pub const ERROR_SXS_XML_E_BADSTARTNAMECHAR: u32 = 14032; pub const ERROR_SXS_XML_E_BADNAMECHAR: u32 = 14033; pub const ERROR_SXS_XML_E_BADCHARINSTRING: u32 = 14034; pub const ERROR_SXS_XML_E_XMLDECLSYNTAX: u32 = 14035; pub const ERROR_SXS_XML_E_BADCHARDATA: u32 = 14036; pub const ERROR_SXS_XML_E_MISSINGWHITESPACE: u32 = 14037; pub const ERROR_SXS_XML_E_EXPECTINGTAGEND: u32 = 14038; pub const ERROR_SXS_XML_E_MISSINGSEMICOLON: u32 = 14039; pub const ERROR_SXS_XML_E_UNBALANCEDPAREN: u32 = 14040; pub const ERROR_SXS_XML_E_INTERNALERROR: u32 = 14041; pub const ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE: u32 = 14042; pub const ERROR_SXS_XML_E_INCOMPLETE_ENCODING: u32 = 14043; pub const ERROR_SXS_XML_E_MISSING_PAREN: u32 = 14044; pub const ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE: u32 = 14045; pub const ERROR_SXS_XML_E_MULTIPLE_COLONS: u32 = 14046; pub const ERROR_SXS_XML_E_INVALID_DECIMAL: u32 = 14047; pub const ERROR_SXS_XML_E_INVALID_HEXIDECIMAL: u32 = 14048; pub const ERROR_SXS_XML_E_INVALID_UNICODE: u32 = 14049; pub const ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK: u32 = 14050; pub const ERROR_SXS_XML_E_UNEXPECTEDENDTAG: u32 = 14051; pub const ERROR_SXS_XML_E_UNCLOSEDTAG: u32 = 14052; pub const ERROR_SXS_XML_E_DUPLICATEATTRIBUTE: u32 = 14053; pub const ERROR_SXS_XML_E_MULTIPLEROOTS: u32 = 14054; pub const ERROR_SXS_XML_E_INVALIDATROOTLEVEL: u32 = 14055; pub const ERROR_SXS_XML_E_BADXMLDECL: u32 = 14056; pub const ERROR_SXS_XML_E_MISSINGROOT: u32 = 14057; pub const ERROR_SXS_XML_E_UNEXPECTEDEOF: u32 = 14058; pub const ERROR_SXS_XML_E_BADPEREFINSUBSET: u32 = 14059; pub const ERROR_SXS_XML_E_UNCLOSEDSTARTTAG: u32 = 14060; pub const ERROR_SXS_XML_E_UNCLOSEDENDTAG: u32 = 14061; pub const ERROR_SXS_XML_E_UNCLOSEDSTRING: u32 = 14062; pub const ERROR_SXS_XML_E_UNCLOSEDCOMMENT: u32 = 14063; pub const ERROR_SXS_XML_E_UNCLOSEDDECL: u32 = 14064; pub const ERROR_SXS_XML_E_UNCLOSEDCDATA: u32 = 14065; pub const ERROR_SXS_XML_E_RESERVEDNAMESPACE: u32 = 14066; pub const ERROR_SXS_XML_E_INVALIDENCODING: u32 = 14067; pub const ERROR_SXS_XML_E_INVALIDSWITCH: u32 = 14068; pub const ERROR_SXS_XML_E_BADXMLCASE: u32 = 14069; pub const ERROR_SXS_XML_E_INVALID_STANDALONE: u32 = 14070; pub const ERROR_SXS_XML_E_UNEXPECTED_STANDALONE: u32 = 14071; pub const ERROR_SXS_XML_E_INVALID_VERSION: u32 = 14072; pub const ERROR_SXS_XML_E_MISSINGEQUALS: u32 = 14073; pub const ERROR_SXS_PROTECTION_RECOVERY_FAILED: u32 = 14074; pub const ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT: u32 = 14075; pub const ERROR_SXS_PROTECTION_CATALOG_NOT_VALID: u32 = 14076; pub const ERROR_SXS_UNTRANSLATABLE_HRESULT: u32 = 14077; pub const ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING: u32 = 14078; pub const ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE: u32 = 14079; pub const ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME: u32 = 14080; pub const ERROR_SXS_ASSEMBLY_MISSING: u32 = 14081; pub const ERROR_SXS_CORRUPT_ACTIVATION_STACK: u32 = 14082; pub const ERROR_SXS_CORRUPTION: u32 = 14083; pub const ERROR_SXS_EARLY_DEACTIVATION: u32 = 14084; pub const ERROR_SXS_INVALID_DEACTIVATION: u32 = 14085; pub const ERROR_SXS_MULTIPLE_DEACTIVATION: u32 = 14086; pub const ERROR_SXS_PROCESS_TERMINATION_REQUESTED: u32 = 14087; pub const ERROR_SXS_RELEASE_ACTIVATION_CONTEXT: u32 = 14088; pub const ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY: u32 = 14089; pub const ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE: u32 = 14090; pub const ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME: u32 = 14091; pub const ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE: u32 = 14092; pub const ERROR_SXS_IDENTITY_PARSE_ERROR: u32 = 14093; pub const ERROR_MALFORMED_SUBSTITUTION_STRING: u32 = 14094; pub const ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN: u32 = 14095; pub const ERROR_UNMAPPED_SUBSTITUTION_STRING: u32 = 14096; pub const ERROR_SXS_ASSEMBLY_NOT_LOCKED: u32 = 14097; pub const ERROR_SXS_COMPONENT_STORE_CORRUPT: u32 = 14098; pub const ERROR_ADVANCED_INSTALLER_FAILED: u32 = 14099; pub const ERROR_XML_ENCODING_MISMATCH: u32 = 14100; pub const ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT: u32 = 14101; pub const ERROR_SXS_IDENTITIES_DIFFERENT: u32 = 14102; pub const ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT: u32 = 14103; pub const ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY: u32 = 14104; pub const ERROR_SXS_MANIFEST_TOO_BIG: u32 = 14105; pub const ERROR_SXS_SETTING_NOT_REGISTERED: u32 = 14106; pub const ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE: u32 = 14107; pub const ERROR_SMI_PRIMITIVE_INSTALLER_FAILED: u32 = 14108; pub const ERROR_GENERIC_COMMAND_FAILED: u32 = 14109; pub const ERROR_SXS_FILE_HASH_MISSING: u32 = 14110; pub const ERROR_SXS_DUPLICATE_ACTIVATABLE_CLASS: u32 = 14111; pub const ERROR_EVT_INVALID_CHANNEL_PATH: u32 = 15000; pub const ERROR_EVT_INVALID_QUERY: u32 = 15001; pub const ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND: u32 = 15002; pub const ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND: u32 = 15003; pub const ERROR_EVT_INVALID_PUBLISHER_NAME: u32 = 15004; pub const ERROR_EVT_INVALID_EVENT_DATA: u32 = 15005; pub const ERROR_EVT_CHANNEL_NOT_FOUND: u32 = 15007; pub const ERROR_EVT_MALFORMED_XML_TEXT: u32 = 15008; pub const ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL: u32 = 15009; pub const ERROR_EVT_CONFIGURATION_ERROR: u32 = 15010; pub const ERROR_EVT_QUERY_RESULT_STALE: u32 = 15011; pub const ERROR_EVT_QUERY_RESULT_INVALID_POSITION: u32 = 15012; pub const ERROR_EVT_NON_VALIDATING_MSXML: u32 = 15013; pub const ERROR_EVT_FILTER_ALREADYSCOPED: u32 = 15014; pub const ERROR_EVT_FILTER_NOTELTSET: u32 = 15015; pub const ERROR_EVT_FILTER_INVARG: u32 = 15016; pub const ERROR_EVT_FILTER_INVTEST: u32 = 15017; pub const ERROR_EVT_FILTER_INVTYPE: u32 = 15018; pub const ERROR_EVT_FILTER_PARSEERR: u32 = 15019; pub const ERROR_EVT_FILTER_UNSUPPORTEDOP: u32 = 15020; pub const ERROR_EVT_FILTER_UNEXPECTEDTOKEN: u32 = 15021; pub const ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL: u32 = 15022; pub const ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE: u32 = 15023; pub const ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE: u32 = 15024; pub const ERROR_EVT_CHANNEL_CANNOT_ACTIVATE: u32 = 15025; pub const ERROR_EVT_FILTER_TOO_COMPLEX: u32 = 15026; pub const ERROR_EVT_MESSAGE_NOT_FOUND: u32 = 15027; pub const ERROR_EVT_MESSAGE_ID_NOT_FOUND: u32 = 15028; pub const ERROR_EVT_UNRESOLVED_VALUE_INSERT: u32 = 15029; pub const ERROR_EVT_UNRESOLVED_PARAMETER_INSERT: u32 = 15030; pub const ERROR_EVT_MAX_INSERTS_REACHED: u32 = 15031; pub const ERROR_EVT_EVENT_DEFINITION_NOT_FOUND: u32 = 15032; pub const ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND: u32 = 15033; pub const ERROR_EVT_VERSION_TOO_OLD: u32 = 15034; pub const ERROR_EVT_VERSION_TOO_NEW: u32 = 15035; pub const ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY: u32 = 15036; pub const ERROR_EVT_PUBLISHER_DISABLED: u32 = 15037; pub const ERROR_EVT_FILTER_OUT_OF_RANGE: u32 = 15038; pub const ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE: u32 = 15080; pub const ERROR_EC_LOG_DISABLED: u32 = 15081; pub const ERROR_EC_CIRCULAR_FORWARDING: u32 = 15082; pub const ERROR_EC_CREDSTORE_FULL: u32 = 15083; pub const ERROR_EC_CRED_NOT_FOUND: u32 = 15084; pub const ERROR_EC_NO_ACTIVE_CHANNEL: u32 = 15085; pub const ERROR_MUI_FILE_NOT_FOUND: u32 = 15100; pub const ERROR_MUI_INVALID_FILE: u32 = 15101; pub const ERROR_MUI_INVALID_RC_CONFIG: u32 = 15102; pub const ERROR_MUI_INVALID_LOCALE_NAME: u32 = 15103; pub const ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME: u32 = 15104; pub const ERROR_MUI_FILE_NOT_LOADED: u32 = 15105; pub const ERROR_RESOURCE_ENUM_USER_STOP: u32 = 15106; pub const ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED: u32 = 15107; pub const ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME: u32 = 15108; pub const ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE: u32 = 15110; pub const ERROR_MRM_INVALID_PRICONFIG: u32 = 15111; pub const ERROR_MRM_INVALID_FILE_TYPE: u32 = 15112; pub const ERROR_MRM_UNKNOWN_QUALIFIER: u32 = 15113; pub const ERROR_MRM_INVALID_QUALIFIER_VALUE: u32 = 15114; pub const ERROR_MRM_NO_CANDIDATE: u32 = 15115; pub const ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE: u32 = 15116; pub const ERROR_MRM_RESOURCE_TYPE_MISMATCH: u32 = 15117; pub const ERROR_MRM_DUPLICATE_MAP_NAME: u32 = 15118; pub const ERROR_MRM_DUPLICATE_ENTRY: u32 = 15119; pub const ERROR_MRM_INVALID_RESOURCE_IDENTIFIER: u32 = 15120; pub const ERROR_MRM_FILEPATH_TOO_LONG: u32 = 15121; pub const ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE: u32 = 15122; pub const ERROR_MRM_INVALID_PRI_FILE: u32 = 15126; pub const ERROR_MRM_NAMED_RESOURCE_NOT_FOUND: u32 = 15127; pub const ERROR_MRM_MAP_NOT_FOUND: u32 = 15135; pub const ERROR_MRM_UNSUPPORTED_PROFILE_TYPE: u32 = 15136; pub const ERROR_MRM_INVALID_QUALIFIER_OPERATOR: u32 = 15137; pub const ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE: u32 = 15138; pub const ERROR_MRM_AUTOMERGE_ENABLED: u32 = 15139; pub const ERROR_MRM_TOO_MANY_RESOURCES: u32 = 15140; pub const ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_MERGE: u32 = 15141; pub const ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_LOAD_UNLOAD_PRI_FILE: u32 = 15142; pub const ERROR_MRM_NO_CURRENT_VIEW_ON_THREAD: u32 = 15143; pub const ERROR_DIFFERENT_PROFILE_RESOURCE_MANAGER_EXIST: u32 = 15144; pub const ERROR_OPERATION_NOT_ALLOWED_FROM_SYSTEM_COMPONENT: u32 = 15145; pub const ERROR_MRM_DIRECT_REF_TO_NON_DEFAULT_RESOURCE: u32 = 15146; pub const ERROR_MRM_GENERATION_COUNT_MISMATCH: u32 = 15147; pub const ERROR_PRI_MERGE_VERSION_MISMATCH: u32 = 15148; pub const ERROR_PRI_MERGE_MISSING_SCHEMA: u32 = 15149; pub const ERROR_PRI_MERGE_LOAD_FILE_FAILED: u32 = 15150; pub const ERROR_PRI_MERGE_ADD_FILE_FAILED: u32 = 15151; pub const ERROR_PRI_MERGE_WRITE_FILE_FAILED: u32 = 15152; pub const ERROR_PRI_MERGE_MULTIPLE_PACKAGE_FAMILIES_NOT_ALLOWED: u32 = 15153; pub const ERROR_PRI_MERGE_MULTIPLE_MAIN_PACKAGES_NOT_ALLOWED: u32 = 15154; pub const ERROR_PRI_MERGE_BUNDLE_PACKAGES_NOT_ALLOWED: u32 = 15155; pub const ERROR_PRI_MERGE_MAIN_PACKAGE_REQUIRED: u32 = 15156; pub const ERROR_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED: u32 = 15157; pub const ERROR_PRI_MERGE_INVALID_FILE_NAME: u32 = 15158; pub const ERROR_MRM_PACKAGE_NOT_FOUND: u32 = 15159; pub const ERROR_MRM_MISSING_DEFAULT_LANGUAGE: u32 = 15160; pub const ERROR_MCA_INVALID_CAPABILITIES_STRING: u32 = 15200; pub const ERROR_MCA_INVALID_VCP_VERSION: u32 = 15201; pub const ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION: u32 = 15202; pub const ERROR_MCA_MCCS_VERSION_MISMATCH: u32 = 15203; pub const ERROR_MCA_UNSUPPORTED_MCCS_VERSION: u32 = 15204; pub const ERROR_MCA_INTERNAL_ERROR: u32 = 15205; pub const ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED: u32 = 15206; pub const ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE: u32 = 15207; pub const ERROR_AMBIGUOUS_SYSTEM_DEVICE: u32 = 15250; pub const ERROR_SYSTEM_DEVICE_NOT_FOUND: u32 = 15299; pub const ERROR_HASH_NOT_SUPPORTED: u32 = 15300; pub const ERROR_HASH_NOT_PRESENT: u32 = 15301; pub const ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED: u32 = 15321; pub const ERROR_GPIO_CLIENT_INFORMATION_INVALID: u32 = 15322; pub const ERROR_GPIO_VERSION_NOT_SUPPORTED: u32 = 15323; pub const ERROR_GPIO_INVALID_REGISTRATION_PACKET: u32 = 15324; pub const ERROR_GPIO_OPERATION_DENIED: u32 = 15325; pub const ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE: u32 = 15326; pub const ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED: u32 = 15327; pub const ERROR_CANNOT_SWITCH_RUNLEVEL: u32 = 15400; pub const ERROR_INVALID_RUNLEVEL_SETTING: u32 = 15401; pub const ERROR_RUNLEVEL_SWITCH_TIMEOUT: u32 = 15402; pub const ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT: u32 = 15403; pub const ERROR_RUNLEVEL_SWITCH_IN_PROGRESS: u32 = 15404; pub const ERROR_SERVICES_FAILED_AUTOSTART: u32 = 15405; pub const ERROR_COM_TASK_STOP_PENDING: u32 = 15501; pub const ERROR_INSTALL_OPEN_PACKAGE_FAILED: u32 = 15600; pub const ERROR_INSTALL_PACKAGE_NOT_FOUND: u32 = 15601; pub const ERROR_INSTALL_INVALID_PACKAGE: u32 = 15602; pub const ERROR_INSTALL_RESOLVE_DEPENDENCY_FAILED: u32 = 15603; pub const ERROR_INSTALL_OUT_OF_DISK_SPACE: u32 = 15604; pub const ERROR_INSTALL_NETWORK_FAILURE: u32 = 15605; pub const ERROR_INSTALL_REGISTRATION_FAILURE: u32 = 15606; pub const ERROR_INSTALL_DEREGISTRATION_FAILURE: u32 = 15607; pub const ERROR_INSTALL_CANCEL: u32 = 15608; pub const ERROR_INSTALL_FAILED: u32 = 15609; pub const ERROR_REMOVE_FAILED: u32 = 15610; pub const ERROR_PACKAGE_ALREADY_EXISTS: u32 = 15611; pub const ERROR_NEEDS_REMEDIATION: u32 = 15612; pub const ERROR_INSTALL_PREREQUISITE_FAILED: u32 = 15613; pub const ERROR_PACKAGE_REPOSITORY_CORRUPTED: u32 = 15614; pub const ERROR_INSTALL_POLICY_FAILURE: u32 = 15615; pub const ERROR_PACKAGE_UPDATING: u32 = 15616; pub const ERROR_DEPLOYMENT_BLOCKED_BY_POLICY: u32 = 15617; pub const ERROR_PACKAGES_IN_USE: u32 = 15618; pub const ERROR_RECOVERY_FILE_CORRUPT: u32 = 15619; pub const ERROR_INVALID_STAGED_SIGNATURE: u32 = 15620; pub const ERROR_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED: u32 = 15621; pub const ERROR_INSTALL_PACKAGE_DOWNGRADE: u32 = 15622; pub const ERROR_SYSTEM_NEEDS_REMEDIATION: u32 = 15623; pub const ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN: u32 = 15624; pub const ERROR_RESILIENCY_FILE_CORRUPT: u32 = 15625; pub const ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING: u32 = 15626; pub const ERROR_PACKAGE_MOVE_FAILED: u32 = 15627; pub const ERROR_INSTALL_VOLUME_NOT_EMPTY: u32 = 15628; pub const ERROR_INSTALL_VOLUME_OFFLINE: u32 = 15629; pub const ERROR_INSTALL_VOLUME_CORRUPT: u32 = 15630; pub const ERROR_NEEDS_REGISTRATION: u32 = 15631; pub const ERROR_INSTALL_WRONG_PROCESSOR_ARCHITECTURE: u32 = 15632; pub const ERROR_DEV_SIDELOAD_LIMIT_EXCEEDED: u32 = 15633; pub const ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE: u32 = 15634; pub const ERROR_PACKAGE_NOT_SUPPORTED_ON_FILESYSTEM: u32 = 15635; pub const ERROR_PACKAGE_MOVE_BLOCKED_BY_STREAMING: u32 = 15636; pub const ERROR_INSTALL_OPTIONAL_PACKAGE_APPLICATIONID_NOT_UNIQUE: u32 = 15637; pub const ERROR_PACKAGE_STAGING_ONHOLD: u32 = 15638; pub const ERROR_INSTALL_INVALID_RELATED_SET_UPDATE: u32 = 15639; pub const ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY: u32 = 15640; pub const ERROR_DEPLOYMENT_BLOCKED_BY_USER_LOG_OFF: u32 = 15641; pub const ERROR_PROVISION_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_PROVISIONED: u32 = 15642; pub const ERROR_PACKAGES_REPUTATION_CHECK_FAILED: u32 = 15643; pub const ERROR_PACKAGES_REPUTATION_CHECK_TIMEDOUT: u32 = 15644; pub const ERROR_DEPLOYMENT_OPTION_NOT_SUPPORTED: u32 = 15645; pub const ERROR_APPINSTALLER_ACTIVATION_BLOCKED: u32 = 15646; pub const ERROR_REGISTRATION_FROM_REMOTE_DRIVE_NOT_SUPPORTED: u32 = 15647; pub const ERROR_APPX_RAW_DATA_WRITE_FAILED: u32 = 15648; pub const ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_PACKAGE: u32 = 15649; pub const ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_MACHINE: u32 = 15650; pub const ERROR_DEPLOYMENT_BLOCKED_BY_PROFILE_POLICY: u32 = 15651; pub const ERROR_DEPLOYMENT_FAILED_CONFLICTING_MUTABLE_PACKAGE_DIRECTORY: u32 = 15652; pub const ERROR_SINGLETON_RESOURCE_INSTALLED_IN_ACTIVE_USER: u32 = 15653; pub const ERROR_DIFFERENT_VERSION_OF_PACKAGED_SERVICE_INSTALLED: u32 = 15654; pub const ERROR_SERVICE_EXISTS_AS_NON_PACKAGED_SERVICE: u32 = 15655; pub const ERROR_PACKAGED_SERVICE_REQUIRES_ADMIN_PRIVILEGES: u32 = 15656; pub const APPMODEL_ERROR_NO_PACKAGE: u32 = 15700; pub const APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT: u32 = 15701; pub const APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT: u32 = 15702; pub const APPMODEL_ERROR_NO_APPLICATION: u32 = 15703; pub const APPMODEL_ERROR_DYNAMIC_PROPERTY_READ_FAILED: u32 = 15704; pub const APPMODEL_ERROR_DYNAMIC_PROPERTY_INVALID: u32 = 15705; pub const APPMODEL_ERROR_PACKAGE_NOT_AVAILABLE: u32 = 15706; pub const APPMODEL_ERROR_NO_MUTABLE_DIRECTORY: u32 = 15707; pub const ERROR_STATE_LOAD_STORE_FAILED: u32 = 15800; pub const ERROR_STATE_GET_VERSION_FAILED: u32 = 15801; pub const ERROR_STATE_SET_VERSION_FAILED: u32 = 15802; pub const ERROR_STATE_STRUCTURED_RESET_FAILED: u32 = 15803; pub const ERROR_STATE_OPEN_CONTAINER_FAILED: u32 = 15804; pub const ERROR_STATE_CREATE_CONTAINER_FAILED: u32 = 15805; pub const ERROR_STATE_DELETE_CONTAINER_FAILED: u32 = 15806; pub const ERROR_STATE_READ_SETTING_FAILED: u32 = 15807; pub const ERROR_STATE_WRITE_SETTING_FAILED: u32 = 15808; pub const ERROR_STATE_DELETE_SETTING_FAILED: u32 = 15809; pub const ERROR_STATE_QUERY_SETTING_FAILED: u32 = 15810; pub const ERROR_STATE_READ_COMPOSITE_SETTING_FAILED: u32 = 15811; pub const ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED: u32 = 15812; pub const ERROR_STATE_ENUMERATE_CONTAINER_FAILED: u32 = 15813; pub const ERROR_STATE_ENUMERATE_SETTINGS_FAILED: u32 = 15814; pub const ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED: u32 = 15815; pub const ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED: u32 = 15816; pub const ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED: u32 = 15817; pub const ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED: u32 = 15818; pub const ERROR_API_UNAVAILABLE: u32 = 15841; pub const STORE_ERROR_UNLICENSED: u32 = 15861; pub const STORE_ERROR_UNLICENSED_USER: u32 = 15862; pub const STORE_ERROR_PENDING_COM_TRANSACTION: u32 = 15863; pub const STORE_ERROR_LICENSE_REVOKED: u32 = 15864; pub const SEVERITY_SUCCESS: u32 = 0; pub const SEVERITY_ERROR: u32 = 1; pub const FACILITY_NT_BIT: u32 = 268435456; pub const NOERROR: u32 = 0; pub const DRAGDROP_E_FIRST: u32 = 2147746048; pub const DRAGDROP_E_LAST: u32 = 2147746063; pub const DRAGDROP_S_FIRST: u32 = 262400; pub const DRAGDROP_S_LAST: u32 = 262415; pub const CLASSFACTORY_E_FIRST: u32 = 2147746064; pub const CLASSFACTORY_E_LAST: u32 = 2147746079; pub const CLASSFACTORY_S_FIRST: u32 = 262416; pub const CLASSFACTORY_S_LAST: u32 = 262431; pub const MARSHAL_E_FIRST: u32 = 2147746080; pub const MARSHAL_E_LAST: u32 = 2147746095; pub const MARSHAL_S_FIRST: u32 = 262432; pub const MARSHAL_S_LAST: u32 = 262447; pub const DATA_E_FIRST: u32 = 2147746096; pub const DATA_E_LAST: u32 = 2147746111; pub const DATA_S_FIRST: u32 = 262448; pub const DATA_S_LAST: u32 = 262463; pub const VIEW_E_FIRST: u32 = 2147746112; pub const VIEW_E_LAST: u32 = 2147746127; pub const VIEW_S_FIRST: u32 = 262464; pub const VIEW_S_LAST: u32 = 262479; pub const REGDB_E_FIRST: u32 = 2147746128; pub const REGDB_E_LAST: u32 = 2147746143; pub const REGDB_S_FIRST: u32 = 262480; pub const REGDB_S_LAST: u32 = 262495; pub const CAT_E_FIRST: u32 = 2147746144; pub const CAT_E_LAST: u32 = 2147746145; pub const CS_E_FIRST: u32 = 2147746148; pub const CS_E_LAST: u32 = 2147746159; pub const CACHE_E_FIRST: u32 = 2147746160; pub const CACHE_E_LAST: u32 = 2147746175; pub const CACHE_S_FIRST: u32 = 262512; pub const CACHE_S_LAST: u32 = 262527; pub const OLEOBJ_E_FIRST: u32 = 2147746176; pub const OLEOBJ_E_LAST: u32 = 2147746191; pub const OLEOBJ_S_FIRST: u32 = 262528; pub const OLEOBJ_S_LAST: u32 = 262543; pub const CLIENTSITE_E_FIRST: u32 = 2147746192; pub const CLIENTSITE_E_LAST: u32 = 2147746207; pub const CLIENTSITE_S_FIRST: u32 = 262544; pub const CLIENTSITE_S_LAST: u32 = 262559; pub const INPLACE_E_FIRST: u32 = 2147746208; pub const INPLACE_E_LAST: u32 = 2147746223; pub const INPLACE_S_FIRST: u32 = 262560; pub const INPLACE_S_LAST: u32 = 262575; pub const ENUM_E_FIRST: u32 = 2147746224; pub const ENUM_E_LAST: u32 = 2147746239; pub const ENUM_S_FIRST: u32 = 262576; pub const ENUM_S_LAST: u32 = 262591; pub const CONVERT10_E_FIRST: u32 = 2147746240; pub const CONVERT10_E_LAST: u32 = 2147746255; pub const CONVERT10_S_FIRST: u32 = 262592; pub const CONVERT10_S_LAST: u32 = 262607; pub const CLIPBRD_E_FIRST: u32 = 2147746256; pub const CLIPBRD_E_LAST: u32 = 2147746271; pub const CLIPBRD_S_FIRST: u32 = 262608; pub const CLIPBRD_S_LAST: u32 = 262623; pub const MK_E_FIRST: u32 = 2147746272; pub const MK_E_LAST: u32 = 2147746287; pub const MK_S_FIRST: u32 = 262624; pub const MK_S_LAST: u32 = 262639; pub const CO_E_FIRST: u32 = 2147746288; pub const CO_E_LAST: u32 = 2147746303; pub const CO_S_FIRST: u32 = 262640; pub const CO_S_LAST: u32 = 262655; pub const EVENT_E_FIRST: u32 = 2147746304; pub const EVENT_E_LAST: u32 = 2147746335; pub const EVENT_S_FIRST: u32 = 262656; pub const EVENT_S_LAST: u32 = 262687; pub const XACT_E_FIRST: u32 = 2147799040; pub const XACT_E_LAST: u32 = 2147799083; pub const XACT_S_FIRST: u32 = 315392; pub const XACT_S_LAST: u32 = 315408; pub const CONTEXT_E_FIRST: u32 = 2147803136; pub const CONTEXT_E_LAST: u32 = 2147803183; pub const CONTEXT_S_FIRST: u32 = 319488; pub const CONTEXT_S_LAST: u32 = 319535; pub const NTE_OP_OK: u32 = 0; pub const SCARD_S_SUCCESS: u32 = 0; pub const TC_NORMAL: u32 = 0; pub const TC_HARDERR: u32 = 1; pub const TC_GP_TRAP: u32 = 2; pub const TC_SIGNAL: u32 = 3; pub const AC_LINE_OFFLINE: u32 = 0; pub const AC_LINE_ONLINE: u32 = 1; pub const AC_LINE_BACKUP_POWER: u32 = 2; pub const AC_LINE_UNKNOWN: u32 = 255; pub const BATTERY_FLAG_HIGH: u32 = 1; pub const BATTERY_FLAG_LOW: u32 = 2; pub const BATTERY_FLAG_CRITICAL: u32 = 4; pub const BATTERY_FLAG_CHARGING: u32 = 8; pub const BATTERY_FLAG_NO_BATTERY: u32 = 128; pub const BATTERY_FLAG_UNKNOWN: u32 = 255; pub const BATTERY_PERCENTAGE_UNKNOWN: u32 = 255; pub const SYSTEM_STATUS_FLAG_POWER_SAVING_ON: u32 = 1; pub const BATTERY_LIFE_UNKNOWN: u32 = 4294967295; pub const ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID: u32 = 1; pub const ACTCTX_FLAG_LANGID_VALID: u32 = 2; pub const ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID: u32 = 4; pub const ACTCTX_FLAG_RESOURCE_NAME_VALID: u32 = 8; pub const ACTCTX_FLAG_SET_PROCESS_DEFAULT: u32 = 16; pub const ACTCTX_FLAG_APPLICATION_NAME_VALID: u32 = 32; pub const ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF: u32 = 64; pub const ACTCTX_FLAG_HMODULE_VALID: u32 = 128; pub const DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION: u32 = 1; pub const FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX: u32 = 1; pub const FIND_ACTCTX_SECTION_KEY_RETURN_FLAGS: u32 = 2; pub const FIND_ACTCTX_SECTION_KEY_RETURN_ASSEMBLY_METADATA: u32 = 4; pub const ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED: u32 = 1; pub const QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX: u32 = 4; pub const QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE: u32 = 8; pub const QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS: u32 = 16; pub const QUERY_ACTCTX_FLAG_NO_ADDREF: u32 = 2147483648; pub const RESTART_MAX_CMD_LINE: u32 = 1024; pub const RESTART_NO_CRASH: u32 = 1; pub const RESTART_NO_HANG: u32 = 2; pub const RESTART_NO_PATCH: u32 = 4; pub const RESTART_NO_REBOOT: u32 = 8; pub const RECOVERY_DEFAULT_PING_INTERVAL: u32 = 5000; pub const RECOVERY_MAX_PING_INTERVAL: u32 = 300000; pub const FILE_RENAME_FLAG_REPLACE_IF_EXISTS: u32 = 1; pub const FILE_RENAME_FLAG_POSIX_SEMANTICS: u32 = 2; pub const FILE_RENAME_FLAG_SUPPRESS_PIN_STATE_INHERITANCE: u32 = 4; pub const FILE_DISPOSITION_FLAG_DO_NOT_DELETE: u32 = 0; pub const FILE_DISPOSITION_FLAG_DELETE: u32 = 1; pub const FILE_DISPOSITION_FLAG_POSIX_SEMANTICS: u32 = 2; pub const FILE_DISPOSITION_FLAG_FORCE_IMAGE_SECTION_CHECK: u32 = 4; pub const FILE_DISPOSITION_FLAG_ON_CLOSE: u32 = 8; pub const FILE_DISPOSITION_FLAG_IGNORE_READONLY_ATTRIBUTE: u32 = 16; pub const STORAGE_INFO_FLAGS_ALIGNED_DEVICE: u32 = 1; pub const STORAGE_INFO_FLAGS_PARTITION_ALIGNED_ON_DEVICE: u32 = 2; pub const STORAGE_INFO_OFFSET_UNKNOWN: u32 = 4294967295; pub const REMOTE_PROTOCOL_INFO_FLAG_LOOPBACK: u32 = 1; pub const REMOTE_PROTOCOL_INFO_FLAG_OFFLINE: u32 = 2; pub const REMOTE_PROTOCOL_INFO_FLAG_PERSISTENT_HANDLE: u32 = 4; pub const RPI_FLAG_SMB2_SHARECAP_TIMEWARP: u32 = 2; pub const RPI_FLAG_SMB2_SHARECAP_DFS: u32 = 8; pub const RPI_FLAG_SMB2_SHARECAP_CONTINUOUS_AVAILABILITY: u32 = 16; pub const RPI_FLAG_SMB2_SHARECAP_SCALEOUT: u32 = 32; pub const RPI_FLAG_SMB2_SHARECAP_CLUSTER: u32 = 64; pub const RPI_SMB2_FLAG_SERVERCAP_DFS: u32 = 1; pub const RPI_SMB2_FLAG_SERVERCAP_LEASING: u32 = 2; pub const RPI_SMB2_FLAG_SERVERCAP_LARGEMTU: u32 = 4; pub const RPI_SMB2_FLAG_SERVERCAP_MULTICHANNEL: u32 = 8; pub const RPI_SMB2_FLAG_SERVERCAP_PERSISTENT_HANDLES: u32 = 16; pub const RPI_SMB2_FLAG_SERVERCAP_DIRECTORY_LEASING: u32 = 32; pub const SYMBOLIC_LINK_FLAG_DIRECTORY: u32 = 1; pub const SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE: u32 = 2; pub const MICROSOFT_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS: u32 = 0; pub const R2_BLACK: u32 = 1; pub const R2_NOTMERGEPEN: u32 = 2; pub const R2_MASKNOTPEN: u32 = 3; pub const R2_NOTCOPYPEN: u32 = 4; pub const R2_MASKPENNOT: u32 = 5; pub const R2_NOT: u32 = 6; pub const R2_XORPEN: u32 = 7; pub const R2_NOTMASKPEN: u32 = 8; pub const R2_MASKPEN: u32 = 9; pub const R2_NOTXORPEN: u32 = 10; pub const R2_NOP: u32 = 11; pub const R2_MERGENOTPEN: u32 = 12; pub const R2_COPYPEN: u32 = 13; pub const R2_MERGEPENNOT: u32 = 14; pub const R2_MERGEPEN: u32 = 15; pub const R2_WHITE: u32 = 16; pub const R2_LAST: u32 = 16; pub const GDI_ERROR: u32 = 4294967295; pub const ERROR: u32 = 0; pub const NULLREGION: u32 = 1; pub const SIMPLEREGION: u32 = 2; pub const COMPLEXREGION: u32 = 3; pub const RGN_ERROR: u32 = 0; pub const RGN_AND: u32 = 1; pub const RGN_OR: u32 = 2; pub const RGN_XOR: u32 = 3; pub const RGN_DIFF: u32 = 4; pub const RGN_COPY: u32 = 5; pub const RGN_MIN: u32 = 1; pub const RGN_MAX: u32 = 5; pub const BLACKONWHITE: u32 = 1; pub const WHITEONBLACK: u32 = 2; pub const COLORONCOLOR: u32 = 3; pub const HALFTONE: u32 = 4; pub const MAXSTRETCHBLTMODE: u32 = 4; pub const STRETCH_ANDSCANS: u32 = 1; pub const STRETCH_ORSCANS: u32 = 2; pub const STRETCH_DELETESCANS: u32 = 3; pub const STRETCH_HALFTONE: u32 = 4; pub const ALTERNATE: u32 = 1; pub const WINDING: u32 = 2; pub const POLYFILL_LAST: u32 = 2; pub const LAYOUT_RTL: u32 = 1; pub const LAYOUT_BTT: u32 = 2; pub const LAYOUT_VBH: u32 = 4; pub const LAYOUT_ORIENTATIONMASK: u32 = 7; pub const LAYOUT_BITMAPORIENTATIONPRESERVED: u32 = 8; pub const TA_NOUPDATECP: u32 = 0; pub const TA_UPDATECP: u32 = 1; pub const TA_LEFT: u32 = 0; pub const TA_RIGHT: u32 = 2; pub const TA_CENTER: u32 = 6; pub const TA_TOP: u32 = 0; pub const TA_BOTTOM: u32 = 8; pub const TA_BASELINE: u32 = 24; pub const TA_RTLREADING: u32 = 256; pub const TA_MASK: u32 = 287; pub const VTA_BASELINE: u32 = 24; pub const VTA_LEFT: u32 = 8; pub const VTA_RIGHT: u32 = 0; pub const VTA_CENTER: u32 = 6; pub const VTA_BOTTOM: u32 = 2; pub const VTA_TOP: u32 = 0; pub const ETO_OPAQUE: u32 = 2; pub const ETO_CLIPPED: u32 = 4; pub const ETO_GLYPH_INDEX: u32 = 16; pub const ETO_RTLREADING: u32 = 128; pub const ETO_NUMERICSLOCAL: u32 = 1024; pub const ETO_NUMERICSLATIN: u32 = 2048; pub const ETO_IGNORELANGUAGE: u32 = 4096; pub const ETO_PDY: u32 = 8192; pub const ETO_REVERSE_INDEX_MAP: u32 = 65536; pub const ASPECT_FILTERING: u32 = 1; pub const DCB_RESET: u32 = 1; pub const DCB_ACCUMULATE: u32 = 2; pub const DCB_DIRTY: u32 = 2; pub const DCB_SET: u32 = 3; pub const DCB_ENABLE: u32 = 4; pub const DCB_DISABLE: u32 = 8; pub const META_SETBKCOLOR: u32 = 513; pub const META_SETBKMODE: u32 = 258; pub const META_SETMAPMODE: u32 = 259; pub const META_SETROP2: u32 = 260; pub const META_SETRELABS: u32 = 261; pub const META_SETPOLYFILLMODE: u32 = 262; pub const META_SETSTRETCHBLTMODE: u32 = 263; pub const META_SETTEXTCHAREXTRA: u32 = 264; pub const META_SETTEXTCOLOR: u32 = 521; pub const META_SETTEXTJUSTIFICATION: u32 = 522; pub const META_SETWINDOWORG: u32 = 523; pub const META_SETWINDOWEXT: u32 = 524; pub const META_SETVIEWPORTORG: u32 = 525; pub const META_SETVIEWPORTEXT: u32 = 526; pub const META_OFFSETWINDOWORG: u32 = 527; pub const META_SCALEWINDOWEXT: u32 = 1040; pub const META_OFFSETVIEWPORTORG: u32 = 529; pub const META_SCALEVIEWPORTEXT: u32 = 1042; pub const META_LINETO: u32 = 531; pub const META_MOVETO: u32 = 532; pub const META_EXCLUDECLIPRECT: u32 = 1045; pub const META_INTERSECTCLIPRECT: u32 = 1046; pub const META_ARC: u32 = 2071; pub const META_ELLIPSE: u32 = 1048; pub const META_FLOODFILL: u32 = 1049; pub const META_PIE: u32 = 2074; pub const META_RECTANGLE: u32 = 1051; pub const META_ROUNDRECT: u32 = 1564; pub const META_PATBLT: u32 = 1565; pub const META_SAVEDC: u32 = 30; pub const META_SETPIXEL: u32 = 1055; pub const META_OFFSETCLIPRGN: u32 = 544; pub const META_TEXTOUT: u32 = 1313; pub const META_BITBLT: u32 = 2338; pub const META_STRETCHBLT: u32 = 2851; pub const META_POLYGON: u32 = 804; pub const META_POLYLINE: u32 = 805; pub const META_ESCAPE: u32 = 1574; pub const META_RESTOREDC: u32 = 295; pub const META_FILLREGION: u32 = 552; pub const META_FRAMEREGION: u32 = 1065; pub const META_INVERTREGION: u32 = 298; pub const META_PAINTREGION: u32 = 299; pub const META_SELECTCLIPREGION: u32 = 300; pub const META_SELECTOBJECT: u32 = 301; pub const META_SETTEXTALIGN: u32 = 302; pub const META_CHORD: u32 = 2096; pub const META_SETMAPPERFLAGS: u32 = 561; pub const META_EXTTEXTOUT: u32 = 2610; pub const META_SETDIBTODEV: u32 = 3379; pub const META_SELECTPALETTE: u32 = 564; pub const META_REALIZEPALETTE: u32 = 53; pub const META_ANIMATEPALETTE: u32 = 1078; pub const META_SETPALENTRIES: u32 = 55; pub const META_POLYPOLYGON: u32 = 1336; pub const META_RESIZEPALETTE: u32 = 313; pub const META_DIBBITBLT: u32 = 2368; pub const META_DIBSTRETCHBLT: u32 = 2881; pub const META_DIBCREATEPATTERNBRUSH: u32 = 322; pub const META_STRETCHDIB: u32 = 3907; pub const META_EXTFLOODFILL: u32 = 1352; pub const META_SETLAYOUT: u32 = 329; pub const META_DELETEOBJECT: u32 = 496; pub const META_CREATEPALETTE: u32 = 247; pub const META_CREATEPATTERNBRUSH: u32 = 505; pub const META_CREATEPENINDIRECT: u32 = 762; pub const META_CREATEFONTINDIRECT: u32 = 763; pub const META_CREATEBRUSHINDIRECT: u32 = 764; pub const META_CREATEREGION: u32 = 1791; pub const NEWFRAME: u32 = 1; pub const ABORTDOC: u32 = 2; pub const NEXTBAND: u32 = 3; pub const SETCOLORTABLE: u32 = 4; pub const GETCOLORTABLE: u32 = 5; pub const FLUSHOUTPUT: u32 = 6; pub const DRAFTMODE: u32 = 7; pub const QUERYESCSUPPORT: u32 = 8; pub const SETABORTPROC: u32 = 9; pub const STARTDOC: u32 = 10; pub const ENDDOC: u32 = 11; pub const GETPHYSPAGESIZE: u32 = 12; pub const GETPRINTINGOFFSET: u32 = 13; pub const GETSCALINGFACTOR: u32 = 14; pub const MFCOMMENT: u32 = 15; pub const GETPENWIDTH: u32 = 16; pub const SETCOPYCOUNT: u32 = 17; pub const SELECTPAPERSOURCE: u32 = 18; pub const DEVICEDATA: u32 = 19; pub const PASSTHROUGH: u32 = 19; pub const GETTECHNOLGY: u32 = 20; pub const GETTECHNOLOGY: u32 = 20; pub const SETLINECAP: u32 = 21; pub const SETLINEJOIN: u32 = 22; pub const SETMITERLIMIT: u32 = 23; pub const BANDINFO: u32 = 24; pub const DRAWPATTERNRECT: u32 = 25; pub const GETVECTORPENSIZE: u32 = 26; pub const GETVECTORBRUSHSIZE: u32 = 27; pub const ENABLEDUPLEX: u32 = 28; pub const GETSETPAPERBINS: u32 = 29; pub const GETSETPRINTORIENT: u32 = 30; pub const ENUMPAPERBINS: u32 = 31; pub const SETDIBSCALING: u32 = 32; pub const EPSPRINTING: u32 = 33; pub const ENUMPAPERMETRICS: u32 = 34; pub const GETSETPAPERMETRICS: u32 = 35; pub const POSTSCRIPT_DATA: u32 = 37; pub const POSTSCRIPT_IGNORE: u32 = 38; pub const MOUSETRAILS: u32 = 39; pub const GETDEVICEUNITS: u32 = 42; pub const GETEXTENDEDTEXTMETRICS: u32 = 256; pub const GETEXTENTTABLE: u32 = 257; pub const GETPAIRKERNTABLE: u32 = 258; pub const GETTRACKKERNTABLE: u32 = 259; pub const EXTTEXTOUT: u32 = 512; pub const GETFACENAME: u32 = 513; pub const DOWNLOADFACE: u32 = 514; pub const ENABLERELATIVEWIDTHS: u32 = 768; pub const ENABLEPAIRKERNING: u32 = 769; pub const SETKERNTRACK: u32 = 770; pub const SETALLJUSTVALUES: u32 = 771; pub const SETCHARSET: u32 = 772; pub const STRETCHBLT: u32 = 2048; pub const METAFILE_DRIVER: u32 = 2049; pub const GETSETSCREENPARAMS: u32 = 3072; pub const QUERYDIBSUPPORT: u32 = 3073; pub const BEGIN_PATH: u32 = 4096; pub const CLIP_TO_PATH: u32 = 4097; pub const END_PATH: u32 = 4098; pub const EXT_DEVICE_CAPS: u32 = 4099; pub const RESTORE_CTM: u32 = 4100; pub const SAVE_CTM: u32 = 4101; pub const SET_ARC_DIRECTION: u32 = 4102; pub const SET_BACKGROUND_COLOR: u32 = 4103; pub const SET_POLY_MODE: u32 = 4104; pub const SET_SCREEN_ANGLE: u32 = 4105; pub const SET_SPREAD: u32 = 4106; pub const TRANSFORM_CTM: u32 = 4107; pub const SET_CLIP_BOX: u32 = 4108; pub const SET_BOUNDS: u32 = 4109; pub const SET_MIRROR_MODE: u32 = 4110; pub const OPENCHANNEL: u32 = 4110; pub const DOWNLOADHEADER: u32 = 4111; pub const CLOSECHANNEL: u32 = 4112; pub const POSTSCRIPT_PASSTHROUGH: u32 = 4115; pub const ENCAPSULATED_POSTSCRIPT: u32 = 4116; pub const POSTSCRIPT_IDENTIFY: u32 = 4117; pub const POSTSCRIPT_INJECTION: u32 = 4118; pub const CHECKJPEGFORMAT: u32 = 4119; pub const CHECKPNGFORMAT: u32 = 4120; pub const GET_PS_FEATURESETTING: u32 = 4121; pub const GDIPLUS_TS_QUERYVER: u32 = 4122; pub const GDIPLUS_TS_RECORD: u32 = 4123; pub const MILCORE_TS_QUERYVER_RESULT_FALSE: u32 = 0; pub const MILCORE_TS_QUERYVER_RESULT_TRUE: u32 = 2147483647; pub const SPCLPASSTHROUGH2: u32 = 4568; pub const PSIDENT_GDICENTRIC: u32 = 0; pub const PSIDENT_PSCENTRIC: u32 = 1; pub const PSINJECT_BEGINSTREAM: u32 = 1; pub const PSINJECT_PSADOBE: u32 = 2; pub const PSINJECT_PAGESATEND: u32 = 3; pub const PSINJECT_PAGES: u32 = 4; pub const PSINJECT_DOCNEEDEDRES: u32 = 5; pub const PSINJECT_DOCSUPPLIEDRES: u32 = 6; pub const PSINJECT_PAGEORDER: u32 = 7; pub const PSINJECT_ORIENTATION: u32 = 8; pub const PSINJECT_BOUNDINGBOX: u32 = 9; pub const PSINJECT_DOCUMENTPROCESSCOLORS: u32 = 10; pub const PSINJECT_COMMENTS: u32 = 11; pub const PSINJECT_BEGINDEFAULTS: u32 = 12; pub const PSINJECT_ENDDEFAULTS: u32 = 13; pub const PSINJECT_BEGINPROLOG: u32 = 14; pub const PSINJECT_ENDPROLOG: u32 = 15; pub const PSINJECT_BEGINSETUP: u32 = 16; pub const PSINJECT_ENDSETUP: u32 = 17; pub const PSINJECT_TRAILER: u32 = 18; pub const PSINJECT_EOF: u32 = 19; pub const PSINJECT_ENDSTREAM: u32 = 20; pub const PSINJECT_DOCUMENTPROCESSCOLORSATEND: u32 = 21; pub const PSINJECT_PAGENUMBER: u32 = 100; pub const PSINJECT_BEGINPAGESETUP: u32 = 101; pub const PSINJECT_ENDPAGESETUP: u32 = 102; pub const PSINJECT_PAGETRAILER: u32 = 103; pub const PSINJECT_PLATECOLOR: u32 = 104; pub const PSINJECT_SHOWPAGE: u32 = 105; pub const PSINJECT_PAGEBBOX: u32 = 106; pub const PSINJECT_ENDPAGECOMMENTS: u32 = 107; pub const PSINJECT_VMSAVE: u32 = 200; pub const PSINJECT_VMRESTORE: u32 = 201; pub const PSINJECT_DLFONT: u32 = 3722304989; pub const FEATURESETTING_NUP: u32 = 0; pub const FEATURESETTING_OUTPUT: u32 = 1; pub const FEATURESETTING_PSLEVEL: u32 = 2; pub const FEATURESETTING_CUSTPAPER: u32 = 3; pub const FEATURESETTING_MIRROR: u32 = 4; pub const FEATURESETTING_NEGATIVE: u32 = 5; pub const FEATURESETTING_PROTOCOL: u32 = 6; pub const FEATURESETTING_PRIVATE_BEGIN: u32 = 4096; pub const FEATURESETTING_PRIVATE_END: u32 = 8191; pub const PSPROTOCOL_ASCII: u32 = 0; pub const PSPROTOCOL_BCP: u32 = 1; pub const PSPROTOCOL_TBCP: u32 = 2; pub const PSPROTOCOL_BINARY: u32 = 3; pub const QDI_SETDIBITS: u32 = 1; pub const QDI_GETDIBITS: u32 = 2; pub const QDI_DIBTOSCREEN: u32 = 4; pub const QDI_STRETCHDIB: u32 = 8; pub const SP_NOTREPORTED: u32 = 16384; pub const SP_ERROR: i32 = -1; pub const SP_APPABORT: i32 = -2; pub const SP_USERABORT: i32 = -3; pub const SP_OUTOFDISK: i32 = -4; pub const SP_OUTOFMEMORY: i32 = -5; pub const PR_JOBSTATUS: u32 = 0; pub const OBJ_PEN: u32 = 1; pub const OBJ_BRUSH: u32 = 2; pub const OBJ_DC: u32 = 3; pub const OBJ_METADC: u32 = 4; pub const OBJ_PAL: u32 = 5; pub const OBJ_FONT: u32 = 6; pub const OBJ_BITMAP: u32 = 7; pub const OBJ_REGION: u32 = 8; pub const OBJ_METAFILE: u32 = 9; pub const OBJ_MEMDC: u32 = 10; pub const OBJ_EXTPEN: u32 = 11; pub const OBJ_ENHMETADC: u32 = 12; pub const OBJ_ENHMETAFILE: u32 = 13; pub const OBJ_COLORSPACE: u32 = 14; pub const GDI_OBJ_LAST: u32 = 14; pub const MWT_IDENTITY: u32 = 1; pub const MWT_LEFTMULTIPLY: u32 = 2; pub const MWT_RIGHTMULTIPLY: u32 = 3; pub const MWT_MIN: u32 = 1; pub const MWT_MAX: u32 = 3; pub const CS_ENABLE: u32 = 1; pub const CS_DISABLE: u32 = 2; pub const CS_DELETE_TRANSFORM: u32 = 3; pub const LCS_CALIBRATED_RGB: u32 = 0; pub const LCS_GM_BUSINESS: u32 = 1; pub const LCS_GM_GRAPHICS: u32 = 2; pub const LCS_GM_IMAGES: u32 = 4; pub const LCS_GM_ABS_COLORIMETRIC: u32 = 8; pub const CM_OUT_OF_GAMUT: u32 = 255; pub const CM_IN_GAMUT: u32 = 0; pub const ICM_ADDPROFILE: u32 = 1; pub const ICM_DELETEPROFILE: u32 = 2; pub const ICM_QUERYPROFILE: u32 = 3; pub const ICM_SETDEFAULTPROFILE: u32 = 4; pub const ICM_REGISTERICMATCHER: u32 = 5; pub const ICM_UNREGISTERICMATCHER: u32 = 6; pub const ICM_QUERYMATCH: u32 = 7; pub const BI_RGB: u32 = 0; pub const BI_RLE8: u32 = 1; pub const BI_RLE4: u32 = 2; pub const BI_BITFIELDS: u32 = 3; pub const BI_JPEG: u32 = 4; pub const BI_PNG: u32 = 5; pub const TCI_SRCCHARSET: u32 = 1; pub const TCI_SRCCODEPAGE: u32 = 2; pub const TCI_SRCFONTSIG: u32 = 3; pub const TCI_SRCLOCALE: u32 = 4096; pub const TMPF_FIXED_PITCH: u32 = 1; pub const TMPF_VECTOR: u32 = 2; pub const TMPF_DEVICE: u32 = 8; pub const TMPF_TRUETYPE: u32 = 4; pub const NTM_REGULAR: u32 = 64; pub const NTM_BOLD: u32 = 32; pub const NTM_ITALIC: u32 = 1; pub const NTM_NONNEGATIVE_AC: u32 = 65536; pub const NTM_PS_OPENTYPE: u32 = 131072; pub const NTM_TT_OPENTYPE: u32 = 262144; pub const NTM_MULTIPLEMASTER: u32 = 524288; pub const NTM_TYPE1: u32 = 1048576; pub const NTM_DSIG: u32 = 2097152; pub const LF_FACESIZE: u32 = 32; pub const LF_FULLFACESIZE: u32 = 64; pub const OUT_DEFAULT_PRECIS: u32 = 0; pub const OUT_STRING_PRECIS: u32 = 1; pub const OUT_CHARACTER_PRECIS: u32 = 2; pub const OUT_STROKE_PRECIS: u32 = 3; pub const OUT_TT_PRECIS: u32 = 4; pub const OUT_DEVICE_PRECIS: u32 = 5; pub const OUT_RASTER_PRECIS: u32 = 6; pub const OUT_TT_ONLY_PRECIS: u32 = 7; pub const OUT_OUTLINE_PRECIS: u32 = 8; pub const OUT_SCREEN_OUTLINE_PRECIS: u32 = 9; pub const OUT_PS_ONLY_PRECIS: u32 = 10; pub const CLIP_DEFAULT_PRECIS: u32 = 0; pub const CLIP_CHARACTER_PRECIS: u32 = 1; pub const CLIP_STROKE_PRECIS: u32 = 2; pub const CLIP_MASK: u32 = 15; pub const CLIP_LH_ANGLES: u32 = 16; pub const CLIP_TT_ALWAYS: u32 = 32; pub const CLIP_DFA_DISABLE: u32 = 64; pub const CLIP_EMBEDDED: u32 = 128; pub const DEFAULT_QUALITY: u32 = 0; pub const DRAFT_QUALITY: u32 = 1; pub const PROOF_QUALITY: u32 = 2; pub const NONANTIALIASED_QUALITY: u32 = 3; pub const ANTIALIASED_QUALITY: u32 = 4; pub const CLEARTYPE_QUALITY: u32 = 5; pub const CLEARTYPE_NATURAL_QUALITY: u32 = 6; pub const DEFAULT_PITCH: u32 = 0; pub const FIXED_PITCH: u32 = 1; pub const VARIABLE_PITCH: u32 = 2; pub const MONO_FONT: u32 = 8; pub const ANSI_CHARSET: u32 = 0; pub const DEFAULT_CHARSET: u32 = 1; pub const SYMBOL_CHARSET: u32 = 2; pub const SHIFTJIS_CHARSET: u32 = 128; pub const HANGEUL_CHARSET: u32 = 129; pub const HANGUL_CHARSET: u32 = 129; pub const GB2312_CHARSET: u32 = 134; pub const CHINESEBIG5_CHARSET: u32 = 136; pub const OEM_CHARSET: u32 = 255; pub const JOHAB_CHARSET: u32 = 130; pub const HEBREW_CHARSET: u32 = 177; pub const ARABIC_CHARSET: u32 = 178; pub const GREEK_CHARSET: u32 = 161; pub const TURKISH_CHARSET: u32 = 162; pub const VIETNAMESE_CHARSET: u32 = 163; pub const THAI_CHARSET: u32 = 222; pub const EASTEUROPE_CHARSET: u32 = 238; pub const RUSSIAN_CHARSET: u32 = 204; pub const MAC_CHARSET: u32 = 77; pub const BALTIC_CHARSET: u32 = 186; pub const FS_LATIN1: u32 = 1; pub const FS_LATIN2: u32 = 2; pub const FS_CYRILLIC: u32 = 4; pub const FS_GREEK: u32 = 8; pub const FS_TURKISH: u32 = 16; pub const FS_HEBREW: u32 = 32; pub const FS_ARABIC: u32 = 64; pub const FS_BALTIC: u32 = 128; pub const FS_VIETNAMESE: u32 = 256; pub const FS_THAI: u32 = 65536; pub const FS_JISJAPAN: u32 = 131072; pub const FS_CHINESESIMP: u32 = 262144; pub const FS_WANSUNG: u32 = 524288; pub const FS_CHINESETRAD: u32 = 1048576; pub const FS_JOHAB: u32 = 2097152; pub const FS_SYMBOL: u32 = 2147483648; pub const FF_DONTCARE: u32 = 0; pub const FF_ROMAN: u32 = 16; pub const FF_SWISS: u32 = 32; pub const FF_MODERN: u32 = 48; pub const FF_SCRIPT: u32 = 64; pub const FF_DECORATIVE: u32 = 80; pub const FW_DONTCARE: u32 = 0; pub const FW_THIN: u32 = 100; pub const FW_EXTRALIGHT: u32 = 200; pub const FW_LIGHT: u32 = 300; pub const FW_NORMAL: u32 = 400; pub const FW_MEDIUM: u32 = 500; pub const FW_SEMIBOLD: u32 = 600; pub const FW_BOLD: u32 = 700; pub const FW_EXTRABOLD: u32 = 800; pub const FW_HEAVY: u32 = 900; pub const FW_ULTRALIGHT: u32 = 200; pub const FW_REGULAR: u32 = 400; pub const FW_DEMIBOLD: u32 = 600; pub const FW_ULTRABOLD: u32 = 800; pub const FW_BLACK: u32 = 900; pub const PANOSE_COUNT: u32 = 10; pub const PAN_FAMILYTYPE_INDEX: u32 = 0; pub const PAN_SERIFSTYLE_INDEX: u32 = 1; pub const PAN_WEIGHT_INDEX: u32 = 2; pub const PAN_PROPORTION_INDEX: u32 = 3; pub const PAN_CONTRAST_INDEX: u32 = 4; pub const PAN_STROKEVARIATION_INDEX: u32 = 5; pub const PAN_ARMSTYLE_INDEX: u32 = 6; pub const PAN_LETTERFORM_INDEX: u32 = 7; pub const PAN_MIDLINE_INDEX: u32 = 8; pub const PAN_XHEIGHT_INDEX: u32 = 9; pub const PAN_CULTURE_LATIN: u32 = 0; pub const PAN_ANY: u32 = 0; pub const PAN_NO_FIT: u32 = 1; pub const PAN_FAMILY_TEXT_DISPLAY: u32 = 2; pub const PAN_FAMILY_SCRIPT: u32 = 3; pub const PAN_FAMILY_DECORATIVE: u32 = 4; pub const PAN_FAMILY_PICTORIAL: u32 = 5; pub const PAN_SERIF_COVE: u32 = 2; pub const PAN_SERIF_OBTUSE_COVE: u32 = 3; pub const PAN_SERIF_SQUARE_COVE: u32 = 4; pub const PAN_SERIF_OBTUSE_SQUARE_COVE: u32 = 5; pub const PAN_SERIF_SQUARE: u32 = 6; pub const PAN_SERIF_THIN: u32 = 7; pub const PAN_SERIF_BONE: u32 = 8; pub const PAN_SERIF_EXAGGERATED: u32 = 9; pub const PAN_SERIF_TRIANGLE: u32 = 10; pub const PAN_SERIF_NORMAL_SANS: u32 = 11; pub const PAN_SERIF_OBTUSE_SANS: u32 = 12; pub const PAN_SERIF_PERP_SANS: u32 = 13; pub const PAN_SERIF_FLARED: u32 = 14; pub const PAN_SERIF_ROUNDED: u32 = 15; pub const PAN_WEIGHT_VERY_LIGHT: u32 = 2; pub const PAN_WEIGHT_LIGHT: u32 = 3; pub const PAN_WEIGHT_THIN: u32 = 4; pub const PAN_WEIGHT_BOOK: u32 = 5; pub const PAN_WEIGHT_MEDIUM: u32 = 6; pub const PAN_WEIGHT_DEMI: u32 = 7; pub const PAN_WEIGHT_BOLD: u32 = 8; pub const PAN_WEIGHT_HEAVY: u32 = 9; pub const PAN_WEIGHT_BLACK: u32 = 10; pub const PAN_WEIGHT_NORD: u32 = 11; pub const PAN_PROP_OLD_STYLE: u32 = 2; pub const PAN_PROP_MODERN: u32 = 3; pub const PAN_PROP_EVEN_WIDTH: u32 = 4; pub const PAN_PROP_EXPANDED: u32 = 5; pub const PAN_PROP_CONDENSED: u32 = 6; pub const PAN_PROP_VERY_EXPANDED: u32 = 7; pub const PAN_PROP_VERY_CONDENSED: u32 = 8; pub const PAN_PROP_MONOSPACED: u32 = 9; pub const PAN_CONTRAST_NONE: u32 = 2; pub const PAN_CONTRAST_VERY_LOW: u32 = 3; pub const PAN_CONTRAST_LOW: u32 = 4; pub const PAN_CONTRAST_MEDIUM_LOW: u32 = 5; pub const PAN_CONTRAST_MEDIUM: u32 = 6; pub const PAN_CONTRAST_MEDIUM_HIGH: u32 = 7; pub const PAN_CONTRAST_HIGH: u32 = 8; pub const PAN_CONTRAST_VERY_HIGH: u32 = 9; pub const PAN_STROKE_GRADUAL_DIAG: u32 = 2; pub const PAN_STROKE_GRADUAL_TRAN: u32 = 3; pub const PAN_STROKE_GRADUAL_VERT: u32 = 4; pub const PAN_STROKE_GRADUAL_HORZ: u32 = 5; pub const PAN_STROKE_RAPID_VERT: u32 = 6; pub const PAN_STROKE_RAPID_HORZ: u32 = 7; pub const PAN_STROKE_INSTANT_VERT: u32 = 8; pub const PAN_STRAIGHT_ARMS_HORZ: u32 = 2; pub const PAN_STRAIGHT_ARMS_WEDGE: u32 = 3; pub const PAN_STRAIGHT_ARMS_VERT: u32 = 4; pub const PAN_STRAIGHT_ARMS_SINGLE_SERIF: u32 = 5; pub const PAN_STRAIGHT_ARMS_DOUBLE_SERIF: u32 = 6; pub const PAN_BENT_ARMS_HORZ: u32 = 7; pub const PAN_BENT_ARMS_WEDGE: u32 = 8; pub const PAN_BENT_ARMS_VERT: u32 = 9; pub const PAN_BENT_ARMS_SINGLE_SERIF: u32 = 10; pub const PAN_BENT_ARMS_DOUBLE_SERIF: u32 = 11; pub const PAN_LETT_NORMAL_CONTACT: u32 = 2; pub const PAN_LETT_NORMAL_WEIGHTED: u32 = 3; pub const PAN_LETT_NORMAL_BOXED: u32 = 4; pub const PAN_LETT_NORMAL_FLATTENED: u32 = 5; pub const PAN_LETT_NORMAL_ROUNDED: u32 = 6; pub const PAN_LETT_NORMAL_OFF_CENTER: u32 = 7; pub const PAN_LETT_NORMAL_SQUARE: u32 = 8; pub const PAN_LETT_OBLIQUE_CONTACT: u32 = 9; pub const PAN_LETT_OBLIQUE_WEIGHTED: u32 = 10; pub const PAN_LETT_OBLIQUE_BOXED: u32 = 11; pub const PAN_LETT_OBLIQUE_FLATTENED: u32 = 12; pub const PAN_LETT_OBLIQUE_ROUNDED: u32 = 13; pub const PAN_LETT_OBLIQUE_OFF_CENTER: u32 = 14; pub const PAN_LETT_OBLIQUE_SQUARE: u32 = 15; pub const PAN_MIDLINE_STANDARD_TRIMMED: u32 = 2; pub const PAN_MIDLINE_STANDARD_POINTED: u32 = 3; pub const PAN_MIDLINE_STANDARD_SERIFED: u32 = 4; pub const PAN_MIDLINE_HIGH_TRIMMED: u32 = 5; pub const PAN_MIDLINE_HIGH_POINTED: u32 = 6; pub const PAN_MIDLINE_HIGH_SERIFED: u32 = 7; pub const PAN_MIDLINE_CONSTANT_TRIMMED: u32 = 8; pub const PAN_MIDLINE_CONSTANT_POINTED: u32 = 9; pub const PAN_MIDLINE_CONSTANT_SERIFED: u32 = 10; pub const PAN_MIDLINE_LOW_TRIMMED: u32 = 11; pub const PAN_MIDLINE_LOW_POINTED: u32 = 12; pub const PAN_MIDLINE_LOW_SERIFED: u32 = 13; pub const PAN_XHEIGHT_CONSTANT_SMALL: u32 = 2; pub const PAN_XHEIGHT_CONSTANT_STD: u32 = 3; pub const PAN_XHEIGHT_CONSTANT_LARGE: u32 = 4; pub const PAN_XHEIGHT_DUCKING_SMALL: u32 = 5; pub const PAN_XHEIGHT_DUCKING_STD: u32 = 6; pub const PAN_XHEIGHT_DUCKING_LARGE: u32 = 7; pub const ELF_VENDOR_SIZE: u32 = 4; pub const ELF_VERSION: u32 = 0; pub const ELF_CULTURE_LATIN: u32 = 0; pub const RASTER_FONTTYPE: u32 = 1; pub const DEVICE_FONTTYPE: u32 = 2; pub const TRUETYPE_FONTTYPE: u32 = 4; pub const PC_RESERVED: u32 = 1; pub const PC_EXPLICIT: u32 = 2; pub const PC_NOCOLLAPSE: u32 = 4; pub const TRANSPARENT: u32 = 1; pub const OPAQUE: u32 = 2; pub const BKMODE_LAST: u32 = 2; pub const GM_COMPATIBLE: u32 = 1; pub const GM_ADVANCED: u32 = 2; pub const GM_LAST: u32 = 2; pub const PT_CLOSEFIGURE: u32 = 1; pub const PT_LINETO: u32 = 2; pub const PT_BEZIERTO: u32 = 4; pub const PT_MOVETO: u32 = 6; pub const MM_TEXT: u32 = 1; pub const MM_LOMETRIC: u32 = 2; pub const MM_HIMETRIC: u32 = 3; pub const MM_LOENGLISH: u32 = 4; pub const MM_HIENGLISH: u32 = 5; pub const MM_TWIPS: u32 = 6; pub const MM_ISOTROPIC: u32 = 7; pub const MM_ANISOTROPIC: u32 = 8; pub const MM_MIN: u32 = 1; pub const MM_MAX: u32 = 8; pub const MM_MAX_FIXEDSCALE: u32 = 6; pub const ABSOLUTE: u32 = 1; pub const RELATIVE: u32 = 2; pub const WHITE_BRUSH: u32 = 0; pub const LTGRAY_BRUSH: u32 = 1; pub const GRAY_BRUSH: u32 = 2; pub const DKGRAY_BRUSH: u32 = 3; pub const BLACK_BRUSH: u32 = 4; pub const NULL_BRUSH: u32 = 5; pub const HOLLOW_BRUSH: u32 = 5; pub const WHITE_PEN: u32 = 6; pub const BLACK_PEN: u32 = 7; pub const NULL_PEN: u32 = 8; pub const OEM_FIXED_FONT: u32 = 10; pub const ANSI_FIXED_FONT: u32 = 11; pub const ANSI_VAR_FONT: u32 = 12; pub const SYSTEM_FONT: u32 = 13; pub const DEVICE_DEFAULT_FONT: u32 = 14; pub const DEFAULT_PALETTE: u32 = 15; pub const SYSTEM_FIXED_FONT: u32 = 16; pub const DEFAULT_GUI_FONT: u32 = 17; pub const DC_BRUSH: u32 = 18; pub const DC_PEN: u32 = 19; pub const STOCK_LAST: u32 = 19; pub const CLR_INVALID: u32 = 4294967295; pub const BS_SOLID: u32 = 0; pub const BS_NULL: u32 = 1; pub const BS_HOLLOW: u32 = 1; pub const BS_HATCHED: u32 = 2; pub const BS_PATTERN: u32 = 3; pub const BS_INDEXED: u32 = 4; pub const BS_DIBPATTERN: u32 = 5; pub const BS_DIBPATTERNPT: u32 = 6; pub const BS_PATTERN8X8: u32 = 7; pub const BS_DIBPATTERN8X8: u32 = 8; pub const BS_MONOPATTERN: u32 = 9; pub const HS_HORIZONTAL: u32 = 0; pub const HS_VERTICAL: u32 = 1; pub const HS_FDIAGONAL: u32 = 2; pub const HS_BDIAGONAL: u32 = 3; pub const HS_CROSS: u32 = 4; pub const HS_DIAGCROSS: u32 = 5; pub const HS_API_MAX: u32 = 12; pub const PS_SOLID: u32 = 0; pub const PS_DASH: u32 = 1; pub const PS_DOT: u32 = 2; pub const PS_DASHDOT: u32 = 3; pub const PS_DASHDOTDOT: u32 = 4; pub const PS_NULL: u32 = 5; pub const PS_INSIDEFRAME: u32 = 6; pub const PS_USERSTYLE: u32 = 7; pub const PS_ALTERNATE: u32 = 8; pub const PS_STYLE_MASK: u32 = 15; pub const PS_ENDCAP_ROUND: u32 = 0; pub const PS_ENDCAP_SQUARE: u32 = 256; pub const PS_ENDCAP_FLAT: u32 = 512; pub const PS_ENDCAP_MASK: u32 = 3840; pub const PS_JOIN_ROUND: u32 = 0; pub const PS_JOIN_BEVEL: u32 = 4096; pub const PS_JOIN_MITER: u32 = 8192; pub const PS_JOIN_MASK: u32 = 61440; pub const PS_COSMETIC: u32 = 0; pub const PS_GEOMETRIC: u32 = 65536; pub const PS_TYPE_MASK: u32 = 983040; pub const AD_COUNTERCLOCKWISE: u32 = 1; pub const AD_CLOCKWISE: u32 = 2; pub const DRIVERVERSION: u32 = 0; pub const TECHNOLOGY: u32 = 2; pub const HORZSIZE: u32 = 4; pub const VERTSIZE: u32 = 6; pub const HORZRES: u32 = 8; pub const VERTRES: u32 = 10; pub const BITSPIXEL: u32 = 12; pub const PLANES: u32 = 14; pub const NUMBRUSHES: u32 = 16; pub const NUMPENS: u32 = 18; pub const NUMMARKERS: u32 = 20; pub const NUMFONTS: u32 = 22; pub const NUMCOLORS: u32 = 24; pub const PDEVICESIZE: u32 = 26; pub const CURVECAPS: u32 = 28; pub const LINECAPS: u32 = 30; pub const POLYGONALCAPS: u32 = 32; pub const TEXTCAPS: u32 = 34; pub const CLIPCAPS: u32 = 36; pub const RASTERCAPS: u32 = 38; pub const ASPECTX: u32 = 40; pub const ASPECTY: u32 = 42; pub const ASPECTXY: u32 = 44; pub const LOGPIXELSX: u32 = 88; pub const LOGPIXELSY: u32 = 90; pub const SIZEPALETTE: u32 = 104; pub const NUMRESERVED: u32 = 106; pub const COLORRES: u32 = 108; pub const PHYSICALWIDTH: u32 = 110; pub const PHYSICALHEIGHT: u32 = 111; pub const PHYSICALOFFSETX: u32 = 112; pub const PHYSICALOFFSETY: u32 = 113; pub const SCALINGFACTORX: u32 = 114; pub const SCALINGFACTORY: u32 = 115; pub const VREFRESH: u32 = 116; pub const DESKTOPVERTRES: u32 = 117; pub const DESKTOPHORZRES: u32 = 118; pub const BLTALIGNMENT: u32 = 119; pub const SHADEBLENDCAPS: u32 = 120; pub const COLORMGMTCAPS: u32 = 121; pub const DT_PLOTTER: u32 = 0; pub const DT_RASDISPLAY: u32 = 1; pub const DT_RASPRINTER: u32 = 2; pub const DT_RASCAMERA: u32 = 3; pub const DT_CHARSTREAM: u32 = 4; pub const DT_METAFILE: u32 = 5; pub const DT_DISPFILE: u32 = 6; pub const CC_NONE: u32 = 0; pub const CC_CIRCLES: u32 = 1; pub const CC_PIE: u32 = 2; pub const CC_CHORD: u32 = 4; pub const CC_ELLIPSES: u32 = 8; pub const CC_WIDE: u32 = 16; pub const CC_STYLED: u32 = 32; pub const CC_WIDESTYLED: u32 = 64; pub const CC_INTERIORS: u32 = 128; pub const CC_ROUNDRECT: u32 = 256; pub const LC_NONE: u32 = 0; pub const LC_POLYLINE: u32 = 2; pub const LC_MARKER: u32 = 4; pub const LC_POLYMARKER: u32 = 8; pub const LC_WIDE: u32 = 16; pub const LC_STYLED: u32 = 32; pub const LC_WIDESTYLED: u32 = 64; pub const LC_INTERIORS: u32 = 128; pub const PC_NONE: u32 = 0; pub const PC_POLYGON: u32 = 1; pub const PC_RECTANGLE: u32 = 2; pub const PC_WINDPOLYGON: u32 = 4; pub const PC_TRAPEZOID: u32 = 4; pub const PC_SCANLINE: u32 = 8; pub const PC_WIDE: u32 = 16; pub const PC_STYLED: u32 = 32; pub const PC_WIDESTYLED: u32 = 64; pub const PC_INTERIORS: u32 = 128; pub const PC_POLYPOLYGON: u32 = 256; pub const PC_PATHS: u32 = 512; pub const CP_NONE: u32 = 0; pub const CP_RECTANGLE: u32 = 1; pub const CP_REGION: u32 = 2; pub const TC_OP_CHARACTER: u32 = 1; pub const TC_OP_STROKE: u32 = 2; pub const TC_CP_STROKE: u32 = 4; pub const TC_CR_90: u32 = 8; pub const TC_CR_ANY: u32 = 16; pub const TC_SF_X_YINDEP: u32 = 32; pub const TC_SA_DOUBLE: u32 = 64; pub const TC_SA_INTEGER: u32 = 128; pub const TC_SA_CONTIN: u32 = 256; pub const TC_EA_DOUBLE: u32 = 512; pub const TC_IA_ABLE: u32 = 1024; pub const TC_UA_ABLE: u32 = 2048; pub const TC_SO_ABLE: u32 = 4096; pub const TC_RA_ABLE: u32 = 8192; pub const TC_VA_ABLE: u32 = 16384; pub const TC_RESERVED: u32 = 32768; pub const TC_SCROLLBLT: u32 = 65536; pub const RC_BITBLT: u32 = 1; pub const RC_BANDING: u32 = 2; pub const RC_SCALING: u32 = 4; pub const RC_BITMAP64: u32 = 8; pub const RC_GDI20_OUTPUT: u32 = 16; pub const RC_GDI20_STATE: u32 = 32; pub const RC_SAVEBITMAP: u32 = 64; pub const RC_DI_BITMAP: u32 = 128; pub const RC_PALETTE: u32 = 256; pub const RC_DIBTODEV: u32 = 512; pub const RC_BIGFONT: u32 = 1024; pub const RC_STRETCHBLT: u32 = 2048; pub const RC_FLOODFILL: u32 = 4096; pub const RC_STRETCHDIB: u32 = 8192; pub const RC_OP_DX_OUTPUT: u32 = 16384; pub const RC_DEVBITS: u32 = 32768; pub const SB_NONE: u32 = 0; pub const SB_CONST_ALPHA: u32 = 1; pub const SB_PIXEL_ALPHA: u32 = 2; pub const SB_PREMULT_ALPHA: u32 = 4; pub const SB_GRAD_RECT: u32 = 16; pub const SB_GRAD_TRI: u32 = 32; pub const CM_NONE: u32 = 0; pub const CM_DEVICE_ICM: u32 = 1; pub const CM_GAMMA_RAMP: u32 = 2; pub const CM_CMYK_COLOR: u32 = 4; pub const DIB_RGB_COLORS: u32 = 0; pub const DIB_PAL_COLORS: u32 = 1; pub const SYSPAL_ERROR: u32 = 0; pub const SYSPAL_STATIC: u32 = 1; pub const SYSPAL_NOSTATIC: u32 = 2; pub const SYSPAL_NOSTATIC256: u32 = 3; pub const CBM_INIT: u32 = 4; pub const FLOODFILLBORDER: u32 = 0; pub const FLOODFILLSURFACE: u32 = 1; pub const CCHDEVICENAME: u32 = 32; pub const CCHFORMNAME: u32 = 32; pub const DM_SPECVERSION: u32 = 1025; pub const DM_ORIENTATION: u32 = 1; pub const DM_PAPERSIZE: u32 = 2; pub const DM_PAPERLENGTH: u32 = 4; pub const DM_PAPERWIDTH: u32 = 8; pub const DM_SCALE: u32 = 16; pub const DM_POSITION: u32 = 32; pub const DM_NUP: u32 = 64; pub const DM_DISPLAYORIENTATION: u32 = 128; pub const DM_COPIES: u32 = 256; pub const DM_DEFAULTSOURCE: u32 = 512; pub const DM_PRINTQUALITY: u32 = 1024; pub const DM_COLOR: u32 = 2048; pub const DM_DUPLEX: u32 = 4096; pub const DM_YRESOLUTION: u32 = 8192; pub const DM_TTOPTION: u32 = 16384; pub const DM_COLLATE: u32 = 32768; pub const DM_FORMNAME: u32 = 65536; pub const DM_LOGPIXELS: u32 = 131072; pub const DM_BITSPERPEL: u32 = 262144; pub const DM_PELSWIDTH: u32 = 524288; pub const DM_PELSHEIGHT: u32 = 1048576; pub const DM_DISPLAYFLAGS: u32 = 2097152; pub const DM_DISPLAYFREQUENCY: u32 = 4194304; pub const DM_ICMMETHOD: u32 = 8388608; pub const DM_ICMINTENT: u32 = 16777216; pub const DM_MEDIATYPE: u32 = 33554432; pub const DM_DITHERTYPE: u32 = 67108864; pub const DM_PANNINGWIDTH: u32 = 134217728; pub const DM_PANNINGHEIGHT: u32 = 268435456; pub const DM_DISPLAYFIXEDOUTPUT: u32 = 536870912; pub const DMORIENT_PORTRAIT: u32 = 1; pub const DMORIENT_LANDSCAPE: u32 = 2; pub const DMPAPER_LETTER: u32 = 1; pub const DMPAPER_LETTERSMALL: u32 = 2; pub const DMPAPER_TABLOID: u32 = 3; pub const DMPAPER_LEDGER: u32 = 4; pub const DMPAPER_LEGAL: u32 = 5; pub const DMPAPER_STATEMENT: u32 = 6; pub const DMPAPER_EXECUTIVE: u32 = 7; pub const DMPAPER_A3: u32 = 8; pub const DMPAPER_A4: u32 = 9; pub const DMPAPER_A4SMALL: u32 = 10; pub const DMPAPER_A5: u32 = 11; pub const DMPAPER_B4: u32 = 12; pub const DMPAPER_B5: u32 = 13; pub const DMPAPER_FOLIO: u32 = 14; pub const DMPAPER_QUARTO: u32 = 15; pub const DMPAPER_10X14: u32 = 16; pub const DMPAPER_11X17: u32 = 17; pub const DMPAPER_NOTE: u32 = 18; pub const DMPAPER_ENV_9: u32 = 19; pub const DMPAPER_ENV_10: u32 = 20; pub const DMPAPER_ENV_11: u32 = 21; pub const DMPAPER_ENV_12: u32 = 22; pub const DMPAPER_ENV_14: u32 = 23; pub const DMPAPER_CSHEET: u32 = 24; pub const DMPAPER_DSHEET: u32 = 25; pub const DMPAPER_ESHEET: u32 = 26; pub const DMPAPER_ENV_DL: u32 = 27; pub const DMPAPER_ENV_C5: u32 = 28; pub const DMPAPER_ENV_C3: u32 = 29; pub const DMPAPER_ENV_C4: u32 = 30; pub const DMPAPER_ENV_C6: u32 = 31; pub const DMPAPER_ENV_C65: u32 = 32; pub const DMPAPER_ENV_B4: u32 = 33; pub const DMPAPER_ENV_B5: u32 = 34; pub const DMPAPER_ENV_B6: u32 = 35; pub const DMPAPER_ENV_ITALY: u32 = 36; pub const DMPAPER_ENV_MONARCH: u32 = 37; pub const DMPAPER_ENV_PERSONAL: u32 = 38; pub const DMPAPER_FANFOLD_US: u32 = 39; pub const DMPAPER_FANFOLD_STD_GERMAN: u32 = 40; pub const DMPAPER_FANFOLD_LGL_GERMAN: u32 = 41; pub const DMPAPER_ISO_B4: u32 = 42; pub const DMPAPER_JAPANESE_POSTCARD: u32 = 43; pub const DMPAPER_9X11: u32 = 44; pub const DMPAPER_10X11: u32 = 45; pub const DMPAPER_15X11: u32 = 46; pub const DMPAPER_ENV_INVITE: u32 = 47; pub const DMPAPER_RESERVED_48: u32 = 48; pub const DMPAPER_RESERVED_49: u32 = 49; pub const DMPAPER_LETTER_EXTRA: u32 = 50; pub const DMPAPER_LEGAL_EXTRA: u32 = 51; pub const DMPAPER_TABLOID_EXTRA: u32 = 52; pub const DMPAPER_A4_EXTRA: u32 = 53; pub const DMPAPER_LETTER_TRANSVERSE: u32 = 54; pub const DMPAPER_A4_TRANSVERSE: u32 = 55; pub const DMPAPER_LETTER_EXTRA_TRANSVERSE: u32 = 56; pub const DMPAPER_A_PLUS: u32 = 57; pub const DMPAPER_B_PLUS: u32 = 58; pub const DMPAPER_LETTER_PLUS: u32 = 59; pub const DMPAPER_A4_PLUS: u32 = 60; pub const DMPAPER_A5_TRANSVERSE: u32 = 61; pub const DMPAPER_B5_TRANSVERSE: u32 = 62; pub const DMPAPER_A3_EXTRA: u32 = 63; pub const DMPAPER_A5_EXTRA: u32 = 64; pub const DMPAPER_B5_EXTRA: u32 = 65; pub const DMPAPER_A2: u32 = 66; pub const DMPAPER_A3_TRANSVERSE: u32 = 67; pub const DMPAPER_A3_EXTRA_TRANSVERSE: u32 = 68; pub const DMPAPER_DBL_JAPANESE_POSTCARD: u32 = 69; pub const DMPAPER_A6: u32 = 70; pub const DMPAPER_JENV_KAKU2: u32 = 71; pub const DMPAPER_JENV_KAKU3: u32 = 72; pub const DMPAPER_JENV_CHOU3: u32 = 73; pub const DMPAPER_JENV_CHOU4: u32 = 74; pub const DMPAPER_LETTER_ROTATED: u32 = 75; pub const DMPAPER_A3_ROTATED: u32 = 76; pub const DMPAPER_A4_ROTATED: u32 = 77; pub const DMPAPER_A5_ROTATED: u32 = 78; pub const DMPAPER_B4_JIS_ROTATED: u32 = 79; pub const DMPAPER_B5_JIS_ROTATED: u32 = 80; pub const DMPAPER_JAPANESE_POSTCARD_ROTATED: u32 = 81; pub const DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED: u32 = 82; pub const DMPAPER_A6_ROTATED: u32 = 83; pub const DMPAPER_JENV_KAKU2_ROTATED: u32 = 84; pub const DMPAPER_JENV_KAKU3_ROTATED: u32 = 85; pub const DMPAPER_JENV_CHOU3_ROTATED: u32 = 86; pub const DMPAPER_JENV_CHOU4_ROTATED: u32 = 87; pub const DMPAPER_B6_JIS: u32 = 88; pub const DMPAPER_B6_JIS_ROTATED: u32 = 89; pub const DMPAPER_12X11: u32 = 90; pub const DMPAPER_JENV_YOU4: u32 = 91; pub const DMPAPER_JENV_YOU4_ROTATED: u32 = 92; pub const DMPAPER_P16K: u32 = 93; pub const DMPAPER_P32K: u32 = 94; pub const DMPAPER_P32KBIG: u32 = 95; pub const DMPAPER_PENV_1: u32 = 96; pub const DMPAPER_PENV_2: u32 = 97; pub const DMPAPER_PENV_3: u32 = 98; pub const DMPAPER_PENV_4: u32 = 99; pub const DMPAPER_PENV_5: u32 = 100; pub const DMPAPER_PENV_6: u32 = 101; pub const DMPAPER_PENV_7: u32 = 102; pub const DMPAPER_PENV_8: u32 = 103; pub const DMPAPER_PENV_9: u32 = 104; pub const DMPAPER_PENV_10: u32 = 105; pub const DMPAPER_P16K_ROTATED: u32 = 106; pub const DMPAPER_P32K_ROTATED: u32 = 107; pub const DMPAPER_P32KBIG_ROTATED: u32 = 108; pub const DMPAPER_PENV_1_ROTATED: u32 = 109; pub const DMPAPER_PENV_2_ROTATED: u32 = 110; pub const DMPAPER_PENV_3_ROTATED: u32 = 111; pub const DMPAPER_PENV_4_ROTATED: u32 = 112; pub const DMPAPER_PENV_5_ROTATED: u32 = 113; pub const DMPAPER_PENV_6_ROTATED: u32 = 114; pub const DMPAPER_PENV_7_ROTATED: u32 = 115; pub const DMPAPER_PENV_8_ROTATED: u32 = 116; pub const DMPAPER_PENV_9_ROTATED: u32 = 117; pub const DMPAPER_PENV_10_ROTATED: u32 = 118; pub const DMPAPER_LAST: u32 = 118; pub const DMPAPER_USER: u32 = 256; pub const DMBIN_UPPER: u32 = 1; pub const DMBIN_ONLYONE: u32 = 1; pub const DMBIN_LOWER: u32 = 2; pub const DMBIN_MIDDLE: u32 = 3; pub const DMBIN_MANUAL: u32 = 4; pub const DMBIN_ENVELOPE: u32 = 5; pub const DMBIN_ENVMANUAL: u32 = 6; pub const DMBIN_AUTO: u32 = 7; pub const DMBIN_TRACTOR: u32 = 8; pub const DMBIN_SMALLFMT: u32 = 9; pub const DMBIN_LARGEFMT: u32 = 10; pub const DMBIN_LARGECAPACITY: u32 = 11; pub const DMBIN_CASSETTE: u32 = 14; pub const DMBIN_FORMSOURCE: u32 = 15; pub const DMBIN_LAST: u32 = 15; pub const DMBIN_USER: u32 = 256; pub const DMRES_DRAFT: i32 = -1; pub const DMRES_LOW: i32 = -2; pub const DMRES_MEDIUM: i32 = -3; pub const DMRES_HIGH: i32 = -4; pub const DMCOLOR_MONOCHROME: u32 = 1; pub const DMCOLOR_COLOR: u32 = 2; pub const DMDUP_SIMPLEX: u32 = 1; pub const DMDUP_VERTICAL: u32 = 2; pub const DMDUP_HORIZONTAL: u32 = 3; pub const DMTT_BITMAP: u32 = 1; pub const DMTT_DOWNLOAD: u32 = 2; pub const DMTT_SUBDEV: u32 = 3; pub const DMTT_DOWNLOAD_OUTLINE: u32 = 4; pub const DMCOLLATE_FALSE: u32 = 0; pub const DMCOLLATE_TRUE: u32 = 1; pub const DMDO_DEFAULT: u32 = 0; pub const DMDO_90: u32 = 1; pub const DMDO_180: u32 = 2; pub const DMDO_270: u32 = 3; pub const DMDFO_DEFAULT: u32 = 0; pub const DMDFO_STRETCH: u32 = 1; pub const DMDFO_CENTER: u32 = 2; pub const DM_INTERLACED: u32 = 2; pub const DMDISPLAYFLAGS_TEXTMODE: u32 = 4; pub const DMNUP_SYSTEM: u32 = 1; pub const DMNUP_ONEUP: u32 = 2; pub const DMICMMETHOD_NONE: u32 = 1; pub const DMICMMETHOD_SYSTEM: u32 = 2; pub const DMICMMETHOD_DRIVER: u32 = 3; pub const DMICMMETHOD_DEVICE: u32 = 4; pub const DMICMMETHOD_USER: u32 = 256; pub const DMICM_SATURATE: u32 = 1; pub const DMICM_CONTRAST: u32 = 2; pub const DMICM_COLORIMETRIC: u32 = 3; pub const DMICM_ABS_COLORIMETRIC: u32 = 4; pub const DMICM_USER: u32 = 256; pub const DMMEDIA_STANDARD: u32 = 1; pub const DMMEDIA_TRANSPARENCY: u32 = 2; pub const DMMEDIA_GLOSSY: u32 = 3; pub const DMMEDIA_USER: u32 = 256; pub const DMDITHER_NONE: u32 = 1; pub const DMDITHER_COARSE: u32 = 2; pub const DMDITHER_FINE: u32 = 3; pub const DMDITHER_LINEART: u32 = 4; pub const DMDITHER_ERRORDIFFUSION: u32 = 5; pub const DMDITHER_RESERVED6: u32 = 6; pub const DMDITHER_RESERVED7: u32 = 7; pub const DMDITHER_RESERVED8: u32 = 8; pub const DMDITHER_RESERVED9: u32 = 9; pub const DMDITHER_GRAYSCALE: u32 = 10; pub const DMDITHER_USER: u32 = 256; pub const DISPLAY_DEVICE_ATTACHED_TO_DESKTOP: u32 = 1; pub const DISPLAY_DEVICE_MULTI_DRIVER: u32 = 2; pub const DISPLAY_DEVICE_PRIMARY_DEVICE: u32 = 4; pub const DISPLAY_DEVICE_MIRRORING_DRIVER: u32 = 8; pub const DISPLAY_DEVICE_VGA_COMPATIBLE: u32 = 16; pub const DISPLAY_DEVICE_REMOVABLE: u32 = 32; pub const DISPLAY_DEVICE_ACC_DRIVER: u32 = 64; pub const DISPLAY_DEVICE_MODESPRUNED: u32 = 134217728; pub const DISPLAY_DEVICE_RDPUDD: u32 = 16777216; pub const DISPLAY_DEVICE_REMOTE: u32 = 67108864; pub const DISPLAY_DEVICE_DISCONNECT: u32 = 33554432; pub const DISPLAY_DEVICE_TS_COMPATIBLE: u32 = 2097152; pub const DISPLAY_DEVICE_UNSAFE_MODES_ON: u32 = 524288; pub const DISPLAY_DEVICE_ACTIVE: u32 = 1; pub const DISPLAY_DEVICE_ATTACHED: u32 = 2; pub const DISPLAYCONFIG_MAXPATH: u32 = 1024; pub const DISPLAYCONFIG_PATH_MODE_IDX_INVALID: u32 = 4294967295; pub const DISPLAYCONFIG_PATH_TARGET_MODE_IDX_INVALID: u32 = 65535; pub const DISPLAYCONFIG_PATH_DESKTOP_IMAGE_IDX_INVALID: u32 = 65535; pub const DISPLAYCONFIG_PATH_SOURCE_MODE_IDX_INVALID: u32 = 65535; pub const DISPLAYCONFIG_PATH_CLONE_GROUP_INVALID: u32 = 65535; pub const DISPLAYCONFIG_SOURCE_IN_USE: u32 = 1; pub const DISPLAYCONFIG_TARGET_IN_USE: u32 = 1; pub const DISPLAYCONFIG_TARGET_FORCIBLE: u32 = 2; pub const DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_BOOT: u32 = 4; pub const DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_PATH: u32 = 8; pub const DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_SYSTEM: u32 = 16; pub const DISPLAYCONFIG_TARGET_IS_HMD: u32 = 32; pub const DISPLAYCONFIG_PATH_ACTIVE: u32 = 1; pub const DISPLAYCONFIG_PATH_PREFERRED_UNSCALED: u32 = 4; pub const DISPLAYCONFIG_PATH_SUPPORT_VIRTUAL_MODE: u32 = 8; pub const DISPLAYCONFIG_PATH_VALID_FLAGS: u32 = 13; pub const QDC_ALL_PATHS: u32 = 1; pub const QDC_ONLY_ACTIVE_PATHS: u32 = 2; pub const QDC_DATABASE_CURRENT: u32 = 4; pub const QDC_VIRTUAL_MODE_AWARE: u32 = 16; pub const QDC_INCLUDE_HMD: u32 = 32; pub const SDC_TOPOLOGY_INTERNAL: u32 = 1; pub const SDC_TOPOLOGY_CLONE: u32 = 2; pub const SDC_TOPOLOGY_EXTEND: u32 = 4; pub const SDC_TOPOLOGY_EXTERNAL: u32 = 8; pub const SDC_TOPOLOGY_SUPPLIED: u32 = 16; pub const SDC_USE_DATABASE_CURRENT: u32 = 15; pub const SDC_USE_SUPPLIED_DISPLAY_CONFIG: u32 = 32; pub const SDC_VALIDATE: u32 = 64; pub const SDC_APPLY: u32 = 128; pub const SDC_NO_OPTIMIZATION: u32 = 256; pub const SDC_SAVE_TO_DATABASE: u32 = 512; pub const SDC_ALLOW_CHANGES: u32 = 1024; pub const SDC_PATH_PERSIST_IF_REQUIRED: u32 = 2048; pub const SDC_FORCE_MODE_ENUMERATION: u32 = 4096; pub const SDC_ALLOW_PATH_ORDER_CHANGES: u32 = 8192; pub const SDC_VIRTUAL_MODE_AWARE: u32 = 32768; pub const RDH_RECTANGLES: u32 = 1; pub const SYSRGN: u32 = 4; pub const GGO_METRICS: u32 = 0; pub const GGO_BITMAP: u32 = 1; pub const GGO_NATIVE: u32 = 2; pub const GGO_BEZIER: u32 = 3; pub const GGO_GRAY2_BITMAP: u32 = 4; pub const GGO_GRAY4_BITMAP: u32 = 5; pub const GGO_GRAY8_BITMAP: u32 = 6; pub const GGO_GLYPH_INDEX: u32 = 128; pub const GGO_UNHINTED: u32 = 256; pub const TT_POLYGON_TYPE: u32 = 24; pub const TT_PRIM_LINE: u32 = 1; pub const TT_PRIM_QSPLINE: u32 = 2; pub const TT_PRIM_CSPLINE: u32 = 3; pub const GCP_DBCS: u32 = 1; pub const GCP_REORDER: u32 = 2; pub const GCP_USEKERNING: u32 = 8; pub const GCP_GLYPHSHAPE: u32 = 16; pub const GCP_LIGATE: u32 = 32; pub const GCP_DIACRITIC: u32 = 256; pub const GCP_KASHIDA: u32 = 1024; pub const GCP_ERROR: u32 = 32768; pub const FLI_MASK: u32 = 4155; pub const GCP_JUSTIFY: u32 = 65536; pub const FLI_GLYPHS: u32 = 262144; pub const GCP_CLASSIN: u32 = 524288; pub const GCP_MAXEXTENT: u32 = 1048576; pub const GCP_JUSTIFYIN: u32 = 2097152; pub const GCP_DISPLAYZWG: u32 = 4194304; pub const GCP_SYMSWAPOFF: u32 = 8388608; pub const GCP_NUMERICOVERRIDE: u32 = 16777216; pub const GCP_NEUTRALOVERRIDE: u32 = 33554432; pub const GCP_NUMERICSLATIN: u32 = 67108864; pub const GCP_NUMERICSLOCAL: u32 = 134217728; pub const GCPCLASS_LATIN: u32 = 1; pub const GCPCLASS_HEBREW: u32 = 2; pub const GCPCLASS_ARABIC: u32 = 2; pub const GCPCLASS_NEUTRAL: u32 = 3; pub const GCPCLASS_LOCALNUMBER: u32 = 4; pub const GCPCLASS_LATINNUMBER: u32 = 5; pub const GCPCLASS_LATINNUMERICTERMINATOR: u32 = 6; pub const GCPCLASS_LATINNUMERICSEPARATOR: u32 = 7; pub const GCPCLASS_NUMERICSEPARATOR: u32 = 8; pub const GCPCLASS_PREBOUNDLTR: u32 = 128; pub const GCPCLASS_PREBOUNDRTL: u32 = 64; pub const GCPCLASS_POSTBOUNDLTR: u32 = 32; pub const GCPCLASS_POSTBOUNDRTL: u32 = 16; pub const GCPGLYPH_LINKBEFORE: u32 = 32768; pub const GCPGLYPH_LINKAFTER: u32 = 16384; pub const TT_AVAILABLE: u32 = 1; pub const TT_ENABLED: u32 = 2; pub const PFD_TYPE_RGBA: u32 = 0; pub const PFD_TYPE_COLORINDEX: u32 = 1; pub const PFD_MAIN_PLANE: u32 = 0; pub const PFD_OVERLAY_PLANE: u32 = 1; pub const PFD_UNDERLAY_PLANE: i32 = -1; pub const PFD_DOUBLEBUFFER: u32 = 1; pub const PFD_STEREO: u32 = 2; pub const PFD_DRAW_TO_WINDOW: u32 = 4; pub const PFD_DRAW_TO_BITMAP: u32 = 8; pub const PFD_SUPPORT_GDI: u32 = 16; pub const PFD_SUPPORT_OPENGL: u32 = 32; pub const PFD_GENERIC_FORMAT: u32 = 64; pub const PFD_NEED_PALETTE: u32 = 128; pub const PFD_NEED_SYSTEM_PALETTE: u32 = 256; pub const PFD_SWAP_EXCHANGE: u32 = 512; pub const PFD_SWAP_COPY: u32 = 1024; pub const PFD_SWAP_LAYER_BUFFERS: u32 = 2048; pub const PFD_GENERIC_ACCELERATED: u32 = 4096; pub const PFD_SUPPORT_DIRECTDRAW: u32 = 8192; pub const PFD_DIRECT3D_ACCELERATED: u32 = 16384; pub const PFD_SUPPORT_COMPOSITION: u32 = 32768; pub const PFD_DEPTH_DONTCARE: u32 = 536870912; pub const PFD_DOUBLEBUFFER_DONTCARE: u32 = 1073741824; pub const PFD_STEREO_DONTCARE: u32 = 2147483648; pub const DC_BINADJUST: u32 = 19; pub const DC_EMF_COMPLIANT: u32 = 20; pub const DC_DATATYPE_PRODUCED: u32 = 21; pub const DC_COLLATE: u32 = 22; pub const DC_MANUFACTURER: u32 = 23; pub const DC_MODEL: u32 = 24; pub const DC_PERSONALITY: u32 = 25; pub const DC_PRINTRATE: u32 = 26; pub const DC_PRINTRATEUNIT: u32 = 27; pub const PRINTRATEUNIT_PPM: u32 = 1; pub const PRINTRATEUNIT_CPS: u32 = 2; pub const PRINTRATEUNIT_LPM: u32 = 3; pub const PRINTRATEUNIT_IPM: u32 = 4; pub const DC_PRINTERMEM: u32 = 28; pub const DC_MEDIAREADY: u32 = 29; pub const DC_STAPLE: u32 = 30; pub const DC_PRINTRATEPPM: u32 = 31; pub const DC_COLORDEVICE: u32 = 32; pub const DC_NUP: u32 = 33; pub const DC_MEDIATYPENAMES: u32 = 34; pub const DC_MEDIATYPES: u32 = 35; pub const DCTT_BITMAP: u32 = 1; pub const DCTT_DOWNLOAD: u32 = 2; pub const DCTT_SUBDEV: u32 = 4; pub const DCTT_DOWNLOAD_OUTLINE: u32 = 8; pub const DCBA_FACEUPNONE: u32 = 0; pub const DCBA_FACEUPCENTER: u32 = 1; pub const DCBA_FACEUPLEFT: u32 = 2; pub const DCBA_FACEUPRIGHT: u32 = 3; pub const DCBA_FACEDOWNNONE: u32 = 256; pub const DCBA_FACEDOWNCENTER: u32 = 257; pub const DCBA_FACEDOWNLEFT: u32 = 258; pub const DCBA_FACEDOWNRIGHT: u32 = 259; pub const GS_8BIT_INDICES: u32 = 1; pub const GGI_MARK_NONEXISTING_GLYPHS: u32 = 1; pub const MM_MAX_NUMAXES: u32 = 16; pub const FR_PRIVATE: u32 = 16; pub const FR_NOT_ENUM: u32 = 32; pub const MM_MAX_AXES_NAMELEN: u32 = 16; pub const AC_SRC_OVER: u32 = 0; pub const AC_SRC_ALPHA: u32 = 1; pub const GRADIENT_FILL_RECT_H: u32 = 0; pub const GRADIENT_FILL_RECT_V: u32 = 1; pub const GRADIENT_FILL_TRIANGLE: u32 = 2; pub const GRADIENT_FILL_OP_FLAG: u32 = 255; pub const CA_NEGATIVE: u32 = 1; pub const CA_LOG_FILTER: u32 = 2; pub const ILLUMINANT_DEVICE_DEFAULT: u32 = 0; pub const ILLUMINANT_A: u32 = 1; pub const ILLUMINANT_B: u32 = 2; pub const ILLUMINANT_C: u32 = 3; pub const ILLUMINANT_D50: u32 = 4; pub const ILLUMINANT_D55: u32 = 5; pub const ILLUMINANT_D65: u32 = 6; pub const ILLUMINANT_D75: u32 = 7; pub const ILLUMINANT_F2: u32 = 8; pub const ILLUMINANT_MAX_INDEX: u32 = 8; pub const ILLUMINANT_TUNGSTEN: u32 = 1; pub const ILLUMINANT_DAYLIGHT: u32 = 3; pub const ILLUMINANT_FLUORESCENT: u32 = 8; pub const ILLUMINANT_NTSC: u32 = 3; pub const DI_APPBANDING: u32 = 1; pub const DI_ROPS_READ_DESTINATION: u32 = 2; pub const FONTMAPPER_MAX: u32 = 10; pub const ICM_OFF: u32 = 1; pub const ICM_ON: u32 = 2; pub const ICM_QUERY: u32 = 3; pub const ICM_DONE_OUTSIDEDC: u32 = 4; pub const ENHMETA_SIGNATURE: u32 = 1179469088; pub const ENHMETA_STOCK_OBJECT: u32 = 2147483648; pub const EMR_HEADER: u32 = 1; pub const EMR_POLYBEZIER: u32 = 2; pub const EMR_POLYGON: u32 = 3; pub const EMR_POLYLINE: u32 = 4; pub const EMR_POLYBEZIERTO: u32 = 5; pub const EMR_POLYLINETO: u32 = 6; pub const EMR_POLYPOLYLINE: u32 = 7; pub const EMR_POLYPOLYGON: u32 = 8; pub const EMR_SETWINDOWEXTEX: u32 = 9; pub const EMR_SETWINDOWORGEX: u32 = 10; pub const EMR_SETVIEWPORTEXTEX: u32 = 11; pub const EMR_SETVIEWPORTORGEX: u32 = 12; pub const EMR_SETBRUSHORGEX: u32 = 13; pub const EMR_EOF: u32 = 14; pub const EMR_SETPIXELV: u32 = 15; pub const EMR_SETMAPPERFLAGS: u32 = 16; pub const EMR_SETMAPMODE: u32 = 17; pub const EMR_SETBKMODE: u32 = 18; pub const EMR_SETPOLYFILLMODE: u32 = 19; pub const EMR_SETROP2: u32 = 20; pub const EMR_SETSTRETCHBLTMODE: u32 = 21; pub const EMR_SETTEXTALIGN: u32 = 22; pub const EMR_SETCOLORADJUSTMENT: u32 = 23; pub const EMR_SETTEXTCOLOR: u32 = 24; pub const EMR_SETBKCOLOR: u32 = 25; pub const EMR_OFFSETCLIPRGN: u32 = 26; pub const EMR_MOVETOEX: u32 = 27; pub const EMR_SETMETARGN: u32 = 28; pub const EMR_EXCLUDECLIPRECT: u32 = 29; pub const EMR_INTERSECTCLIPRECT: u32 = 30; pub const EMR_SCALEVIEWPORTEXTEX: u32 = 31; pub const EMR_SCALEWINDOWEXTEX: u32 = 32; pub const EMR_SAVEDC: u32 = 33; pub const EMR_RESTOREDC: u32 = 34; pub const EMR_SETWORLDTRANSFORM: u32 = 35; pub const EMR_MODIFYWORLDTRANSFORM: u32 = 36; pub const EMR_SELECTOBJECT: u32 = 37; pub const EMR_CREATEPEN: u32 = 38; pub const EMR_CREATEBRUSHINDIRECT: u32 = 39; pub const EMR_DELETEOBJECT: u32 = 40; pub const EMR_ANGLEARC: u32 = 41; pub const EMR_ELLIPSE: u32 = 42; pub const EMR_RECTANGLE: u32 = 43; pub const EMR_ROUNDRECT: u32 = 44; pub const EMR_ARC: u32 = 45; pub const EMR_CHORD: u32 = 46; pub const EMR_PIE: u32 = 47; pub const EMR_SELECTPALETTE: u32 = 48; pub const EMR_CREATEPALETTE: u32 = 49; pub const EMR_SETPALETTEENTRIES: u32 = 50; pub const EMR_RESIZEPALETTE: u32 = 51; pub const EMR_REALIZEPALETTE: u32 = 52; pub const EMR_EXTFLOODFILL: u32 = 53; pub const EMR_LINETO: u32 = 54; pub const EMR_ARCTO: u32 = 55; pub const EMR_POLYDRAW: u32 = 56; pub const EMR_SETARCDIRECTION: u32 = 57; pub const EMR_SETMITERLIMIT: u32 = 58; pub const EMR_BEGINPATH: u32 = 59; pub const EMR_ENDPATH: u32 = 60; pub const EMR_CLOSEFIGURE: u32 = 61; pub const EMR_FILLPATH: u32 = 62; pub const EMR_STROKEANDFILLPATH: u32 = 63; pub const EMR_STROKEPATH: u32 = 64; pub const EMR_FLATTENPATH: u32 = 65; pub const EMR_WIDENPATH: u32 = 66; pub const EMR_SELECTCLIPPATH: u32 = 67; pub const EMR_ABORTPATH: u32 = 68; pub const EMR_GDICOMMENT: u32 = 70; pub const EMR_FILLRGN: u32 = 71; pub const EMR_FRAMERGN: u32 = 72; pub const EMR_INVERTRGN: u32 = 73; pub const EMR_PAINTRGN: u32 = 74; pub const EMR_EXTSELECTCLIPRGN: u32 = 75; pub const EMR_BITBLT: u32 = 76; pub const EMR_STRETCHBLT: u32 = 77; pub const EMR_MASKBLT: u32 = 78; pub const EMR_PLGBLT: u32 = 79; pub const EMR_SETDIBITSTODEVICE: u32 = 80; pub const EMR_STRETCHDIBITS: u32 = 81; pub const EMR_EXTCREATEFONTINDIRECTW: u32 = 82; pub const EMR_EXTTEXTOUTA: u32 = 83; pub const EMR_EXTTEXTOUTW: u32 = 84; pub const EMR_POLYBEZIER16: u32 = 85; pub const EMR_POLYGON16: u32 = 86; pub const EMR_POLYLINE16: u32 = 87; pub const EMR_POLYBEZIERTO16: u32 = 88; pub const EMR_POLYLINETO16: u32 = 89; pub const EMR_POLYPOLYLINE16: u32 = 90; pub const EMR_POLYPOLYGON16: u32 = 91; pub const EMR_POLYDRAW16: u32 = 92; pub const EMR_CREATEMONOBRUSH: u32 = 93; pub const EMR_CREATEDIBPATTERNBRUSHPT: u32 = 94; pub const EMR_EXTCREATEPEN: u32 = 95; pub const EMR_POLYTEXTOUTA: u32 = 96; pub const EMR_POLYTEXTOUTW: u32 = 97; pub const EMR_SETICMMODE: u32 = 98; pub const EMR_CREATECOLORSPACE: u32 = 99; pub const EMR_SETCOLORSPACE: u32 = 100; pub const EMR_DELETECOLORSPACE: u32 = 101; pub const EMR_GLSRECORD: u32 = 102; pub const EMR_GLSBOUNDEDRECORD: u32 = 103; pub const EMR_PIXELFORMAT: u32 = 104; pub const EMR_RESERVED_105: u32 = 105; pub const EMR_RESERVED_106: u32 = 106; pub const EMR_RESERVED_107: u32 = 107; pub const EMR_RESERVED_108: u32 = 108; pub const EMR_RESERVED_109: u32 = 109; pub const EMR_RESERVED_110: u32 = 110; pub const EMR_COLORCORRECTPALETTE: u32 = 111; pub const EMR_SETICMPROFILEA: u32 = 112; pub const EMR_SETICMPROFILEW: u32 = 113; pub const EMR_ALPHABLEND: u32 = 114; pub const EMR_SETLAYOUT: u32 = 115; pub const EMR_TRANSPARENTBLT: u32 = 116; pub const EMR_RESERVED_117: u32 = 117; pub const EMR_GRADIENTFILL: u32 = 118; pub const EMR_RESERVED_119: u32 = 119; pub const EMR_RESERVED_120: u32 = 120; pub const EMR_COLORMATCHTOTARGETW: u32 = 121; pub const EMR_CREATECOLORSPACEW: u32 = 122; pub const EMR_MIN: u32 = 1; pub const EMR_MAX: u32 = 122; pub const SETICMPROFILE_EMBEDED: u32 = 1; pub const CREATECOLORSPACE_EMBEDED: u32 = 1; pub const COLORMATCHTOTARGET_EMBEDED: u32 = 1; pub const GDICOMMENT_IDENTIFIER: u32 = 1128875079; pub const GDICOMMENT_WINDOWS_METAFILE: u32 = 2147483649; pub const GDICOMMENT_BEGINGROUP: u32 = 2; pub const GDICOMMENT_ENDGROUP: u32 = 3; pub const GDICOMMENT_MULTIFORMATS: u32 = 1073741828; pub const EPS_SIGNATURE: u32 = 1179865157; pub const GDICOMMENT_UNICODE_STRING: u32 = 64; pub const GDICOMMENT_UNICODE_END: u32 = 128; pub const WGL_FONT_LINES: u32 = 0; pub const WGL_FONT_POLYGONS: u32 = 1; pub const LPD_DOUBLEBUFFER: u32 = 1; pub const LPD_STEREO: u32 = 2; pub const LPD_SUPPORT_GDI: u32 = 16; pub const LPD_SUPPORT_OPENGL: u32 = 32; pub const LPD_SHARE_DEPTH: u32 = 64; pub const LPD_SHARE_STENCIL: u32 = 128; pub const LPD_SHARE_ACCUM: u32 = 256; pub const LPD_SWAP_EXCHANGE: u32 = 512; pub const LPD_SWAP_COPY: u32 = 1024; pub const LPD_TRANSPARENT: u32 = 4096; pub const LPD_TYPE_RGBA: u32 = 0; pub const LPD_TYPE_COLORINDEX: u32 = 1; pub const WGL_SWAP_MAIN_PLANE: u32 = 1; pub const WGL_SWAP_OVERLAY1: u32 = 2; pub const WGL_SWAP_OVERLAY2: u32 = 4; pub const WGL_SWAP_OVERLAY3: u32 = 8; pub const WGL_SWAP_OVERLAY4: u32 = 16; pub const WGL_SWAP_OVERLAY5: u32 = 32; pub const WGL_SWAP_OVERLAY6: u32 = 64; pub const WGL_SWAP_OVERLAY7: u32 = 128; pub const WGL_SWAP_OVERLAY8: u32 = 256; pub const WGL_SWAP_OVERLAY9: u32 = 512; pub const WGL_SWAP_OVERLAY10: u32 = 1024; pub const WGL_SWAP_OVERLAY11: u32 = 2048; pub const WGL_SWAP_OVERLAY12: u32 = 4096; pub const WGL_SWAP_OVERLAY13: u32 = 8192; pub const WGL_SWAP_OVERLAY14: u32 = 16384; pub const WGL_SWAP_OVERLAY15: u32 = 32768; pub const WGL_SWAP_UNDERLAY1: u32 = 65536; pub const WGL_SWAP_UNDERLAY2: u32 = 131072; pub const WGL_SWAP_UNDERLAY3: u32 = 262144; pub const WGL_SWAP_UNDERLAY4: u32 = 524288; pub const WGL_SWAP_UNDERLAY5: u32 = 1048576; pub const WGL_SWAP_UNDERLAY6: u32 = 2097152; pub const WGL_SWAP_UNDERLAY7: u32 = 4194304; pub const WGL_SWAP_UNDERLAY8: u32 = 8388608; pub const WGL_SWAP_UNDERLAY9: u32 = 16777216; pub const WGL_SWAP_UNDERLAY10: u32 = 33554432; pub const WGL_SWAP_UNDERLAY11: u32 = 67108864; pub const WGL_SWAP_UNDERLAY12: u32 = 134217728; pub const WGL_SWAP_UNDERLAY13: u32 = 268435456; pub const WGL_SWAP_UNDERLAY14: u32 = 536870912; pub const WGL_SWAP_UNDERLAY15: u32 = 1073741824; pub const WGL_SWAPMULTIPLE_MAX: u32 = 16; pub const DIFFERENCE: u32 = 11; pub const SB_HORZ: u32 = 0; pub const SB_VERT: u32 = 1; pub const SB_CTL: u32 = 2; pub const SB_BOTH: u32 = 3; pub const SB_LINEUP: u32 = 0; pub const SB_LINELEFT: u32 = 0; pub const SB_LINEDOWN: u32 = 1; pub const SB_LINERIGHT: u32 = 1; pub const SB_PAGEUP: u32 = 2; pub const SB_PAGELEFT: u32 = 2; pub const SB_PAGEDOWN: u32 = 3; pub const SB_PAGERIGHT: u32 = 3; pub const SB_THUMBPOSITION: u32 = 4; pub const SB_THUMBTRACK: u32 = 5; pub const SB_TOP: u32 = 6; pub const SB_LEFT: u32 = 6; pub const SB_BOTTOM: u32 = 7; pub const SB_RIGHT: u32 = 7; pub const SB_ENDSCROLL: u32 = 8; pub const SW_HIDE: u32 = 0; pub const SW_SHOWNORMAL: u32 = 1; pub const SW_NORMAL: u32 = 1; pub const SW_SHOWMINIMIZED: u32 = 2; pub const SW_SHOWMAXIMIZED: u32 = 3; pub const SW_MAXIMIZE: u32 = 3; pub const SW_SHOWNOACTIVATE: u32 = 4; pub const SW_SHOW: u32 = 5; pub const SW_MINIMIZE: u32 = 6; pub const SW_SHOWMINNOACTIVE: u32 = 7; pub const SW_SHOWNA: u32 = 8; pub const SW_RESTORE: u32 = 9; pub const SW_SHOWDEFAULT: u32 = 10; pub const SW_FORCEMINIMIZE: u32 = 11; pub const SW_MAX: u32 = 11; pub const HIDE_WINDOW: u32 = 0; pub const SHOW_OPENWINDOW: u32 = 1; pub const SHOW_ICONWINDOW: u32 = 2; pub const SHOW_FULLSCREEN: u32 = 3; pub const SHOW_OPENNOACTIVATE: u32 = 4; pub const SW_PARENTCLOSING: u32 = 1; pub const SW_OTHERZOOM: u32 = 2; pub const SW_PARENTOPENING: u32 = 3; pub const SW_OTHERUNZOOM: u32 = 4; pub const AW_HOR_POSITIVE: u32 = 1; pub const AW_HOR_NEGATIVE: u32 = 2; pub const AW_VER_POSITIVE: u32 = 4; pub const AW_VER_NEGATIVE: u32 = 8; pub const AW_CENTER: u32 = 16; pub const AW_HIDE: u32 = 65536; pub const AW_ACTIVATE: u32 = 131072; pub const AW_SLIDE: u32 = 262144; pub const AW_BLEND: u32 = 524288; pub const KF_EXTENDED: u32 = 256; pub const KF_DLGMODE: u32 = 2048; pub const KF_MENUMODE: u32 = 4096; pub const KF_ALTDOWN: u32 = 8192; pub const KF_REPEAT: u32 = 16384; pub const KF_UP: u32 = 32768; pub const VK_LBUTTON: u32 = 1; pub const VK_RBUTTON: u32 = 2; pub const VK_CANCEL: u32 = 3; pub const VK_MBUTTON: u32 = 4; pub const VK_XBUTTON1: u32 = 5; pub const VK_XBUTTON2: u32 = 6; pub const VK_BACK: u32 = 8; pub const VK_TAB: u32 = 9; pub const VK_CLEAR: u32 = 12; pub const VK_RETURN: u32 = 13; pub const VK_SHIFT: u32 = 16; pub const VK_CONTROL: u32 = 17; pub const VK_MENU: u32 = 18; pub const VK_PAUSE: u32 = 19; pub const VK_CAPITAL: u32 = 20; pub const VK_KANA: u32 = 21; pub const VK_HANGEUL: u32 = 21; pub const VK_HANGUL: u32 = 21; pub const VK_JUNJA: u32 = 23; pub const VK_FINAL: u32 = 24; pub const VK_HANJA: u32 = 25; pub const VK_KANJI: u32 = 25; pub const VK_ESCAPE: u32 = 27; pub const VK_CONVERT: u32 = 28; pub const VK_NONCONVERT: u32 = 29; pub const VK_ACCEPT: u32 = 30; pub const VK_MODECHANGE: u32 = 31; pub const VK_SPACE: u32 = 32; pub const VK_PRIOR: u32 = 33; pub const VK_NEXT: u32 = 34; pub const VK_END: u32 = 35; pub const VK_HOME: u32 = 36; pub const VK_LEFT: u32 = 37; pub const VK_UP: u32 = 38; pub const VK_RIGHT: u32 = 39; pub const VK_DOWN: u32 = 40; pub const VK_SELECT: u32 = 41; pub const VK_PRINT: u32 = 42; pub const VK_EXECUTE: u32 = 43; pub const VK_SNAPSHOT: u32 = 44; pub const VK_INSERT: u32 = 45; pub const VK_DELETE: u32 = 46; pub const VK_HELP: u32 = 47; pub const VK_LWIN: u32 = 91; pub const VK_RWIN: u32 = 92; pub const VK_APPS: u32 = 93; pub const VK_SLEEP: u32 = 95; pub const VK_NUMPAD0: u32 = 96; pub const VK_NUMPAD1: u32 = 97; pub const VK_NUMPAD2: u32 = 98; pub const VK_NUMPAD3: u32 = 99; pub const VK_NUMPAD4: u32 = 100; pub const VK_NUMPAD5: u32 = 101; pub const VK_NUMPAD6: u32 = 102; pub const VK_NUMPAD7: u32 = 103; pub const VK_NUMPAD8: u32 = 104; pub const VK_NUMPAD9: u32 = 105; pub const VK_MULTIPLY: u32 = 106; pub const VK_ADD: u32 = 107; pub const VK_SEPARATOR: u32 = 108; pub const VK_SUBTRACT: u32 = 109; pub const VK_DECIMAL: u32 = 110; pub const VK_DIVIDE: u32 = 111; pub const VK_F1: u32 = 112; pub const VK_F2: u32 = 113; pub const VK_F3: u32 = 114; pub const VK_F4: u32 = 115; pub const VK_F5: u32 = 116; pub const VK_F6: u32 = 117; pub const VK_F7: u32 = 118; pub const VK_F8: u32 = 119; pub const VK_F9: u32 = 120; pub const VK_F10: u32 = 121; pub const VK_F11: u32 = 122; pub const VK_F12: u32 = 123; pub const VK_F13: u32 = 124; pub const VK_F14: u32 = 125; pub const VK_F15: u32 = 126; pub const VK_F16: u32 = 127; pub const VK_F17: u32 = 128; pub const VK_F18: u32 = 129; pub const VK_F19: u32 = 130; pub const VK_F20: u32 = 131; pub const VK_F21: u32 = 132; pub const VK_F22: u32 = 133; pub const VK_F23: u32 = 134; pub const VK_F24: u32 = 135; pub const VK_NAVIGATION_VIEW: u32 = 136; pub const VK_NAVIGATION_MENU: u32 = 137; pub const VK_NAVIGATION_UP: u32 = 138; pub const VK_NAVIGATION_DOWN: u32 = 139; pub const VK_NAVIGATION_LEFT: u32 = 140; pub const VK_NAVIGATION_RIGHT: u32 = 141; pub const VK_NAVIGATION_ACCEPT: u32 = 142; pub const VK_NAVIGATION_CANCEL: u32 = 143; pub const VK_NUMLOCK: u32 = 144; pub const VK_SCROLL: u32 = 145; pub const VK_OEM_NEC_EQUAL: u32 = 146; pub const VK_OEM_FJ_JISHO: u32 = 146; pub const VK_OEM_FJ_MASSHOU: u32 = 147; pub const VK_OEM_FJ_TOUROKU: u32 = 148; pub const VK_OEM_FJ_LOYA: u32 = 149; pub const VK_OEM_FJ_ROYA: u32 = 150; pub const VK_LSHIFT: u32 = 160; pub const VK_RSHIFT: u32 = 161; pub const VK_LCONTROL: u32 = 162; pub const VK_RCONTROL: u32 = 163; pub const VK_LMENU: u32 = 164; pub const VK_RMENU: u32 = 165; pub const VK_BROWSER_BACK: u32 = 166; pub const VK_BROWSER_FORWARD: u32 = 167; pub const VK_BROWSER_REFRESH: u32 = 168; pub const VK_BROWSER_STOP: u32 = 169; pub const VK_BROWSER_SEARCH: u32 = 170; pub const VK_BROWSER_FAVORITES: u32 = 171; pub const VK_BROWSER_HOME: u32 = 172; pub const VK_VOLUME_MUTE: u32 = 173; pub const VK_VOLUME_DOWN: u32 = 174; pub const VK_VOLUME_UP: u32 = 175; pub const VK_MEDIA_NEXT_TRACK: u32 = 176; pub const VK_MEDIA_PREV_TRACK: u32 = 177; pub const VK_MEDIA_STOP: u32 = 178; pub const VK_MEDIA_PLAY_PAUSE: u32 = 179; pub const VK_LAUNCH_MAIL: u32 = 180; pub const VK_LAUNCH_MEDIA_SELECT: u32 = 181; pub const VK_LAUNCH_APP1: u32 = 182; pub const VK_LAUNCH_APP2: u32 = 183; pub const VK_OEM_1: u32 = 186; pub const VK_OEM_PLUS: u32 = 187; pub const VK_OEM_COMMA: u32 = 188; pub const VK_OEM_MINUS: u32 = 189; pub const VK_OEM_PERIOD: u32 = 190; pub const VK_OEM_2: u32 = 191; pub const VK_OEM_3: u32 = 192; pub const VK_GAMEPAD_A: u32 = 195; pub const VK_GAMEPAD_B: u32 = 196; pub const VK_GAMEPAD_X: u32 = 197; pub const VK_GAMEPAD_Y: u32 = 198; pub const VK_GAMEPAD_RIGHT_SHOULDER: u32 = 199; pub const VK_GAMEPAD_LEFT_SHOULDER: u32 = 200; pub const VK_GAMEPAD_LEFT_TRIGGER: u32 = 201; pub const VK_GAMEPAD_RIGHT_TRIGGER: u32 = 202; pub const VK_GAMEPAD_DPAD_UP: u32 = 203; pub const VK_GAMEPAD_DPAD_DOWN: u32 = 204; pub const VK_GAMEPAD_DPAD_LEFT: u32 = 205; pub const VK_GAMEPAD_DPAD_RIGHT: u32 = 206; pub const VK_GAMEPAD_MENU: u32 = 207; pub const VK_GAMEPAD_VIEW: u32 = 208; pub const VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON: u32 = 209; pub const VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON: u32 = 210; pub const VK_GAMEPAD_LEFT_THUMBSTICK_UP: u32 = 211; pub const VK_GAMEPAD_LEFT_THUMBSTICK_DOWN: u32 = 212; pub const VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT: u32 = 213; pub const VK_GAMEPAD_LEFT_THUMBSTICK_LEFT: u32 = 214; pub const VK_GAMEPAD_RIGHT_THUMBSTICK_UP: u32 = 215; pub const VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN: u32 = 216; pub const VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT: u32 = 217; pub const VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT: u32 = 218; pub const VK_OEM_4: u32 = 219; pub const VK_OEM_5: u32 = 220; pub const VK_OEM_6: u32 = 221; pub const VK_OEM_7: u32 = 222; pub const VK_OEM_8: u32 = 223; pub const VK_OEM_AX: u32 = 225; pub const VK_OEM_102: u32 = 226; pub const VK_ICO_HELP: u32 = 227; pub const VK_ICO_00: u32 = 228; pub const VK_PROCESSKEY: u32 = 229; pub const VK_ICO_CLEAR: u32 = 230; pub const VK_PACKET: u32 = 231; pub const VK_OEM_RESET: u32 = 233; pub const VK_OEM_JUMP: u32 = 234; pub const VK_OEM_PA1: u32 = 235; pub const VK_OEM_PA2: u32 = 236; pub const VK_OEM_PA3: u32 = 237; pub const VK_OEM_WSCTRL: u32 = 238; pub const VK_OEM_CUSEL: u32 = 239; pub const VK_OEM_ATTN: u32 = 240; pub const VK_OEM_FINISH: u32 = 241; pub const VK_OEM_COPY: u32 = 242; pub const VK_OEM_AUTO: u32 = 243; pub const VK_OEM_ENLW: u32 = 244; pub const VK_OEM_BACKTAB: u32 = 245; pub const VK_ATTN: u32 = 246; pub const VK_CRSEL: u32 = 247; pub const VK_EXSEL: u32 = 248; pub const VK_EREOF: u32 = 249; pub const VK_PLAY: u32 = 250; pub const VK_ZOOM: u32 = 251; pub const VK_NONAME: u32 = 252; pub const VK_PA1: u32 = 253; pub const VK_OEM_CLEAR: u32 = 254; pub const WH_MIN: i32 = -1; pub const WH_MSGFILTER: i32 = -1; pub const WH_JOURNALRECORD: u32 = 0; pub const WH_JOURNALPLAYBACK: u32 = 1; pub const WH_KEYBOARD: u32 = 2; pub const WH_GETMESSAGE: u32 = 3; pub const WH_CALLWNDPROC: u32 = 4; pub const WH_CBT: u32 = 5; pub const WH_SYSMSGFILTER: u32 = 6; pub const WH_MOUSE: u32 = 7; pub const WH_DEBUG: u32 = 9; pub const WH_SHELL: u32 = 10; pub const WH_FOREGROUNDIDLE: u32 = 11; pub const WH_CALLWNDPROCRET: u32 = 12; pub const WH_KEYBOARD_LL: u32 = 13; pub const WH_MOUSE_LL: u32 = 14; pub const WH_MAX: u32 = 14; pub const WH_MINHOOK: i32 = -1; pub const WH_MAXHOOK: u32 = 14; pub const HC_ACTION: u32 = 0; pub const HC_GETNEXT: u32 = 1; pub const HC_SKIP: u32 = 2; pub const HC_NOREMOVE: u32 = 3; pub const HC_NOREM: u32 = 3; pub const HC_SYSMODALON: u32 = 4; pub const HC_SYSMODALOFF: u32 = 5; pub const HCBT_MOVESIZE: u32 = 0; pub const HCBT_MINMAX: u32 = 1; pub const HCBT_QS: u32 = 2; pub const HCBT_CREATEWND: u32 = 3; pub const HCBT_DESTROYWND: u32 = 4; pub const HCBT_ACTIVATE: u32 = 5; pub const HCBT_CLICKSKIPPED: u32 = 6; pub const HCBT_KEYSKIPPED: u32 = 7; pub const HCBT_SYSCOMMAND: u32 = 8; pub const HCBT_SETFOCUS: u32 = 9; pub const WTS_CONSOLE_CONNECT: u32 = 1; pub const WTS_CONSOLE_DISCONNECT: u32 = 2; pub const WTS_REMOTE_CONNECT: u32 = 3; pub const WTS_REMOTE_DISCONNECT: u32 = 4; pub const WTS_SESSION_LOGON: u32 = 5; pub const WTS_SESSION_LOGOFF: u32 = 6; pub const WTS_SESSION_LOCK: u32 = 7; pub const WTS_SESSION_UNLOCK: u32 = 8; pub const WTS_SESSION_REMOTE_CONTROL: u32 = 9; pub const WTS_SESSION_CREATE: u32 = 10; pub const WTS_SESSION_TERMINATE: u32 = 11; pub const MSGF_DIALOGBOX: u32 = 0; pub const MSGF_MESSAGEBOX: u32 = 1; pub const MSGF_MENU: u32 = 2; pub const MSGF_SCROLLBAR: u32 = 5; pub const MSGF_NEXTWINDOW: u32 = 6; pub const MSGF_MAX: u32 = 8; pub const MSGF_USER: u32 = 4096; pub const HSHELL_WINDOWCREATED: u32 = 1; pub const HSHELL_WINDOWDESTROYED: u32 = 2; pub const HSHELL_ACTIVATESHELLWINDOW: u32 = 3; pub const HSHELL_WINDOWACTIVATED: u32 = 4; pub const HSHELL_GETMINRECT: u32 = 5; pub const HSHELL_REDRAW: u32 = 6; pub const HSHELL_TASKMAN: u32 = 7; pub const HSHELL_LANGUAGE: u32 = 8; pub const HSHELL_SYSMENU: u32 = 9; pub const HSHELL_ENDTASK: u32 = 10; pub const HSHELL_ACCESSIBILITYSTATE: u32 = 11; pub const HSHELL_APPCOMMAND: u32 = 12; pub const HSHELL_WINDOWREPLACED: u32 = 13; pub const HSHELL_WINDOWREPLACING: u32 = 14; pub const HSHELL_MONITORCHANGED: u32 = 16; pub const HSHELL_HIGHBIT: u32 = 32768; pub const HSHELL_FLASH: u32 = 32774; pub const HSHELL_RUDEAPPACTIVATED: u32 = 32772; pub const APPCOMMAND_BROWSER_BACKWARD: u32 = 1; pub const APPCOMMAND_BROWSER_FORWARD: u32 = 2; pub const APPCOMMAND_BROWSER_REFRESH: u32 = 3; pub const APPCOMMAND_BROWSER_STOP: u32 = 4; pub const APPCOMMAND_BROWSER_SEARCH: u32 = 5; pub const APPCOMMAND_BROWSER_FAVORITES: u32 = 6; pub const APPCOMMAND_BROWSER_HOME: u32 = 7; pub const APPCOMMAND_VOLUME_MUTE: u32 = 8; pub const APPCOMMAND_VOLUME_DOWN: u32 = 9; pub const APPCOMMAND_VOLUME_UP: u32 = 10; pub const APPCOMMAND_MEDIA_NEXTTRACK: u32 = 11; pub const APPCOMMAND_MEDIA_PREVIOUSTRACK: u32 = 12; pub const APPCOMMAND_MEDIA_STOP: u32 = 13; pub const APPCOMMAND_MEDIA_PLAY_PAUSE: u32 = 14; pub const APPCOMMAND_LAUNCH_MAIL: u32 = 15; pub const APPCOMMAND_LAUNCH_MEDIA_SELECT: u32 = 16; pub const APPCOMMAND_LAUNCH_APP1: u32 = 17; pub const APPCOMMAND_LAUNCH_APP2: u32 = 18; pub const APPCOMMAND_BASS_DOWN: u32 = 19; pub const APPCOMMAND_BASS_BOOST: u32 = 20; pub const APPCOMMAND_BASS_UP: u32 = 21; pub const APPCOMMAND_TREBLE_DOWN: u32 = 22; pub const APPCOMMAND_TREBLE_UP: u32 = 23; pub const APPCOMMAND_MICROPHONE_VOLUME_MUTE: u32 = 24; pub const APPCOMMAND_MICROPHONE_VOLUME_DOWN: u32 = 25; pub const APPCOMMAND_MICROPHONE_VOLUME_UP: u32 = 26; pub const APPCOMMAND_HELP: u32 = 27; pub const APPCOMMAND_FIND: u32 = 28; pub const APPCOMMAND_NEW: u32 = 29; pub const APPCOMMAND_OPEN: u32 = 30; pub const APPCOMMAND_CLOSE: u32 = 31; pub const APPCOMMAND_SAVE: u32 = 32; pub const APPCOMMAND_PRINT: u32 = 33; pub const APPCOMMAND_UNDO: u32 = 34; pub const APPCOMMAND_REDO: u32 = 35; pub const APPCOMMAND_COPY: u32 = 36; pub const APPCOMMAND_CUT: u32 = 37; pub const APPCOMMAND_PASTE: u32 = 38; pub const APPCOMMAND_REPLY_TO_MAIL: u32 = 39; pub const APPCOMMAND_FORWARD_MAIL: u32 = 40; pub const APPCOMMAND_SEND_MAIL: u32 = 41; pub const APPCOMMAND_SPELL_CHECK: u32 = 42; pub const APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE: u32 = 43; pub const APPCOMMAND_MIC_ON_OFF_TOGGLE: u32 = 44; pub const APPCOMMAND_CORRECTION_LIST: u32 = 45; pub const APPCOMMAND_MEDIA_PLAY: u32 = 46; pub const APPCOMMAND_MEDIA_PAUSE: u32 = 47; pub const APPCOMMAND_MEDIA_RECORD: u32 = 48; pub const APPCOMMAND_MEDIA_FAST_FORWARD: u32 = 49; pub const APPCOMMAND_MEDIA_REWIND: u32 = 50; pub const APPCOMMAND_MEDIA_CHANNEL_UP: u32 = 51; pub const APPCOMMAND_MEDIA_CHANNEL_DOWN: u32 = 52; pub const APPCOMMAND_DELETE: u32 = 53; pub const APPCOMMAND_DWM_FLIP3D: u32 = 54; pub const FAPPCOMMAND_MOUSE: u32 = 32768; pub const FAPPCOMMAND_KEY: u32 = 0; pub const FAPPCOMMAND_OEM: u32 = 4096; pub const FAPPCOMMAND_MASK: u32 = 61440; pub const LLKHF_EXTENDED: u32 = 1; pub const LLKHF_INJECTED: u32 = 16; pub const LLKHF_ALTDOWN: u32 = 32; pub const LLKHF_UP: u32 = 128; pub const LLKHF_LOWER_IL_INJECTED: u32 = 2; pub const LLMHF_INJECTED: u32 = 1; pub const LLMHF_LOWER_IL_INJECTED: u32 = 2; pub const HKL_PREV: u32 = 0; pub const HKL_NEXT: u32 = 1; pub const KLF_ACTIVATE: u32 = 1; pub const KLF_SUBSTITUTE_OK: u32 = 2; pub const KLF_REORDER: u32 = 8; pub const KLF_REPLACELANG: u32 = 16; pub const KLF_NOTELLSHELL: u32 = 128; pub const KLF_SETFORPROCESS: u32 = 256; pub const KLF_SHIFTLOCK: u32 = 65536; pub const KLF_RESET: u32 = 1073741824; pub const INPUTLANGCHANGE_SYSCHARSET: u32 = 1; pub const INPUTLANGCHANGE_FORWARD: u32 = 2; pub const INPUTLANGCHANGE_BACKWARD: u32 = 4; pub const KL_NAMELENGTH: u32 = 9; pub const GMMP_USE_DISPLAY_POINTS: u32 = 1; pub const GMMP_USE_HIGH_RESOLUTION_POINTS: u32 = 2; pub const DESKTOP_READOBJECTS: u32 = 1; pub const DESKTOP_CREATEWINDOW: u32 = 2; pub const DESKTOP_CREATEMENU: u32 = 4; pub const DESKTOP_HOOKCONTROL: u32 = 8; pub const DESKTOP_JOURNALRECORD: u32 = 16; pub const DESKTOP_JOURNALPLAYBACK: u32 = 32; pub const DESKTOP_ENUMERATE: u32 = 64; pub const DESKTOP_WRITEOBJECTS: u32 = 128; pub const DESKTOP_SWITCHDESKTOP: u32 = 256; pub const DF_ALLOWOTHERACCOUNTHOOK: u32 = 1; pub const WINSTA_ENUMDESKTOPS: u32 = 1; pub const WINSTA_READATTRIBUTES: u32 = 2; pub const WINSTA_ACCESSCLIPBOARD: u32 = 4; pub const WINSTA_CREATEDESKTOP: u32 = 8; pub const WINSTA_WRITEATTRIBUTES: u32 = 16; pub const WINSTA_ACCESSGLOBALATOMS: u32 = 32; pub const WINSTA_EXITWINDOWS: u32 = 64; pub const WINSTA_ENUMERATE: u32 = 256; pub const WINSTA_READSCREEN: u32 = 512; pub const WINSTA_ALL_ACCESS: u32 = 895; pub const CWF_CREATE_ONLY: u32 = 1; pub const WSF_VISIBLE: u32 = 1; pub const UOI_FLAGS: u32 = 1; pub const UOI_NAME: u32 = 2; pub const UOI_TYPE: u32 = 3; pub const UOI_USER_SID: u32 = 4; pub const UOI_HEAPSIZE: u32 = 5; pub const UOI_IO: u32 = 6; pub const UOI_TIMERPROC_EXCEPTION_SUPPRESSION: u32 = 7; pub const GWL_WNDPROC: i32 = -4; pub const GWL_HINSTANCE: i32 = -6; pub const GWL_HWNDPARENT: i32 = -8; pub const GWL_STYLE: i32 = -16; pub const GWL_EXSTYLE: i32 = -20; pub const GWL_USERDATA: i32 = -21; pub const GWL_ID: i32 = -12; pub const GWLP_WNDPROC: i32 = -4; pub const GWLP_HINSTANCE: i32 = -6; pub const GWLP_HWNDPARENT: i32 = -8; pub const GWLP_USERDATA: i32 = -21; pub const GWLP_ID: i32 = -12; pub const GCL_MENUNAME: i32 = -8; pub const GCL_HBRBACKGROUND: i32 = -10; pub const GCL_HCURSOR: i32 = -12; pub const GCL_HICON: i32 = -14; pub const GCL_HMODULE: i32 = -16; pub const GCL_CBWNDEXTRA: i32 = -18; pub const GCL_CBCLSEXTRA: i32 = -20; pub const GCL_WNDPROC: i32 = -24; pub const GCL_STYLE: i32 = -26; pub const GCW_ATOM: i32 = -32; pub const GCL_HICONSM: i32 = -34; pub const GCLP_MENUNAME: i32 = -8; pub const GCLP_HBRBACKGROUND: i32 = -10; pub const GCLP_HCURSOR: i32 = -12; pub const GCLP_HICON: i32 = -14; pub const GCLP_HMODULE: i32 = -16; pub const GCLP_WNDPROC: i32 = -24; pub const GCLP_HICONSM: i32 = -34; pub const WM_NULL: u32 = 0; pub const WM_CREATE: u32 = 1; pub const WM_DESTROY: u32 = 2; pub const WM_MOVE: u32 = 3; pub const WM_SIZE: u32 = 5; pub const WM_ACTIVATE: u32 = 6; pub const WA_INACTIVE: u32 = 0; pub const WA_ACTIVE: u32 = 1; pub const WA_CLICKACTIVE: u32 = 2; pub const WM_SETFOCUS: u32 = 7; pub const WM_KILLFOCUS: u32 = 8; pub const WM_ENABLE: u32 = 10; pub const WM_SETREDRAW: u32 = 11; pub const WM_SETTEXT: u32 = 12; pub const WM_GETTEXT: u32 = 13; pub const WM_GETTEXTLENGTH: u32 = 14; pub const WM_PAINT: u32 = 15; pub const WM_CLOSE: u32 = 16; pub const WM_QUERYENDSESSION: u32 = 17; pub const WM_QUERYOPEN: u32 = 19; pub const WM_ENDSESSION: u32 = 22; pub const WM_QUIT: u32 = 18; pub const WM_ERASEBKGND: u32 = 20; pub const WM_SYSCOLORCHANGE: u32 = 21; pub const WM_SHOWWINDOW: u32 = 24; pub const WM_WININICHANGE: u32 = 26; pub const WM_SETTINGCHANGE: u32 = 26; pub const WM_DEVMODECHANGE: u32 = 27; pub const WM_ACTIVATEAPP: u32 = 28; pub const WM_FONTCHANGE: u32 = 29; pub const WM_TIMECHANGE: u32 = 30; pub const WM_CANCELMODE: u32 = 31; pub const WM_SETCURSOR: u32 = 32; pub const WM_MOUSEACTIVATE: u32 = 33; pub const WM_CHILDACTIVATE: u32 = 34; pub const WM_QUEUESYNC: u32 = 35; pub const WM_GETMINMAXINFO: u32 = 36; pub const WM_PAINTICON: u32 = 38; pub const WM_ICONERASEBKGND: u32 = 39; pub const WM_NEXTDLGCTL: u32 = 40; pub const WM_SPOOLERSTATUS: u32 = 42; pub const WM_DRAWITEM: u32 = 43; pub const WM_MEASUREITEM: u32 = 44; pub const WM_DELETEITEM: u32 = 45; pub const WM_VKEYTOITEM: u32 = 46; pub const WM_CHARTOITEM: u32 = 47; pub const WM_SETFONT: u32 = 48; pub const WM_GETFONT: u32 = 49; pub const WM_SETHOTKEY: u32 = 50; pub const WM_GETHOTKEY: u32 = 51; pub const WM_QUERYDRAGICON: u32 = 55; pub const WM_COMPAREITEM: u32 = 57; pub const WM_GETOBJECT: u32 = 61; pub const WM_COMPACTING: u32 = 65; pub const WM_COMMNOTIFY: u32 = 68; pub const WM_WINDOWPOSCHANGING: u32 = 70; pub const WM_WINDOWPOSCHANGED: u32 = 71; pub const WM_POWER: u32 = 72; pub const PWR_OK: u32 = 1; pub const PWR_FAIL: i32 = -1; pub const PWR_SUSPENDREQUEST: u32 = 1; pub const PWR_SUSPENDRESUME: u32 = 2; pub const PWR_CRITICALRESUME: u32 = 3; pub const WM_COPYDATA: u32 = 74; pub const WM_CANCELJOURNAL: u32 = 75; pub const WM_NOTIFY: u32 = 78; pub const WM_INPUTLANGCHANGEREQUEST: u32 = 80; pub const WM_INPUTLANGCHANGE: u32 = 81; pub const WM_TCARD: u32 = 82; pub const WM_HELP: u32 = 83; pub const WM_USERCHANGED: u32 = 84; pub const WM_NOTIFYFORMAT: u32 = 85; pub const NFR_ANSI: u32 = 1; pub const NFR_UNICODE: u32 = 2; pub const NF_QUERY: u32 = 3; pub const NF_REQUERY: u32 = 4; pub const WM_CONTEXTMENU: u32 = 123; pub const WM_STYLECHANGING: u32 = 124; pub const WM_STYLECHANGED: u32 = 125; pub const WM_DISPLAYCHANGE: u32 = 126; pub const WM_GETICON: u32 = 127; pub const WM_SETICON: u32 = 128; pub const WM_NCCREATE: u32 = 129; pub const WM_NCDESTROY: u32 = 130; pub const WM_NCCALCSIZE: u32 = 131; pub const WM_NCHITTEST: u32 = 132; pub const WM_NCPAINT: u32 = 133; pub const WM_NCACTIVATE: u32 = 134; pub const WM_GETDLGCODE: u32 = 135; pub const WM_SYNCPAINT: u32 = 136; pub const WM_NCMOUSEMOVE: u32 = 160; pub const WM_NCLBUTTONDOWN: u32 = 161; pub const WM_NCLBUTTONUP: u32 = 162; pub const WM_NCLBUTTONDBLCLK: u32 = 163; pub const WM_NCRBUTTONDOWN: u32 = 164; pub const WM_NCRBUTTONUP: u32 = 165; pub const WM_NCRBUTTONDBLCLK: u32 = 166; pub const WM_NCMBUTTONDOWN: u32 = 167; pub const WM_NCMBUTTONUP: u32 = 168; pub const WM_NCMBUTTONDBLCLK: u32 = 169; pub const WM_NCXBUTTONDOWN: u32 = 171; pub const WM_NCXBUTTONUP: u32 = 172; pub const WM_NCXBUTTONDBLCLK: u32 = 173; pub const WM_INPUT_DEVICE_CHANGE: u32 = 254; pub const WM_INPUT: u32 = 255; pub const WM_KEYFIRST: u32 = 256; pub const WM_KEYDOWN: u32 = 256; pub const WM_KEYUP: u32 = 257; pub const WM_CHAR: u32 = 258; pub const WM_DEADCHAR: u32 = 259; pub const WM_SYSKEYDOWN: u32 = 260; pub const WM_SYSKEYUP: u32 = 261; pub const WM_SYSCHAR: u32 = 262; pub const WM_SYSDEADCHAR: u32 = 263; pub const WM_UNICHAR: u32 = 265; pub const WM_KEYLAST: u32 = 265; pub const UNICODE_NOCHAR: u32 = 65535; pub const WM_IME_STARTCOMPOSITION: u32 = 269; pub const WM_IME_ENDCOMPOSITION: u32 = 270; pub const WM_IME_COMPOSITION: u32 = 271; pub const WM_IME_KEYLAST: u32 = 271; pub const WM_INITDIALOG: u32 = 272; pub const WM_COMMAND: u32 = 273; pub const WM_SYSCOMMAND: u32 = 274; pub const WM_TIMER: u32 = 275; pub const WM_HSCROLL: u32 = 276; pub const WM_VSCROLL: u32 = 277; pub const WM_INITMENU: u32 = 278; pub const WM_INITMENUPOPUP: u32 = 279; pub const WM_GESTURE: u32 = 281; pub const WM_GESTURENOTIFY: u32 = 282; pub const WM_MENUSELECT: u32 = 287; pub const WM_MENUCHAR: u32 = 288; pub const WM_ENTERIDLE: u32 = 289; pub const WM_MENURBUTTONUP: u32 = 290; pub const WM_MENUDRAG: u32 = 291; pub const WM_MENUGETOBJECT: u32 = 292; pub const WM_UNINITMENUPOPUP: u32 = 293; pub const WM_MENUCOMMAND: u32 = 294; pub const WM_CHANGEUISTATE: u32 = 295; pub const WM_UPDATEUISTATE: u32 = 296; pub const WM_QUERYUISTATE: u32 = 297; pub const UIS_SET: u32 = 1; pub const UIS_CLEAR: u32 = 2; pub const UIS_INITIALIZE: u32 = 3; pub const UISF_HIDEFOCUS: u32 = 1; pub const UISF_HIDEACCEL: u32 = 2; pub const UISF_ACTIVE: u32 = 4; pub const WM_CTLCOLORMSGBOX: u32 = 306; pub const WM_CTLCOLOREDIT: u32 = 307; pub const WM_CTLCOLORLISTBOX: u32 = 308; pub const WM_CTLCOLORBTN: u32 = 309; pub const WM_CTLCOLORDLG: u32 = 310; pub const WM_CTLCOLORSCROLLBAR: u32 = 311; pub const WM_CTLCOLORSTATIC: u32 = 312; pub const MN_GETHMENU: u32 = 481; pub const WM_MOUSEFIRST: u32 = 512; pub const WM_MOUSEMOVE: u32 = 512; pub const WM_LBUTTONDOWN: u32 = 513; pub const WM_LBUTTONUP: u32 = 514; pub const WM_LBUTTONDBLCLK: u32 = 515; pub const WM_RBUTTONDOWN: u32 = 516; pub const WM_RBUTTONUP: u32 = 517; pub const WM_RBUTTONDBLCLK: u32 = 518; pub const WM_MBUTTONDOWN: u32 = 519; pub const WM_MBUTTONUP: u32 = 520; pub const WM_MBUTTONDBLCLK: u32 = 521; pub const WM_MOUSEWHEEL: u32 = 522; pub const WM_XBUTTONDOWN: u32 = 523; pub const WM_XBUTTONUP: u32 = 524; pub const WM_XBUTTONDBLCLK: u32 = 525; pub const WM_MOUSEHWHEEL: u32 = 526; pub const WM_MOUSELAST: u32 = 526; pub const WHEEL_DELTA: u32 = 120; pub const XBUTTON1: u32 = 1; pub const XBUTTON2: u32 = 2; pub const WM_PARENTNOTIFY: u32 = 528; pub const WM_ENTERMENULOOP: u32 = 529; pub const WM_EXITMENULOOP: u32 = 530; pub const WM_NEXTMENU: u32 = 531; pub const WM_SIZING: u32 = 532; pub const WM_CAPTURECHANGED: u32 = 533; pub const WM_MOVING: u32 = 534; pub const WM_POWERBROADCAST: u32 = 536; pub const PBT_APMQUERYSUSPEND: u32 = 0; pub const PBT_APMQUERYSTANDBY: u32 = 1; pub const PBT_APMQUERYSUSPENDFAILED: u32 = 2; pub const PBT_APMQUERYSTANDBYFAILED: u32 = 3; pub const PBT_APMSUSPEND: u32 = 4; pub const PBT_APMSTANDBY: u32 = 5; pub const PBT_APMRESUMECRITICAL: u32 = 6; pub const PBT_APMRESUMESUSPEND: u32 = 7; pub const PBT_APMRESUMESTANDBY: u32 = 8; pub const PBTF_APMRESUMEFROMFAILURE: u32 = 1; pub const PBT_APMBATTERYLOW: u32 = 9; pub const PBT_APMPOWERSTATUSCHANGE: u32 = 10; pub const PBT_APMOEMEVENT: u32 = 11; pub const PBT_APMRESUMEAUTOMATIC: u32 = 18; pub const PBT_POWERSETTINGCHANGE: u32 = 32787; pub const WM_DEVICECHANGE: u32 = 537; pub const WM_MDICREATE: u32 = 544; pub const WM_MDIDESTROY: u32 = 545; pub const WM_MDIACTIVATE: u32 = 546; pub const WM_MDIRESTORE: u32 = 547; pub const WM_MDINEXT: u32 = 548; pub const WM_MDIMAXIMIZE: u32 = 549; pub const WM_MDITILE: u32 = 550; pub const WM_MDICASCADE: u32 = 551; pub const WM_MDIICONARRANGE: u32 = 552; pub const WM_MDIGETACTIVE: u32 = 553; pub const WM_MDISETMENU: u32 = 560; pub const WM_ENTERSIZEMOVE: u32 = 561; pub const WM_EXITSIZEMOVE: u32 = 562; pub const WM_DROPFILES: u32 = 563; pub const WM_MDIREFRESHMENU: u32 = 564; pub const WM_POINTERDEVICECHANGE: u32 = 568; pub const WM_POINTERDEVICEINRANGE: u32 = 569; pub const WM_POINTERDEVICEOUTOFRANGE: u32 = 570; pub const WM_TOUCH: u32 = 576; pub const WM_NCPOINTERUPDATE: u32 = 577; pub const WM_NCPOINTERDOWN: u32 = 578; pub const WM_NCPOINTERUP: u32 = 579; pub const WM_POINTERUPDATE: u32 = 581; pub const WM_POINTERDOWN: u32 = 582; pub const WM_POINTERUP: u32 = 583; pub const WM_POINTERENTER: u32 = 585; pub const WM_POINTERLEAVE: u32 = 586; pub const WM_POINTERACTIVATE: u32 = 587; pub const WM_POINTERCAPTURECHANGED: u32 = 588; pub const WM_TOUCHHITTESTING: u32 = 589; pub const WM_POINTERWHEEL: u32 = 590; pub const WM_POINTERHWHEEL: u32 = 591; pub const DM_POINTERHITTEST: u32 = 592; pub const WM_POINTERROUTEDTO: u32 = 593; pub const WM_POINTERROUTEDAWAY: u32 = 594; pub const WM_POINTERROUTEDRELEASED: u32 = 595; pub const WM_IME_SETCONTEXT: u32 = 641; pub const WM_IME_NOTIFY: u32 = 642; pub const WM_IME_CONTROL: u32 = 643; pub const WM_IME_COMPOSITIONFULL: u32 = 644; pub const WM_IME_SELECT: u32 = 645; pub const WM_IME_CHAR: u32 = 646; pub const WM_IME_REQUEST: u32 = 648; pub const WM_IME_KEYDOWN: u32 = 656; pub const WM_IME_KEYUP: u32 = 657; pub const WM_MOUSEHOVER: u32 = 673; pub const WM_MOUSELEAVE: u32 = 675; pub const WM_NCMOUSEHOVER: u32 = 672; pub const WM_NCMOUSELEAVE: u32 = 674; pub const WM_WTSSESSION_CHANGE: u32 = 689; pub const WM_TABLET_FIRST: u32 = 704; pub const WM_TABLET_LAST: u32 = 735; pub const WM_DPICHANGED: u32 = 736; pub const WM_DPICHANGED_BEFOREPARENT: u32 = 738; pub const WM_DPICHANGED_AFTERPARENT: u32 = 739; pub const WM_GETDPISCALEDSIZE: u32 = 740; pub const WM_CUT: u32 = 768; pub const WM_COPY: u32 = 769; pub const WM_PASTE: u32 = 770; pub const WM_CLEAR: u32 = 771; pub const WM_UNDO: u32 = 772; pub const WM_RENDERFORMAT: u32 = 773; pub const WM_RENDERALLFORMATS: u32 = 774; pub const WM_DESTROYCLIPBOARD: u32 = 775; pub const WM_DRAWCLIPBOARD: u32 = 776; pub const WM_PAINTCLIPBOARD: u32 = 777; pub const WM_VSCROLLCLIPBOARD: u32 = 778; pub const WM_SIZECLIPBOARD: u32 = 779; pub const WM_ASKCBFORMATNAME: u32 = 780; pub const WM_CHANGECBCHAIN: u32 = 781; pub const WM_HSCROLLCLIPBOARD: u32 = 782; pub const WM_QUERYNEWPALETTE: u32 = 783; pub const WM_PALETTEISCHANGING: u32 = 784; pub const WM_PALETTECHANGED: u32 = 785; pub const WM_HOTKEY: u32 = 786; pub const WM_PRINT: u32 = 791; pub const WM_PRINTCLIENT: u32 = 792; pub const WM_APPCOMMAND: u32 = 793; pub const WM_THEMECHANGED: u32 = 794; pub const WM_CLIPBOARDUPDATE: u32 = 797; pub const WM_DWMCOMPOSITIONCHANGED: u32 = 798; pub const WM_DWMNCRENDERINGCHANGED: u32 = 799; pub const WM_DWMCOLORIZATIONCOLORCHANGED: u32 = 800; pub const WM_DWMWINDOWMAXIMIZEDCHANGE: u32 = 801; pub const WM_DWMSENDICONICTHUMBNAIL: u32 = 803; pub const WM_DWMSENDICONICLIVEPREVIEWBITMAP: u32 = 806; pub const WM_GETTITLEBARINFOEX: u32 = 831; pub const WM_HANDHELDFIRST: u32 = 856; pub const WM_HANDHELDLAST: u32 = 863; pub const WM_AFXFIRST: u32 = 864; pub const WM_AFXLAST: u32 = 895; pub const WM_PENWINFIRST: u32 = 896; pub const WM_PENWINLAST: u32 = 911; pub const WM_APP: u32 = 32768; pub const WM_USER: u32 = 1024; pub const WMSZ_LEFT: u32 = 1; pub const WMSZ_RIGHT: u32 = 2; pub const WMSZ_TOP: u32 = 3; pub const WMSZ_TOPLEFT: u32 = 4; pub const WMSZ_TOPRIGHT: u32 = 5; pub const WMSZ_BOTTOM: u32 = 6; pub const WMSZ_BOTTOMLEFT: u32 = 7; pub const WMSZ_BOTTOMRIGHT: u32 = 8; pub const HTERROR: i32 = -2; pub const HTTRANSPARENT: i32 = -1; pub const HTNOWHERE: u32 = 0; pub const HTCLIENT: u32 = 1; pub const HTCAPTION: u32 = 2; pub const HTSYSMENU: u32 = 3; pub const HTGROWBOX: u32 = 4; pub const HTSIZE: u32 = 4; pub const HTMENU: u32 = 5; pub const HTHSCROLL: u32 = 6; pub const HTVSCROLL: u32 = 7; pub const HTMINBUTTON: u32 = 8; pub const HTMAXBUTTON: u32 = 9; pub const HTLEFT: u32 = 10; pub const HTRIGHT: u32 = 11; pub const HTTOP: u32 = 12; pub const HTTOPLEFT: u32 = 13; pub const HTTOPRIGHT: u32 = 14; pub const HTBOTTOM: u32 = 15; pub const HTBOTTOMLEFT: u32 = 16; pub const HTBOTTOMRIGHT: u32 = 17; pub const HTBORDER: u32 = 18; pub const HTREDUCE: u32 = 8; pub const HTZOOM: u32 = 9; pub const HTSIZEFIRST: u32 = 10; pub const HTSIZELAST: u32 = 17; pub const HTOBJECT: u32 = 19; pub const HTCLOSE: u32 = 20; pub const HTHELP: u32 = 21; pub const SMTO_NORMAL: u32 = 0; pub const SMTO_BLOCK: u32 = 1; pub const SMTO_ABORTIFHUNG: u32 = 2; pub const SMTO_NOTIMEOUTIFNOTHUNG: u32 = 8; pub const SMTO_ERRORONEXIT: u32 = 32; pub const MA_ACTIVATE: u32 = 1; pub const MA_ACTIVATEANDEAT: u32 = 2; pub const MA_NOACTIVATE: u32 = 3; pub const MA_NOACTIVATEANDEAT: u32 = 4; pub const ICON_SMALL: u32 = 0; pub const ICON_BIG: u32 = 1; pub const ICON_SMALL2: u32 = 2; pub const SIZE_RESTORED: u32 = 0; pub const SIZE_MINIMIZED: u32 = 1; pub const SIZE_MAXIMIZED: u32 = 2; pub const SIZE_MAXSHOW: u32 = 3; pub const SIZE_MAXHIDE: u32 = 4; pub const SIZENORMAL: u32 = 0; pub const SIZEICONIC: u32 = 1; pub const SIZEFULLSCREEN: u32 = 2; pub const SIZEZOOMSHOW: u32 = 3; pub const SIZEZOOMHIDE: u32 = 4; pub const WVR_ALIGNTOP: u32 = 16; pub const WVR_ALIGNLEFT: u32 = 32; pub const WVR_ALIGNBOTTOM: u32 = 64; pub const WVR_ALIGNRIGHT: u32 = 128; pub const WVR_HREDRAW: u32 = 256; pub const WVR_VREDRAW: u32 = 512; pub const WVR_REDRAW: u32 = 768; pub const WVR_VALIDRECTS: u32 = 1024; pub const MK_LBUTTON: u32 = 1; pub const MK_RBUTTON: u32 = 2; pub const MK_SHIFT: u32 = 4; pub const MK_CONTROL: u32 = 8; pub const MK_MBUTTON: u32 = 16; pub const MK_XBUTTON1: u32 = 32; pub const MK_XBUTTON2: u32 = 64; pub const TME_HOVER: u32 = 1; pub const TME_LEAVE: u32 = 2; pub const TME_NONCLIENT: u32 = 16; pub const TME_QUERY: u32 = 1073741824; pub const TME_CANCEL: u32 = 2147483648; pub const HOVER_DEFAULT: u32 = 4294967295; pub const WS_OVERLAPPED: u32 = 0; pub const WS_POPUP: u32 = 2147483648; pub const WS_CHILD: u32 = 1073741824; pub const WS_MINIMIZE: u32 = 536870912; pub const WS_VISIBLE: u32 = 268435456; pub const WS_DISABLED: u32 = 134217728; pub const WS_CLIPSIBLINGS: u32 = 67108864; pub const WS_CLIPCHILDREN: u32 = 33554432; pub const WS_MAXIMIZE: u32 = 16777216; pub const WS_CAPTION: u32 = 12582912; pub const WS_BORDER: u32 = 8388608; pub const WS_DLGFRAME: u32 = 4194304; pub const WS_VSCROLL: u32 = 2097152; pub const WS_HSCROLL: u32 = 1048576; pub const WS_SYSMENU: u32 = 524288; pub const WS_THICKFRAME: u32 = 262144; pub const WS_GROUP: u32 = 131072; pub const WS_TABSTOP: u32 = 65536; pub const WS_MINIMIZEBOX: u32 = 131072; pub const WS_MAXIMIZEBOX: u32 = 65536; pub const WS_TILED: u32 = 0; pub const WS_ICONIC: u32 = 536870912; pub const WS_SIZEBOX: u32 = 262144; pub const WS_OVERLAPPEDWINDOW: u32 = 13565952; pub const WS_POPUPWINDOW: u32 = 2156396544; pub const WS_CHILDWINDOW: u32 = 1073741824; pub const WS_EX_DLGMODALFRAME: u32 = 1; pub const WS_EX_NOPARENTNOTIFY: u32 = 4; pub const WS_EX_TOPMOST: u32 = 8; pub const WS_EX_ACCEPTFILES: u32 = 16; pub const WS_EX_TRANSPARENT: u32 = 32; pub const WS_EX_MDICHILD: u32 = 64; pub const WS_EX_TOOLWINDOW: u32 = 128; pub const WS_EX_WINDOWEDGE: u32 = 256; pub const WS_EX_CLIENTEDGE: u32 = 512; pub const WS_EX_CONTEXTHELP: u32 = 1024; pub const WS_EX_RIGHT: u32 = 4096; pub const WS_EX_LEFT: u32 = 0; pub const WS_EX_RTLREADING: u32 = 8192; pub const WS_EX_LTRREADING: u32 = 0; pub const WS_EX_LEFTSCROLLBAR: u32 = 16384; pub const WS_EX_RIGHTSCROLLBAR: u32 = 0; pub const WS_EX_CONTROLPARENT: u32 = 65536; pub const WS_EX_STATICEDGE: u32 = 131072; pub const WS_EX_APPWINDOW: u32 = 262144; pub const WS_EX_OVERLAPPEDWINDOW: u32 = 768; pub const WS_EX_PALETTEWINDOW: u32 = 392; pub const WS_EX_LAYERED: u32 = 524288; pub const WS_EX_NOINHERITLAYOUT: u32 = 1048576; pub const WS_EX_NOREDIRECTIONBITMAP: u32 = 2097152; pub const WS_EX_LAYOUTRTL: u32 = 4194304; pub const WS_EX_COMPOSITED: u32 = 33554432; pub const WS_EX_NOACTIVATE: u32 = 134217728; pub const CS_VREDRAW: u32 = 1; pub const CS_HREDRAW: u32 = 2; pub const CS_DBLCLKS: u32 = 8; pub const CS_OWNDC: u32 = 32; pub const CS_CLASSDC: u32 = 64; pub const CS_PARENTDC: u32 = 128; pub const CS_NOCLOSE: u32 = 512; pub const CS_SAVEBITS: u32 = 2048; pub const CS_BYTEALIGNCLIENT: u32 = 4096; pub const CS_BYTEALIGNWINDOW: u32 = 8192; pub const CS_GLOBALCLASS: u32 = 16384; pub const CS_IME: u32 = 65536; pub const CS_DROPSHADOW: u32 = 131072; pub const PRF_CHECKVISIBLE: u32 = 1; pub const PRF_NONCLIENT: u32 = 2; pub const PRF_CLIENT: u32 = 4; pub const PRF_ERASEBKGND: u32 = 8; pub const PRF_CHILDREN: u32 = 16; pub const PRF_OWNED: u32 = 32; pub const BDR_RAISEDOUTER: u32 = 1; pub const BDR_SUNKENOUTER: u32 = 2; pub const BDR_RAISEDINNER: u32 = 4; pub const BDR_SUNKENINNER: u32 = 8; pub const BDR_OUTER: u32 = 3; pub const BDR_INNER: u32 = 12; pub const BDR_RAISED: u32 = 5; pub const BDR_SUNKEN: u32 = 10; pub const EDGE_RAISED: u32 = 5; pub const EDGE_SUNKEN: u32 = 10; pub const EDGE_ETCHED: u32 = 6; pub const EDGE_BUMP: u32 = 9; pub const BF_LEFT: u32 = 1; pub const BF_TOP: u32 = 2; pub const BF_RIGHT: u32 = 4; pub const BF_BOTTOM: u32 = 8; pub const BF_TOPLEFT: u32 = 3; pub const BF_TOPRIGHT: u32 = 6; pub const BF_BOTTOMLEFT: u32 = 9; pub const BF_BOTTOMRIGHT: u32 = 12; pub const BF_RECT: u32 = 15; pub const BF_DIAGONAL: u32 = 16; pub const BF_DIAGONAL_ENDTOPRIGHT: u32 = 22; pub const BF_DIAGONAL_ENDTOPLEFT: u32 = 19; pub const BF_DIAGONAL_ENDBOTTOMLEFT: u32 = 25; pub const BF_DIAGONAL_ENDBOTTOMRIGHT: u32 = 28; pub const BF_MIDDLE: u32 = 2048; pub const BF_SOFT: u32 = 4096; pub const BF_ADJUST: u32 = 8192; pub const BF_FLAT: u32 = 16384; pub const BF_MONO: u32 = 32768; pub const DFC_CAPTION: u32 = 1; pub const DFC_MENU: u32 = 2; pub const DFC_SCROLL: u32 = 3; pub const DFC_BUTTON: u32 = 4; pub const DFC_POPUPMENU: u32 = 5; pub const DFCS_CAPTIONCLOSE: u32 = 0; pub const DFCS_CAPTIONMIN: u32 = 1; pub const DFCS_CAPTIONMAX: u32 = 2; pub const DFCS_CAPTIONRESTORE: u32 = 3; pub const DFCS_CAPTIONHELP: u32 = 4; pub const DFCS_MENUARROW: u32 = 0; pub const DFCS_MENUCHECK: u32 = 1; pub const DFCS_MENUBULLET: u32 = 2; pub const DFCS_MENUARROWRIGHT: u32 = 4; pub const DFCS_SCROLLUP: u32 = 0; pub const DFCS_SCROLLDOWN: u32 = 1; pub const DFCS_SCROLLLEFT: u32 = 2; pub const DFCS_SCROLLRIGHT: u32 = 3; pub const DFCS_SCROLLCOMBOBOX: u32 = 5; pub const DFCS_SCROLLSIZEGRIP: u32 = 8; pub const DFCS_SCROLLSIZEGRIPRIGHT: u32 = 16; pub const DFCS_BUTTONCHECK: u32 = 0; pub const DFCS_BUTTONRADIOIMAGE: u32 = 1; pub const DFCS_BUTTONRADIOMASK: u32 = 2; pub const DFCS_BUTTONRADIO: u32 = 4; pub const DFCS_BUTTON3STATE: u32 = 8; pub const DFCS_BUTTONPUSH: u32 = 16; pub const DFCS_INACTIVE: u32 = 256; pub const DFCS_PUSHED: u32 = 512; pub const DFCS_CHECKED: u32 = 1024; pub const DFCS_TRANSPARENT: u32 = 2048; pub const DFCS_HOT: u32 = 4096; pub const DFCS_ADJUSTRECT: u32 = 8192; pub const DFCS_FLAT: u32 = 16384; pub const DFCS_MONO: u32 = 32768; pub const DC_ACTIVE: u32 = 1; pub const DC_SMALLCAP: u32 = 2; pub const DC_ICON: u32 = 4; pub const DC_TEXT: u32 = 8; pub const DC_INBUTTON: u32 = 16; pub const DC_GRADIENT: u32 = 32; pub const DC_BUTTONS: u32 = 4096; pub const IDANI_OPEN: u32 = 1; pub const IDANI_CAPTION: u32 = 3; pub const CF_TEXT: u32 = 1; pub const CF_BITMAP: u32 = 2; pub const CF_METAFILEPICT: u32 = 3; pub const CF_SYLK: u32 = 4; pub const CF_DIF: u32 = 5; pub const CF_TIFF: u32 = 6; pub const CF_OEMTEXT: u32 = 7; pub const CF_DIB: u32 = 8; pub const CF_PALETTE: u32 = 9; pub const CF_PENDATA: u32 = 10; pub const CF_RIFF: u32 = 11; pub const CF_WAVE: u32 = 12; pub const CF_UNICODETEXT: u32 = 13; pub const CF_ENHMETAFILE: u32 = 14; pub const CF_HDROP: u32 = 15; pub const CF_LOCALE: u32 = 16; pub const CF_DIBV5: u32 = 17; pub const CF_MAX: u32 = 18; pub const CF_OWNERDISPLAY: u32 = 128; pub const CF_DSPTEXT: u32 = 129; pub const CF_DSPBITMAP: u32 = 130; pub const CF_DSPMETAFILEPICT: u32 = 131; pub const CF_DSPENHMETAFILE: u32 = 142; pub const CF_PRIVATEFIRST: u32 = 512; pub const CF_PRIVATELAST: u32 = 767; pub const CF_GDIOBJFIRST: u32 = 768; pub const CF_GDIOBJLAST: u32 = 1023; pub const FVIRTKEY: u32 = 1; pub const FNOINVERT: u32 = 2; pub const FSHIFT: u32 = 4; pub const FCONTROL: u32 = 8; pub const FALT: u32 = 16; pub const WPF_SETMINPOSITION: u32 = 1; pub const WPF_RESTORETOMAXIMIZED: u32 = 2; pub const WPF_ASYNCWINDOWPLACEMENT: u32 = 4; pub const ODT_MENU: u32 = 1; pub const ODT_LISTBOX: u32 = 2; pub const ODT_COMBOBOX: u32 = 3; pub const ODT_BUTTON: u32 = 4; pub const ODT_STATIC: u32 = 5; pub const ODA_DRAWENTIRE: u32 = 1; pub const ODA_SELECT: u32 = 2; pub const ODA_FOCUS: u32 = 4; pub const ODS_SELECTED: u32 = 1; pub const ODS_GRAYED: u32 = 2; pub const ODS_DISABLED: u32 = 4; pub const ODS_CHECKED: u32 = 8; pub const ODS_FOCUS: u32 = 16; pub const ODS_DEFAULT: u32 = 32; pub const ODS_COMBOBOXEDIT: u32 = 4096; pub const ODS_HOTLIGHT: u32 = 64; pub const ODS_INACTIVE: u32 = 128; pub const ODS_NOACCEL: u32 = 256; pub const ODS_NOFOCUSRECT: u32 = 512; pub const PM_NOREMOVE: u32 = 0; pub const PM_REMOVE: u32 = 1; pub const PM_NOYIELD: u32 = 2; pub const MOD_ALT: u32 = 1; pub const MOD_CONTROL: u32 = 2; pub const MOD_SHIFT: u32 = 4; pub const MOD_WIN: u32 = 8; pub const MOD_NOREPEAT: u32 = 16384; pub const IDHOT_SNAPWINDOW: i32 = -1; pub const IDHOT_SNAPDESKTOP: i32 = -2; pub const ENDSESSION_CLOSEAPP: u32 = 1; pub const ENDSESSION_CRITICAL: u32 = 1073741824; pub const ENDSESSION_LOGOFF: u32 = 2147483648; pub const EWX_LOGOFF: u32 = 0; pub const EWX_SHUTDOWN: u32 = 1; pub const EWX_REBOOT: u32 = 2; pub const EWX_FORCE: u32 = 4; pub const EWX_POWEROFF: u32 = 8; pub const EWX_FORCEIFHUNG: u32 = 16; pub const EWX_QUICKRESOLVE: u32 = 32; pub const EWX_RESTARTAPPS: u32 = 64; pub const EWX_HYBRID_SHUTDOWN: u32 = 4194304; pub const EWX_BOOTOPTIONS: u32 = 16777216; pub const EWX_ARSO: u32 = 67108864; pub const BSM_ALLCOMPONENTS: u32 = 0; pub const BSM_VXDS: u32 = 1; pub const BSM_NETDRIVER: u32 = 2; pub const BSM_INSTALLABLEDRIVERS: u32 = 4; pub const BSM_APPLICATIONS: u32 = 8; pub const BSM_ALLDESKTOPS: u32 = 16; pub const BSF_QUERY: u32 = 1; pub const BSF_IGNORECURRENTTASK: u32 = 2; pub const BSF_FLUSHDISK: u32 = 4; pub const BSF_NOHANG: u32 = 8; pub const BSF_POSTMESSAGE: u32 = 16; pub const BSF_FORCEIFHUNG: u32 = 32; pub const BSF_NOTIMEOUTIFNOTHUNG: u32 = 64; pub const BSF_ALLOWSFW: u32 = 128; pub const BSF_SENDNOTIFYMESSAGE: u32 = 256; pub const BSF_RETURNHDESK: u32 = 512; pub const BSF_LUID: u32 = 1024; pub const BROADCAST_QUERY_DENY: u32 = 1112363332; pub const DEVICE_NOTIFY_WINDOW_HANDLE: u32 = 0; pub const DEVICE_NOTIFY_SERVICE_HANDLE: u32 = 1; pub const DEVICE_NOTIFY_ALL_INTERFACE_CLASSES: u32 = 4; pub const ISMEX_NOSEND: u32 = 0; pub const ISMEX_SEND: u32 = 1; pub const ISMEX_NOTIFY: u32 = 2; pub const ISMEX_CALLBACK: u32 = 4; pub const ISMEX_REPLIED: u32 = 8; pub const PW_CLIENTONLY: u32 = 1; pub const PW_RENDERFULLCONTENT: u32 = 2; pub const LWA_COLORKEY: u32 = 1; pub const LWA_ALPHA: u32 = 2; pub const ULW_COLORKEY: u32 = 1; pub const ULW_ALPHA: u32 = 2; pub const ULW_OPAQUE: u32 = 4; pub const ULW_EX_NORESIZE: u32 = 8; pub const FLASHW_STOP: u32 = 0; pub const FLASHW_CAPTION: u32 = 1; pub const FLASHW_TRAY: u32 = 2; pub const FLASHW_ALL: u32 = 3; pub const FLASHW_TIMER: u32 = 4; pub const FLASHW_TIMERNOFG: u32 = 12; pub const WDA_NONE: u32 = 0; pub const WDA_MONITOR: u32 = 1; pub const SWP_NOSIZE: u32 = 1; pub const SWP_NOMOVE: u32 = 2; pub const SWP_NOZORDER: u32 = 4; pub const SWP_NOREDRAW: u32 = 8; pub const SWP_NOACTIVATE: u32 = 16; pub const SWP_FRAMECHANGED: u32 = 32; pub const SWP_SHOWWINDOW: u32 = 64; pub const SWP_HIDEWINDOW: u32 = 128; pub const SWP_NOCOPYBITS: u32 = 256; pub const SWP_NOOWNERZORDER: u32 = 512; pub const SWP_NOSENDCHANGING: u32 = 1024; pub const SWP_DRAWFRAME: u32 = 32; pub const SWP_NOREPOSITION: u32 = 512; pub const SWP_DEFERERASE: u32 = 8192; pub const SWP_ASYNCWINDOWPOS: u32 = 16384; pub const DLGWINDOWEXTRA: u32 = 30; pub const KEYEVENTF_EXTENDEDKEY: u32 = 1; pub const KEYEVENTF_KEYUP: u32 = 2; pub const KEYEVENTF_UNICODE: u32 = 4; pub const KEYEVENTF_SCANCODE: u32 = 8; pub const MOUSEEVENTF_MOVE: u32 = 1; pub const MOUSEEVENTF_LEFTDOWN: u32 = 2; pub const MOUSEEVENTF_LEFTUP: u32 = 4; pub const MOUSEEVENTF_RIGHTDOWN: u32 = 8; pub const MOUSEEVENTF_RIGHTUP: u32 = 16; pub const MOUSEEVENTF_MIDDLEDOWN: u32 = 32; pub const MOUSEEVENTF_MIDDLEUP: u32 = 64; pub const MOUSEEVENTF_XDOWN: u32 = 128; pub const MOUSEEVENTF_XUP: u32 = 256; pub const MOUSEEVENTF_WHEEL: u32 = 2048; pub const MOUSEEVENTF_HWHEEL: u32 = 4096; pub const MOUSEEVENTF_MOVE_NOCOALESCE: u32 = 8192; pub const MOUSEEVENTF_VIRTUALDESK: u32 = 16384; pub const MOUSEEVENTF_ABSOLUTE: u32 = 32768; pub const INPUT_MOUSE: u32 = 0; pub const INPUT_KEYBOARD: u32 = 1; pub const INPUT_HARDWARE: u32 = 2; pub const TOUCHEVENTF_MOVE: u32 = 1; pub const TOUCHEVENTF_DOWN: u32 = 2; pub const TOUCHEVENTF_UP: u32 = 4; pub const TOUCHEVENTF_INRANGE: u32 = 8; pub const TOUCHEVENTF_PRIMARY: u32 = 16; pub const TOUCHEVENTF_NOCOALESCE: u32 = 32; pub const TOUCHEVENTF_PEN: u32 = 64; pub const TOUCHEVENTF_PALM: u32 = 128; pub const TOUCHINPUTMASKF_TIMEFROMSYSTEM: u32 = 1; pub const TOUCHINPUTMASKF_EXTRAINFO: u32 = 2; pub const TOUCHINPUTMASKF_CONTACTAREA: u32 = 4; pub const TWF_FINETOUCH: u32 = 1; pub const TWF_WANTPALM: u32 = 2; pub const POINTER_FLAG_NONE: u32 = 0; pub const POINTER_FLAG_NEW: u32 = 1; pub const POINTER_FLAG_INRANGE: u32 = 2; pub const POINTER_FLAG_INCONTACT: u32 = 4; pub const POINTER_FLAG_FIRSTBUTTON: u32 = 16; pub const POINTER_FLAG_SECONDBUTTON: u32 = 32; pub const POINTER_FLAG_THIRDBUTTON: u32 = 64; pub const POINTER_FLAG_FOURTHBUTTON: u32 = 128; pub const POINTER_FLAG_FIFTHBUTTON: u32 = 256; pub const POINTER_FLAG_PRIMARY: u32 = 8192; pub const POINTER_FLAG_CONFIDENCE: u32 = 16384; pub const POINTER_FLAG_CANCELED: u32 = 32768; pub const POINTER_FLAG_DOWN: u32 = 65536; pub const POINTER_FLAG_UPDATE: u32 = 131072; pub const POINTER_FLAG_UP: u32 = 262144; pub const POINTER_FLAG_WHEEL: u32 = 524288; pub const POINTER_FLAG_HWHEEL: u32 = 1048576; pub const POINTER_FLAG_CAPTURECHANGED: u32 = 2097152; pub const POINTER_FLAG_HASTRANSFORM: u32 = 4194304; pub const POINTER_MOD_SHIFT: u32 = 4; pub const POINTER_MOD_CTRL: u32 = 8; pub const TOUCH_FLAG_NONE: u32 = 0; pub const TOUCH_MASK_NONE: u32 = 0; pub const TOUCH_MASK_CONTACTAREA: u32 = 1; pub const TOUCH_MASK_ORIENTATION: u32 = 2; pub const TOUCH_MASK_PRESSURE: u32 = 4; pub const PEN_FLAG_NONE: u32 = 0; pub const PEN_FLAG_BARREL: u32 = 1; pub const PEN_FLAG_INVERTED: u32 = 2; pub const PEN_FLAG_ERASER: u32 = 4; pub const PEN_MASK_NONE: u32 = 0; pub const PEN_MASK_PRESSURE: u32 = 1; pub const PEN_MASK_ROTATION: u32 = 2; pub const PEN_MASK_TILT_X: u32 = 4; pub const PEN_MASK_TILT_Y: u32 = 8; pub const POINTER_MESSAGE_FLAG_NEW: u32 = 1; pub const POINTER_MESSAGE_FLAG_INRANGE: u32 = 2; pub const POINTER_MESSAGE_FLAG_INCONTACT: u32 = 4; pub const POINTER_MESSAGE_FLAG_FIRSTBUTTON: u32 = 16; pub const POINTER_MESSAGE_FLAG_SECONDBUTTON: u32 = 32; pub const POINTER_MESSAGE_FLAG_THIRDBUTTON: u32 = 64; pub const POINTER_MESSAGE_FLAG_FOURTHBUTTON: u32 = 128; pub const POINTER_MESSAGE_FLAG_FIFTHBUTTON: u32 = 256; pub const POINTER_MESSAGE_FLAG_PRIMARY: u32 = 8192; pub const POINTER_MESSAGE_FLAG_CONFIDENCE: u32 = 16384; pub const POINTER_MESSAGE_FLAG_CANCELED: u32 = 32768; pub const PA_ACTIVATE: u32 = 1; pub const PA_NOACTIVATE: u32 = 3; pub const MAX_TOUCH_COUNT: u32 = 256; pub const TOUCH_FEEDBACK_DEFAULT: u32 = 1; pub const TOUCH_FEEDBACK_INDIRECT: u32 = 2; pub const TOUCH_FEEDBACK_NONE: u32 = 3; pub const TOUCH_HIT_TESTING_DEFAULT: u32 = 0; pub const TOUCH_HIT_TESTING_CLIENT: u32 = 1; pub const TOUCH_HIT_TESTING_NONE: u32 = 2; pub const TOUCH_HIT_TESTING_PROXIMITY_CLOSEST: u32 = 0; pub const TOUCH_HIT_TESTING_PROXIMITY_FARTHEST: u32 = 4095; pub const GWFS_INCLUDE_ANCESTORS: u32 = 1; pub const MAPVK_VK_TO_VSC: u32 = 0; pub const MAPVK_VSC_TO_VK: u32 = 1; pub const MAPVK_VK_TO_CHAR: u32 = 2; pub const MAPVK_VSC_TO_VK_EX: u32 = 3; pub const MAPVK_VK_TO_VSC_EX: u32 = 4; pub const MWMO_WAITALL: u32 = 1; pub const MWMO_ALERTABLE: u32 = 2; pub const MWMO_INPUTAVAILABLE: u32 = 4; pub const QS_KEY: u32 = 1; pub const QS_MOUSEMOVE: u32 = 2; pub const QS_MOUSEBUTTON: u32 = 4; pub const QS_POSTMESSAGE: u32 = 8; pub const QS_TIMER: u32 = 16; pub const QS_PAINT: u32 = 32; pub const QS_SENDMESSAGE: u32 = 64; pub const QS_HOTKEY: u32 = 128; pub const QS_ALLPOSTMESSAGE: u32 = 256; pub const QS_RAWINPUT: u32 = 1024; pub const QS_TOUCH: u32 = 2048; pub const QS_POINTER: u32 = 4096; pub const QS_MOUSE: u32 = 6; pub const QS_INPUT: u32 = 7175; pub const QS_ALLEVENTS: u32 = 7359; pub const QS_ALLINPUT: u32 = 7423; pub const USER_TIMER_MAXIMUM: u32 = 2147483647; pub const USER_TIMER_MINIMUM: u32 = 10; pub const TIMERV_DEFAULT_COALESCING: u32 = 0; pub const TIMERV_NO_COALESCING: u32 = 4294967295; pub const TIMERV_COALESCING_MIN: u32 = 1; pub const TIMERV_COALESCING_MAX: u32 = 2147483637; pub const SM_CXSCREEN: u32 = 0; pub const SM_CYSCREEN: u32 = 1; pub const SM_CXVSCROLL: u32 = 2; pub const SM_CYHSCROLL: u32 = 3; pub const SM_CYCAPTION: u32 = 4; pub const SM_CXBORDER: u32 = 5; pub const SM_CYBORDER: u32 = 6; pub const SM_CXDLGFRAME: u32 = 7; pub const SM_CYDLGFRAME: u32 = 8; pub const SM_CYVTHUMB: u32 = 9; pub const SM_CXHTHUMB: u32 = 10; pub const SM_CXICON: u32 = 11; pub const SM_CYICON: u32 = 12; pub const SM_CXCURSOR: u32 = 13; pub const SM_CYCURSOR: u32 = 14; pub const SM_CYMENU: u32 = 15; pub const SM_CXFULLSCREEN: u32 = 16; pub const SM_CYFULLSCREEN: u32 = 17; pub const SM_CYKANJIWINDOW: u32 = 18; pub const SM_MOUSEPRESENT: u32 = 19; pub const SM_CYVSCROLL: u32 = 20; pub const SM_CXHSCROLL: u32 = 21; pub const SM_DEBUG: u32 = 22; pub const SM_SWAPBUTTON: u32 = 23; pub const SM_RESERVED1: u32 = 24; pub const SM_RESERVED2: u32 = 25; pub const SM_RESERVED3: u32 = 26; pub const SM_RESERVED4: u32 = 27; pub const SM_CXMIN: u32 = 28; pub const SM_CYMIN: u32 = 29; pub const SM_CXSIZE: u32 = 30; pub const SM_CYSIZE: u32 = 31; pub const SM_CXFRAME: u32 = 32; pub const SM_CYFRAME: u32 = 33; pub const SM_CXMINTRACK: u32 = 34; pub const SM_CYMINTRACK: u32 = 35; pub const SM_CXDOUBLECLK: u32 = 36; pub const SM_CYDOUBLECLK: u32 = 37; pub const SM_CXICONSPACING: u32 = 38; pub const SM_CYICONSPACING: u32 = 39; pub const SM_MENUDROPALIGNMENT: u32 = 40; pub const SM_PENWINDOWS: u32 = 41; pub const SM_DBCSENABLED: u32 = 42; pub const SM_CMOUSEBUTTONS: u32 = 43; pub const SM_CXFIXEDFRAME: u32 = 7; pub const SM_CYFIXEDFRAME: u32 = 8; pub const SM_CXSIZEFRAME: u32 = 32; pub const SM_CYSIZEFRAME: u32 = 33; pub const SM_SECURE: u32 = 44; pub const SM_CXEDGE: u32 = 45; pub const SM_CYEDGE: u32 = 46; pub const SM_CXMINSPACING: u32 = 47; pub const SM_CYMINSPACING: u32 = 48; pub const SM_CXSMICON: u32 = 49; pub const SM_CYSMICON: u32 = 50; pub const SM_CYSMCAPTION: u32 = 51; pub const SM_CXSMSIZE: u32 = 52; pub const SM_CYSMSIZE: u32 = 53; pub const SM_CXMENUSIZE: u32 = 54; pub const SM_CYMENUSIZE: u32 = 55; pub const SM_ARRANGE: u32 = 56; pub const SM_CXMINIMIZED: u32 = 57; pub const SM_CYMINIMIZED: u32 = 58; pub const SM_CXMAXTRACK: u32 = 59; pub const SM_CYMAXTRACK: u32 = 60; pub const SM_CXMAXIMIZED: u32 = 61; pub const SM_CYMAXIMIZED: u32 = 62; pub const SM_NETWORK: u32 = 63; pub const SM_CLEANBOOT: u32 = 67; pub const SM_CXDRAG: u32 = 68; pub const SM_CYDRAG: u32 = 69; pub const SM_SHOWSOUNDS: u32 = 70; pub const SM_CXMENUCHECK: u32 = 71; pub const SM_CYMENUCHECK: u32 = 72; pub const SM_SLOWMACHINE: u32 = 73; pub const SM_MIDEASTENABLED: u32 = 74; pub const SM_MOUSEWHEELPRESENT: u32 = 75; pub const SM_XVIRTUALSCREEN: u32 = 76; pub const SM_YVIRTUALSCREEN: u32 = 77; pub const SM_CXVIRTUALSCREEN: u32 = 78; pub const SM_CYVIRTUALSCREEN: u32 = 79; pub const SM_CMONITORS: u32 = 80; pub const SM_SAMEDISPLAYFORMAT: u32 = 81; pub const SM_IMMENABLED: u32 = 82; pub const SM_CXFOCUSBORDER: u32 = 83; pub const SM_CYFOCUSBORDER: u32 = 84; pub const SM_TABLETPC: u32 = 86; pub const SM_MEDIACENTER: u32 = 87; pub const SM_STARTER: u32 = 88; pub const SM_SERVERR2: u32 = 89; pub const SM_MOUSEHORIZONTALWHEELPRESENT: u32 = 91; pub const SM_CXPADDEDBORDER: u32 = 92; pub const SM_DIGITIZER: u32 = 94; pub const SM_MAXIMUMTOUCHES: u32 = 95; pub const SM_CMETRICS: u32 = 97; pub const SM_REMOTESESSION: u32 = 4096; pub const SM_SHUTTINGDOWN: u32 = 8192; pub const SM_REMOTECONTROL: u32 = 8193; pub const SM_CARETBLINKINGENABLED: u32 = 8194; pub const SM_CONVERTIBLESLATEMODE: u32 = 8195; pub const SM_SYSTEMDOCKED: u32 = 8196; pub const PMB_ACTIVE: u32 = 1; pub const MNC_IGNORE: u32 = 0; pub const MNC_CLOSE: u32 = 1; pub const MNC_EXECUTE: u32 = 2; pub const MNC_SELECT: u32 = 3; pub const MNS_NOCHECK: u32 = 2147483648; pub const MNS_MODELESS: u32 = 1073741824; pub const MNS_DRAGDROP: u32 = 536870912; pub const MNS_AUTODISMISS: u32 = 268435456; pub const MNS_NOTIFYBYPOS: u32 = 134217728; pub const MNS_CHECKORBMP: u32 = 67108864; pub const MIM_MAXHEIGHT: u32 = 1; pub const MIM_BACKGROUND: u32 = 2; pub const MIM_HELPID: u32 = 4; pub const MIM_MENUDATA: u32 = 8; pub const MIM_STYLE: u32 = 16; pub const MIM_APPLYTOSUBMENUS: u32 = 2147483648; pub const MND_CONTINUE: u32 = 0; pub const MND_ENDMENU: u32 = 1; pub const MNGOF_TOPGAP: u32 = 1; pub const MNGOF_BOTTOMGAP: u32 = 2; pub const MNGO_NOINTERFACE: u32 = 0; pub const MNGO_NOERROR: u32 = 1; pub const MIIM_STATE: u32 = 1; pub const MIIM_ID: u32 = 2; pub const MIIM_SUBMENU: u32 = 4; pub const MIIM_CHECKMARKS: u32 = 8; pub const MIIM_TYPE: u32 = 16; pub const MIIM_DATA: u32 = 32; pub const MIIM_STRING: u32 = 64; pub const MIIM_BITMAP: u32 = 128; pub const MIIM_FTYPE: u32 = 256; pub const GMDI_USEDISABLED: u32 = 1; pub const GMDI_GOINTOPOPUPS: u32 = 2; pub const TPM_LEFTBUTTON: u32 = 0; pub const TPM_RIGHTBUTTON: u32 = 2; pub const TPM_LEFTALIGN: u32 = 0; pub const TPM_CENTERALIGN: u32 = 4; pub const TPM_RIGHTALIGN: u32 = 8; pub const TPM_TOPALIGN: u32 = 0; pub const TPM_VCENTERALIGN: u32 = 16; pub const TPM_BOTTOMALIGN: u32 = 32; pub const TPM_HORIZONTAL: u32 = 0; pub const TPM_VERTICAL: u32 = 64; pub const TPM_NONOTIFY: u32 = 128; pub const TPM_RETURNCMD: u32 = 256; pub const TPM_RECURSE: u32 = 1; pub const TPM_HORPOSANIMATION: u32 = 1024; pub const TPM_HORNEGANIMATION: u32 = 2048; pub const TPM_VERPOSANIMATION: u32 = 4096; pub const TPM_VERNEGANIMATION: u32 = 8192; pub const TPM_NOANIMATION: u32 = 16384; pub const TPM_LAYOUTRTL: u32 = 32768; pub const TPM_WORKAREA: u32 = 65536; pub const DOF_EXECUTABLE: u32 = 32769; pub const DOF_DOCUMENT: u32 = 32770; pub const DOF_DIRECTORY: u32 = 32771; pub const DOF_MULTIPLE: u32 = 32772; pub const DOF_PROGMAN: u32 = 1; pub const DOF_SHELLDATA: u32 = 2; pub const DO_DROPFILE: u32 = 1162627398; pub const DO_PRINTFILE: u32 = 1414419024; pub const DT_TOP: u32 = 0; pub const DT_LEFT: u32 = 0; pub const DT_CENTER: u32 = 1; pub const DT_RIGHT: u32 = 2; pub const DT_VCENTER: u32 = 4; pub const DT_BOTTOM: u32 = 8; pub const DT_WORDBREAK: u32 = 16; pub const DT_SINGLELINE: u32 = 32; pub const DT_EXPANDTABS: u32 = 64; pub const DT_TABSTOP: u32 = 128; pub const DT_NOCLIP: u32 = 256; pub const DT_EXTERNALLEADING: u32 = 512; pub const DT_CALCRECT: u32 = 1024; pub const DT_NOPREFIX: u32 = 2048; pub const DT_INTERNAL: u32 = 4096; pub const DT_EDITCONTROL: u32 = 8192; pub const DT_PATH_ELLIPSIS: u32 = 16384; pub const DT_END_ELLIPSIS: u32 = 32768; pub const DT_MODIFYSTRING: u32 = 65536; pub const DT_RTLREADING: u32 = 131072; pub const DT_WORD_ELLIPSIS: u32 = 262144; pub const DT_NOFULLWIDTHCHARBREAK: u32 = 524288; pub const DT_HIDEPREFIX: u32 = 1048576; pub const DT_PREFIXONLY: u32 = 2097152; pub const DST_COMPLEX: u32 = 0; pub const DST_TEXT: u32 = 1; pub const DST_PREFIXTEXT: u32 = 2; pub const DST_ICON: u32 = 3; pub const DST_BITMAP: u32 = 4; pub const DSS_NORMAL: u32 = 0; pub const DSS_UNION: u32 = 16; pub const DSS_DISABLED: u32 = 32; pub const DSS_MONO: u32 = 128; pub const DSS_HIDEPREFIX: u32 = 512; pub const DSS_PREFIXONLY: u32 = 1024; pub const DSS_RIGHT: u32 = 32768; pub const LSFW_LOCK: u32 = 1; pub const LSFW_UNLOCK: u32 = 2; pub const DCX_WINDOW: u32 = 1; pub const DCX_CACHE: u32 = 2; pub const DCX_NORESETATTRS: u32 = 4; pub const DCX_CLIPCHILDREN: u32 = 8; pub const DCX_CLIPSIBLINGS: u32 = 16; pub const DCX_PARENTCLIP: u32 = 32; pub const DCX_EXCLUDERGN: u32 = 64; pub const DCX_INTERSECTRGN: u32 = 128; pub const DCX_EXCLUDEUPDATE: u32 = 256; pub const DCX_INTERSECTUPDATE: u32 = 512; pub const DCX_LOCKWINDOWUPDATE: u32 = 1024; pub const DCX_VALIDATE: u32 = 2097152; pub const RDW_INVALIDATE: u32 = 1; pub const RDW_INTERNALPAINT: u32 = 2; pub const RDW_ERASE: u32 = 4; pub const RDW_VALIDATE: u32 = 8; pub const RDW_NOINTERNALPAINT: u32 = 16; pub const RDW_NOERASE: u32 = 32; pub const RDW_NOCHILDREN: u32 = 64; pub const RDW_ALLCHILDREN: u32 = 128; pub const RDW_UPDATENOW: u32 = 256; pub const RDW_ERASENOW: u32 = 512; pub const RDW_FRAME: u32 = 1024; pub const RDW_NOFRAME: u32 = 2048; pub const SW_SCROLLCHILDREN: u32 = 1; pub const SW_INVALIDATE: u32 = 2; pub const SW_ERASE: u32 = 4; pub const SW_SMOOTHSCROLL: u32 = 16; pub const ESB_ENABLE_BOTH: u32 = 0; pub const ESB_DISABLE_BOTH: u32 = 3; pub const ESB_DISABLE_LEFT: u32 = 1; pub const ESB_DISABLE_RIGHT: u32 = 2; pub const ESB_DISABLE_UP: u32 = 1; pub const ESB_DISABLE_DOWN: u32 = 2; pub const ESB_DISABLE_LTUP: u32 = 1; pub const ESB_DISABLE_RTDN: u32 = 2; pub const HELPINFO_WINDOW: u32 = 1; pub const HELPINFO_MENUITEM: u32 = 2; pub const MB_OK: u32 = 0; pub const MB_OKCANCEL: u32 = 1; pub const MB_ABORTRETRYIGNORE: u32 = 2; pub const MB_YESNOCANCEL: u32 = 3; pub const MB_YESNO: u32 = 4; pub const MB_RETRYCANCEL: u32 = 5; pub const MB_CANCELTRYCONTINUE: u32 = 6; pub const MB_ICONHAND: u32 = 16; pub const MB_ICONQUESTION: u32 = 32; pub const MB_ICONEXCLAMATION: u32 = 48; pub const MB_ICONASTERISK: u32 = 64; pub const MB_USERICON: u32 = 128; pub const MB_ICONWARNING: u32 = 48; pub const MB_ICONERROR: u32 = 16; pub const MB_ICONINFORMATION: u32 = 64; pub const MB_ICONSTOP: u32 = 16; pub const MB_DEFBUTTON1: u32 = 0; pub const MB_DEFBUTTON2: u32 = 256; pub const MB_DEFBUTTON3: u32 = 512; pub const MB_DEFBUTTON4: u32 = 768; pub const MB_APPLMODAL: u32 = 0; pub const MB_SYSTEMMODAL: u32 = 4096; pub const MB_TASKMODAL: u32 = 8192; pub const MB_HELP: u32 = 16384; pub const MB_NOFOCUS: u32 = 32768; pub const MB_SETFOREGROUND: u32 = 65536; pub const MB_DEFAULT_DESKTOP_ONLY: u32 = 131072; pub const MB_TOPMOST: u32 = 262144; pub const MB_RIGHT: u32 = 524288; pub const MB_RTLREADING: u32 = 1048576; pub const MB_SERVICE_NOTIFICATION: u32 = 2097152; pub const MB_SERVICE_NOTIFICATION_NT3X: u32 = 262144; pub const MB_TYPEMASK: u32 = 15; pub const MB_ICONMASK: u32 = 240; pub const MB_DEFMASK: u32 = 3840; pub const MB_MODEMASK: u32 = 12288; pub const MB_MISCMASK: u32 = 49152; pub const CWP_ALL: u32 = 0; pub const CWP_SKIPINVISIBLE: u32 = 1; pub const CWP_SKIPDISABLED: u32 = 2; pub const CWP_SKIPTRANSPARENT: u32 = 4; pub const CTLCOLOR_MSGBOX: u32 = 0; pub const CTLCOLOR_EDIT: u32 = 1; pub const CTLCOLOR_LISTBOX: u32 = 2; pub const CTLCOLOR_BTN: u32 = 3; pub const CTLCOLOR_DLG: u32 = 4; pub const CTLCOLOR_SCROLLBAR: u32 = 5; pub const CTLCOLOR_STATIC: u32 = 6; pub const CTLCOLOR_MAX: u32 = 7; pub const COLOR_SCROLLBAR: u32 = 0; pub const COLOR_BACKGROUND: u32 = 1; pub const COLOR_ACTIVECAPTION: u32 = 2; pub const COLOR_INACTIVECAPTION: u32 = 3; pub const COLOR_MENU: u32 = 4; pub const COLOR_WINDOW: u32 = 5; pub const COLOR_WINDOWFRAME: u32 = 6; pub const COLOR_MENUTEXT: u32 = 7; pub const COLOR_WINDOWTEXT: u32 = 8; pub const COLOR_CAPTIONTEXT: u32 = 9; pub const COLOR_ACTIVEBORDER: u32 = 10; pub const COLOR_INACTIVEBORDER: u32 = 11; pub const COLOR_APPWORKSPACE: u32 = 12; pub const COLOR_HIGHLIGHT: u32 = 13; pub const COLOR_HIGHLIGHTTEXT: u32 = 14; pub const COLOR_BTNFACE: u32 = 15; pub const COLOR_BTNSHADOW: u32 = 16; pub const COLOR_GRAYTEXT: u32 = 17; pub const COLOR_BTNTEXT: u32 = 18; pub const COLOR_INACTIVECAPTIONTEXT: u32 = 19; pub const COLOR_BTNHIGHLIGHT: u32 = 20; pub const COLOR_3DDKSHADOW: u32 = 21; pub const COLOR_3DLIGHT: u32 = 22; pub const COLOR_INFOTEXT: u32 = 23; pub const COLOR_INFOBK: u32 = 24; pub const COLOR_HOTLIGHT: u32 = 26; pub const COLOR_GRADIENTACTIVECAPTION: u32 = 27; pub const COLOR_GRADIENTINACTIVECAPTION: u32 = 28; pub const COLOR_MENUHILIGHT: u32 = 29; pub const COLOR_MENUBAR: u32 = 30; pub const COLOR_DESKTOP: u32 = 1; pub const COLOR_3DFACE: u32 = 15; pub const COLOR_3DSHADOW: u32 = 16; pub const COLOR_3DHIGHLIGHT: u32 = 20; pub const COLOR_3DHILIGHT: u32 = 20; pub const COLOR_BTNHILIGHT: u32 = 20; pub const GW_HWNDFIRST: u32 = 0; pub const GW_HWNDLAST: u32 = 1; pub const GW_HWNDNEXT: u32 = 2; pub const GW_HWNDPREV: u32 = 3; pub const GW_OWNER: u32 = 4; pub const GW_CHILD: u32 = 5; pub const GW_ENABLEDPOPUP: u32 = 6; pub const GW_MAX: u32 = 6; pub const MF_INSERT: u32 = 0; pub const MF_CHANGE: u32 = 128; pub const MF_APPEND: u32 = 256; pub const MF_DELETE: u32 = 512; pub const MF_REMOVE: u32 = 4096; pub const MF_BYCOMMAND: u32 = 0; pub const MF_BYPOSITION: u32 = 1024; pub const MF_SEPARATOR: u32 = 2048; pub const MF_ENABLED: u32 = 0; pub const MF_GRAYED: u32 = 1; pub const MF_DISABLED: u32 = 2; pub const MF_UNCHECKED: u32 = 0; pub const MF_CHECKED: u32 = 8; pub const MF_USECHECKBITMAPS: u32 = 512; pub const MF_STRING: u32 = 0; pub const MF_BITMAP: u32 = 4; pub const MF_OWNERDRAW: u32 = 256; pub const MF_POPUP: u32 = 16; pub const MF_MENUBARBREAK: u32 = 32; pub const MF_MENUBREAK: u32 = 64; pub const MF_UNHILITE: u32 = 0; pub const MF_HILITE: u32 = 128; pub const MF_DEFAULT: u32 = 4096; pub const MF_SYSMENU: u32 = 8192; pub const MF_HELP: u32 = 16384; pub const MF_RIGHTJUSTIFY: u32 = 16384; pub const MF_MOUSESELECT: u32 = 32768; pub const MF_END: u32 = 128; pub const MFT_STRING: u32 = 0; pub const MFT_BITMAP: u32 = 4; pub const MFT_MENUBARBREAK: u32 = 32; pub const MFT_MENUBREAK: u32 = 64; pub const MFT_OWNERDRAW: u32 = 256; pub const MFT_RADIOCHECK: u32 = 512; pub const MFT_SEPARATOR: u32 = 2048; pub const MFT_RIGHTORDER: u32 = 8192; pub const MFT_RIGHTJUSTIFY: u32 = 16384; pub const MFS_GRAYED: u32 = 3; pub const MFS_DISABLED: u32 = 3; pub const MFS_CHECKED: u32 = 8; pub const MFS_HILITE: u32 = 128; pub const MFS_ENABLED: u32 = 0; pub const MFS_UNCHECKED: u32 = 0; pub const MFS_UNHILITE: u32 = 0; pub const MFS_DEFAULT: u32 = 4096; pub const SC_SIZE: u32 = 61440; pub const SC_MOVE: u32 = 61456; pub const SC_MINIMIZE: u32 = 61472; pub const SC_MAXIMIZE: u32 = 61488; pub const SC_NEXTWINDOW: u32 = 61504; pub const SC_PREVWINDOW: u32 = 61520; pub const SC_CLOSE: u32 = 61536; pub const SC_VSCROLL: u32 = 61552; pub const SC_HSCROLL: u32 = 61568; pub const SC_MOUSEMENU: u32 = 61584; pub const SC_KEYMENU: u32 = 61696; pub const SC_ARRANGE: u32 = 61712; pub const SC_RESTORE: u32 = 61728; pub const SC_TASKLIST: u32 = 61744; pub const SC_SCREENSAVE: u32 = 61760; pub const SC_HOTKEY: u32 = 61776; pub const SC_DEFAULT: u32 = 61792; pub const SC_MONITORPOWER: u32 = 61808; pub const SC_CONTEXTHELP: u32 = 61824; pub const SC_SEPARATOR: u32 = 61455; pub const SCF_ISSECURE: u32 = 1; pub const SC_ICON: u32 = 61472; pub const SC_ZOOM: u32 = 61488; pub const IMAGE_BITMAP: u32 = 0; pub const IMAGE_ICON: u32 = 1; pub const IMAGE_CURSOR: u32 = 2; pub const IMAGE_ENHMETAFILE: u32 = 3; pub const LR_DEFAULTCOLOR: u32 = 0; pub const LR_MONOCHROME: u32 = 1; pub const LR_COLOR: u32 = 2; pub const LR_COPYRETURNORG: u32 = 4; pub const LR_COPYDELETEORG: u32 = 8; pub const LR_LOADFROMFILE: u32 = 16; pub const LR_LOADTRANSPARENT: u32 = 32; pub const LR_DEFAULTSIZE: u32 = 64; pub const LR_VGACOLOR: u32 = 128; pub const LR_LOADMAP3DCOLORS: u32 = 4096; pub const LR_CREATEDIBSECTION: u32 = 8192; pub const LR_COPYFROMRESOURCE: u32 = 16384; pub const LR_SHARED: u32 = 32768; pub const DI_MASK: u32 = 1; pub const DI_IMAGE: u32 = 2; pub const DI_NORMAL: u32 = 3; pub const DI_COMPAT: u32 = 4; pub const DI_DEFAULTSIZE: u32 = 8; pub const DI_NOMIRROR: u32 = 16; pub const RES_ICON: u32 = 1; pub const RES_CURSOR: u32 = 2; pub const ORD_LANGDRIVER: u32 = 1; pub const IDOK: u32 = 1; pub const IDCANCEL: u32 = 2; pub const IDABORT: u32 = 3; pub const IDRETRY: u32 = 4; pub const IDIGNORE: u32 = 5; pub const IDYES: u32 = 6; pub const IDNO: u32 = 7; pub const IDCLOSE: u32 = 8; pub const IDHELP: u32 = 9; pub const IDTRYAGAIN: u32 = 10; pub const IDCONTINUE: u32 = 11; pub const IDTIMEOUT: u32 = 32000; pub const ES_LEFT: u32 = 0; pub const ES_CENTER: u32 = 1; pub const ES_RIGHT: u32 = 2; pub const ES_MULTILINE: u32 = 4; pub const ES_UPPERCASE: u32 = 8; pub const ES_LOWERCASE: u32 = 16; pub const ES_PASSWORD: u32 = 32; pub const ES_AUTOVSCROLL: u32 = 64; pub const ES_AUTOHSCROLL: u32 = 128; pub const ES_NOHIDESEL: u32 = 256; pub const ES_OEMCONVERT: u32 = 1024; pub const ES_READONLY: u32 = 2048; pub const ES_WANTRETURN: u32 = 4096; pub const ES_NUMBER: u32 = 8192; pub const EN_SETFOCUS: u32 = 256; pub const EN_KILLFOCUS: u32 = 512; pub const EN_CHANGE: u32 = 768; pub const EN_UPDATE: u32 = 1024; pub const EN_ERRSPACE: u32 = 1280; pub const EN_MAXTEXT: u32 = 1281; pub const EN_HSCROLL: u32 = 1537; pub const EN_VSCROLL: u32 = 1538; pub const EN_ALIGN_LTR_EC: u32 = 1792; pub const EN_ALIGN_RTL_EC: u32 = 1793; pub const EN_BEFORE_PASTE: u32 = 2048; pub const EN_AFTER_PASTE: u32 = 2049; pub const EC_LEFTMARGIN: u32 = 1; pub const EC_RIGHTMARGIN: u32 = 2; pub const EC_USEFONTINFO: u32 = 65535; pub const EMSIS_COMPOSITIONSTRING: u32 = 1; pub const EIMES_GETCOMPSTRATONCE: u32 = 1; pub const EIMES_CANCELCOMPSTRINFOCUS: u32 = 2; pub const EIMES_COMPLETECOMPSTRKILLFOCUS: u32 = 4; pub const EM_GETSEL: u32 = 176; pub const EM_SETSEL: u32 = 177; pub const EM_GETRECT: u32 = 178; pub const EM_SETRECT: u32 = 179; pub const EM_SETRECTNP: u32 = 180; pub const EM_SCROLL: u32 = 181; pub const EM_LINESCROLL: u32 = 182; pub const EM_SCROLLCARET: u32 = 183; pub const EM_GETMODIFY: u32 = 184; pub const EM_SETMODIFY: u32 = 185; pub const EM_GETLINECOUNT: u32 = 186; pub const EM_LINEINDEX: u32 = 187; pub const EM_SETHANDLE: u32 = 188; pub const EM_GETHANDLE: u32 = 189; pub const EM_GETTHUMB: u32 = 190; pub const EM_LINELENGTH: u32 = 193; pub const EM_REPLACESEL: u32 = 194; pub const EM_GETLINE: u32 = 196; pub const EM_LIMITTEXT: u32 = 197; pub const EM_CANUNDO: u32 = 198; pub const EM_UNDO: u32 = 199; pub const EM_FMTLINES: u32 = 200; pub const EM_LINEFROMCHAR: u32 = 201; pub const EM_SETTABSTOPS: u32 = 203; pub const EM_SETPASSWORDCHAR: u32 = 204; pub const EM_EMPTYUNDOBUFFER: u32 = 205; pub const EM_GETFIRSTVISIBLELINE: u32 = 206; pub const EM_SETREADONLY: u32 = 207; pub const EM_SETWORDBREAKPROC: u32 = 208; pub const EM_GETWORDBREAKPROC: u32 = 209; pub const EM_GETPASSWORDCHAR: u32 = 210; pub const EM_SETMARGINS: u32 = 211; pub const EM_GETMARGINS: u32 = 212; pub const EM_SETLIMITTEXT: u32 = 197; pub const EM_GETLIMITTEXT: u32 = 213; pub const EM_POSFROMCHAR: u32 = 214; pub const EM_CHARFROMPOS: u32 = 215; pub const EM_SETIMESTATUS: u32 = 216; pub const EM_GETIMESTATUS: u32 = 217; pub const EM_ENABLEFEATURE: u32 = 218; pub const WB_LEFT: u32 = 0; pub const WB_RIGHT: u32 = 1; pub const WB_ISDELIMITER: u32 = 2; pub const BS_PUSHBUTTON: u32 = 0; pub const BS_DEFPUSHBUTTON: u32 = 1; pub const BS_CHECKBOX: u32 = 2; pub const BS_AUTOCHECKBOX: u32 = 3; pub const BS_RADIOBUTTON: u32 = 4; pub const BS_3STATE: u32 = 5; pub const BS_AUTO3STATE: u32 = 6; pub const BS_GROUPBOX: u32 = 7; pub const BS_USERBUTTON: u32 = 8; pub const BS_AUTORADIOBUTTON: u32 = 9; pub const BS_PUSHBOX: u32 = 10; pub const BS_OWNERDRAW: u32 = 11; pub const BS_TYPEMASK: u32 = 15; pub const BS_LEFTTEXT: u32 = 32; pub const BS_TEXT: u32 = 0; pub const BS_ICON: u32 = 64; pub const BS_BITMAP: u32 = 128; pub const BS_LEFT: u32 = 256; pub const BS_RIGHT: u32 = 512; pub const BS_CENTER: u32 = 768; pub const BS_TOP: u32 = 1024; pub const BS_BOTTOM: u32 = 2048; pub const BS_VCENTER: u32 = 3072; pub const BS_PUSHLIKE: u32 = 4096; pub const BS_MULTILINE: u32 = 8192; pub const BS_NOTIFY: u32 = 16384; pub const BS_FLAT: u32 = 32768; pub const BS_RIGHTBUTTON: u32 = 32; pub const BN_CLICKED: u32 = 0; pub const BN_PAINT: u32 = 1; pub const BN_HILITE: u32 = 2; pub const BN_UNHILITE: u32 = 3; pub const BN_DISABLE: u32 = 4; pub const BN_DOUBLECLICKED: u32 = 5; pub const BN_PUSHED: u32 = 2; pub const BN_UNPUSHED: u32 = 3; pub const BN_DBLCLK: u32 = 5; pub const BN_SETFOCUS: u32 = 6; pub const BN_KILLFOCUS: u32 = 7; pub const BM_GETCHECK: u32 = 240; pub const BM_SETCHECK: u32 = 241; pub const BM_GETSTATE: u32 = 242; pub const BM_SETSTATE: u32 = 243; pub const BM_SETSTYLE: u32 = 244; pub const BM_CLICK: u32 = 245; pub const BM_GETIMAGE: u32 = 246; pub const BM_SETIMAGE: u32 = 247; pub const BM_SETDONTCLICK: u32 = 248; pub const BST_UNCHECKED: u32 = 0; pub const BST_CHECKED: u32 = 1; pub const BST_INDETERMINATE: u32 = 2; pub const BST_PUSHED: u32 = 4; pub const BST_FOCUS: u32 = 8; pub const SS_LEFT: u32 = 0; pub const SS_CENTER: u32 = 1; pub const SS_RIGHT: u32 = 2; pub const SS_ICON: u32 = 3; pub const SS_BLACKRECT: u32 = 4; pub const SS_GRAYRECT: u32 = 5; pub const SS_WHITERECT: u32 = 6; pub const SS_BLACKFRAME: u32 = 7; pub const SS_GRAYFRAME: u32 = 8; pub const SS_WHITEFRAME: u32 = 9; pub const SS_USERITEM: u32 = 10; pub const SS_SIMPLE: u32 = 11; pub const SS_LEFTNOWORDWRAP: u32 = 12; pub const SS_OWNERDRAW: u32 = 13; pub const SS_BITMAP: u32 = 14; pub const SS_ENHMETAFILE: u32 = 15; pub const SS_ETCHEDHORZ: u32 = 16; pub const SS_ETCHEDVERT: u32 = 17; pub const SS_ETCHEDFRAME: u32 = 18; pub const SS_TYPEMASK: u32 = 31; pub const SS_REALSIZECONTROL: u32 = 64; pub const SS_NOPREFIX: u32 = 128; pub const SS_NOTIFY: u32 = 256; pub const SS_CENTERIMAGE: u32 = 512; pub const SS_RIGHTJUST: u32 = 1024; pub const SS_REALSIZEIMAGE: u32 = 2048; pub const SS_SUNKEN: u32 = 4096; pub const SS_EDITCONTROL: u32 = 8192; pub const SS_ENDELLIPSIS: u32 = 16384; pub const SS_PATHELLIPSIS: u32 = 32768; pub const SS_WORDELLIPSIS: u32 = 49152; pub const SS_ELLIPSISMASK: u32 = 49152; pub const STM_SETICON: u32 = 368; pub const STM_GETICON: u32 = 369; pub const STM_SETIMAGE: u32 = 370; pub const STM_GETIMAGE: u32 = 371; pub const STN_CLICKED: u32 = 0; pub const STN_DBLCLK: u32 = 1; pub const STN_ENABLE: u32 = 2; pub const STN_DISABLE: u32 = 3; pub const STM_MSGMAX: u32 = 372; pub const DWL_MSGRESULT: u32 = 0; pub const DWL_DLGPROC: u32 = 4; pub const DWL_USER: u32 = 8; pub const DWLP_MSGRESULT: u32 = 0; pub const DDL_READWRITE: u32 = 0; pub const DDL_READONLY: u32 = 1; pub const DDL_HIDDEN: u32 = 2; pub const DDL_SYSTEM: u32 = 4; pub const DDL_DIRECTORY: u32 = 16; pub const DDL_ARCHIVE: u32 = 32; pub const DDL_POSTMSGS: u32 = 8192; pub const DDL_DRIVES: u32 = 16384; pub const DDL_EXCLUSIVE: u32 = 32768; pub const DS_ABSALIGN: u32 = 1; pub const DS_SYSMODAL: u32 = 2; pub const DS_LOCALEDIT: u32 = 32; pub const DS_SETFONT: u32 = 64; pub const DS_MODALFRAME: u32 = 128; pub const DS_NOIDLEMSG: u32 = 256; pub const DS_SETFOREGROUND: u32 = 512; pub const DS_3DLOOK: u32 = 4; pub const DS_FIXEDSYS: u32 = 8; pub const DS_NOFAILCREATE: u32 = 16; pub const DS_CONTROL: u32 = 1024; pub const DS_CENTER: u32 = 2048; pub const DS_CENTERMOUSE: u32 = 4096; pub const DS_CONTEXTHELP: u32 = 8192; pub const DS_SHELLFONT: u32 = 72; pub const DM_GETDEFID: u32 = 1024; pub const DM_SETDEFID: u32 = 1025; pub const DM_REPOSITION: u32 = 1026; pub const DC_HASDEFID: u32 = 21323; pub const DLGC_WANTARROWS: u32 = 1; pub const DLGC_WANTTAB: u32 = 2; pub const DLGC_WANTALLKEYS: u32 = 4; pub const DLGC_WANTMESSAGE: u32 = 4; pub const DLGC_HASSETSEL: u32 = 8; pub const DLGC_DEFPUSHBUTTON: u32 = 16; pub const DLGC_UNDEFPUSHBUTTON: u32 = 32; pub const DLGC_RADIOBUTTON: u32 = 64; pub const DLGC_WANTCHARS: u32 = 128; pub const DLGC_STATIC: u32 = 256; pub const DLGC_BUTTON: u32 = 8192; pub const LB_CTLCODE: u32 = 0; pub const LB_OKAY: u32 = 0; pub const LB_ERR: i32 = -1; pub const LB_ERRSPACE: i32 = -2; pub const LBN_ERRSPACE: i32 = -2; pub const LBN_SELCHANGE: u32 = 1; pub const LBN_DBLCLK: u32 = 2; pub const LBN_SELCANCEL: u32 = 3; pub const LBN_SETFOCUS: u32 = 4; pub const LBN_KILLFOCUS: u32 = 5; pub const LB_ADDSTRING: u32 = 384; pub const LB_INSERTSTRING: u32 = 385; pub const LB_DELETESTRING: u32 = 386; pub const LB_SELITEMRANGEEX: u32 = 387; pub const LB_RESETCONTENT: u32 = 388; pub const LB_SETSEL: u32 = 389; pub const LB_SETCURSEL: u32 = 390; pub const LB_GETSEL: u32 = 391; pub const LB_GETCURSEL: u32 = 392; pub const LB_GETTEXT: u32 = 393; pub const LB_GETTEXTLEN: u32 = 394; pub const LB_GETCOUNT: u32 = 395; pub const LB_SELECTSTRING: u32 = 396; pub const LB_DIR: u32 = 397; pub const LB_GETTOPINDEX: u32 = 398; pub const LB_FINDSTRING: u32 = 399; pub const LB_GETSELCOUNT: u32 = 400; pub const LB_GETSELITEMS: u32 = 401; pub const LB_SETTABSTOPS: u32 = 402; pub const LB_GETHORIZONTALEXTENT: u32 = 403; pub const LB_SETHORIZONTALEXTENT: u32 = 404; pub const LB_SETCOLUMNWIDTH: u32 = 405; pub const LB_ADDFILE: u32 = 406; pub const LB_SETTOPINDEX: u32 = 407; pub const LB_GETITEMRECT: u32 = 408; pub const LB_GETITEMDATA: u32 = 409; pub const LB_SETITEMDATA: u32 = 410; pub const LB_SELITEMRANGE: u32 = 411; pub const LB_SETANCHORINDEX: u32 = 412; pub const LB_GETANCHORINDEX: u32 = 413; pub const LB_SETCARETINDEX: u32 = 414; pub const LB_GETCARETINDEX: u32 = 415; pub const LB_SETITEMHEIGHT: u32 = 416; pub const LB_GETITEMHEIGHT: u32 = 417; pub const LB_FINDSTRINGEXACT: u32 = 418; pub const LB_SETLOCALE: u32 = 421; pub const LB_GETLOCALE: u32 = 422; pub const LB_SETCOUNT: u32 = 423; pub const LB_INITSTORAGE: u32 = 424; pub const LB_ITEMFROMPOINT: u32 = 425; pub const LB_GETLISTBOXINFO: u32 = 434; pub const LB_MSGMAX: u32 = 435; pub const LBS_NOTIFY: u32 = 1; pub const LBS_SORT: u32 = 2; pub const LBS_NOREDRAW: u32 = 4; pub const LBS_MULTIPLESEL: u32 = 8; pub const LBS_OWNERDRAWFIXED: u32 = 16; pub const LBS_OWNERDRAWVARIABLE: u32 = 32; pub const LBS_HASSTRINGS: u32 = 64; pub const LBS_USETABSTOPS: u32 = 128; pub const LBS_NOINTEGRALHEIGHT: u32 = 256; pub const LBS_MULTICOLUMN: u32 = 512; pub const LBS_WANTKEYBOARDINPUT: u32 = 1024; pub const LBS_EXTENDEDSEL: u32 = 2048; pub const LBS_DISABLENOSCROLL: u32 = 4096; pub const LBS_NODATA: u32 = 8192; pub const LBS_NOSEL: u32 = 16384; pub const LBS_COMBOBOX: u32 = 32768; pub const LBS_STANDARD: u32 = 10485763; pub const CB_OKAY: u32 = 0; pub const CB_ERR: i32 = -1; pub const CB_ERRSPACE: i32 = -2; pub const CBN_ERRSPACE: i32 = -1; pub const CBN_SELCHANGE: u32 = 1; pub const CBN_DBLCLK: u32 = 2; pub const CBN_SETFOCUS: u32 = 3; pub const CBN_KILLFOCUS: u32 = 4; pub const CBN_EDITCHANGE: u32 = 5; pub const CBN_EDITUPDATE: u32 = 6; pub const CBN_DROPDOWN: u32 = 7; pub const CBN_CLOSEUP: u32 = 8; pub const CBN_SELENDOK: u32 = 9; pub const CBN_SELENDCANCEL: u32 = 10; pub const CBS_SIMPLE: u32 = 1; pub const CBS_DROPDOWN: u32 = 2; pub const CBS_DROPDOWNLIST: u32 = 3; pub const CBS_OWNERDRAWFIXED: u32 = 16; pub const CBS_OWNERDRAWVARIABLE: u32 = 32; pub const CBS_AUTOHSCROLL: u32 = 64; pub const CBS_OEMCONVERT: u32 = 128; pub const CBS_SORT: u32 = 256; pub const CBS_HASSTRINGS: u32 = 512; pub const CBS_NOINTEGRALHEIGHT: u32 = 1024; pub const CBS_DISABLENOSCROLL: u32 = 2048; pub const CBS_UPPERCASE: u32 = 8192; pub const CBS_LOWERCASE: u32 = 16384; pub const CB_GETEDITSEL: u32 = 320; pub const CB_LIMITTEXT: u32 = 321; pub const CB_SETEDITSEL: u32 = 322; pub const CB_ADDSTRING: u32 = 323; pub const CB_DELETESTRING: u32 = 324; pub const CB_DIR: u32 = 325; pub const CB_GETCOUNT: u32 = 326; pub const CB_GETCURSEL: u32 = 327; pub const CB_GETLBTEXT: u32 = 328; pub const CB_GETLBTEXTLEN: u32 = 329; pub const CB_INSERTSTRING: u32 = 330; pub const CB_RESETCONTENT: u32 = 331; pub const CB_FINDSTRING: u32 = 332; pub const CB_SELECTSTRING: u32 = 333; pub const CB_SETCURSEL: u32 = 334; pub const CB_SHOWDROPDOWN: u32 = 335; pub const CB_GETITEMDATA: u32 = 336; pub const CB_SETITEMDATA: u32 = 337; pub const CB_GETDROPPEDCONTROLRECT: u32 = 338; pub const CB_SETITEMHEIGHT: u32 = 339; pub const CB_GETITEMHEIGHT: u32 = 340; pub const CB_SETEXTENDEDUI: u32 = 341; pub const CB_GETEXTENDEDUI: u32 = 342; pub const CB_GETDROPPEDSTATE: u32 = 343; pub const CB_FINDSTRINGEXACT: u32 = 344; pub const CB_SETLOCALE: u32 = 345; pub const CB_GETLOCALE: u32 = 346; pub const CB_GETTOPINDEX: u32 = 347; pub const CB_SETTOPINDEX: u32 = 348; pub const CB_GETHORIZONTALEXTENT: u32 = 349; pub const CB_SETHORIZONTALEXTENT: u32 = 350; pub const CB_GETDROPPEDWIDTH: u32 = 351; pub const CB_SETDROPPEDWIDTH: u32 = 352; pub const CB_INITSTORAGE: u32 = 353; pub const CB_GETCOMBOBOXINFO: u32 = 356; pub const CB_MSGMAX: u32 = 357; pub const SBS_HORZ: u32 = 0; pub const SBS_VERT: u32 = 1; pub const SBS_TOPALIGN: u32 = 2; pub const SBS_LEFTALIGN: u32 = 2; pub const SBS_BOTTOMALIGN: u32 = 4; pub const SBS_RIGHTALIGN: u32 = 4; pub const SBS_SIZEBOXTOPLEFTALIGN: u32 = 2; pub const SBS_SIZEBOXBOTTOMRIGHTALIGN: u32 = 4; pub const SBS_SIZEBOX: u32 = 8; pub const SBS_SIZEGRIP: u32 = 16; pub const SBM_SETPOS: u32 = 224; pub const SBM_GETPOS: u32 = 225; pub const SBM_SETRANGE: u32 = 226; pub const SBM_SETRANGEREDRAW: u32 = 230; pub const SBM_GETRANGE: u32 = 227; pub const SBM_ENABLE_ARROWS: u32 = 228; pub const SBM_SETSCROLLINFO: u32 = 233; pub const SBM_GETSCROLLINFO: u32 = 234; pub const SBM_GETSCROLLBARINFO: u32 = 235; pub const SIF_RANGE: u32 = 1; pub const SIF_PAGE: u32 = 2; pub const SIF_POS: u32 = 4; pub const SIF_DISABLENOSCROLL: u32 = 8; pub const SIF_TRACKPOS: u32 = 16; pub const SIF_ALL: u32 = 23; pub const MDIS_ALLCHILDSTYLES: u32 = 1; pub const MDITILE_VERTICAL: u32 = 0; pub const MDITILE_HORIZONTAL: u32 = 1; pub const MDITILE_SKIPDISABLED: u32 = 2; pub const MDITILE_ZORDER: u32 = 4; pub const HELP_CONTEXT: u32 = 1; pub const HELP_QUIT: u32 = 2; pub const HELP_INDEX: u32 = 3; pub const HELP_CONTENTS: u32 = 3; pub const HELP_HELPONHELP: u32 = 4; pub const HELP_SETINDEX: u32 = 5; pub const HELP_SETCONTENTS: u32 = 5; pub const HELP_CONTEXTPOPUP: u32 = 8; pub const HELP_FORCEFILE: u32 = 9; pub const HELP_KEY: u32 = 257; pub const HELP_COMMAND: u32 = 258; pub const HELP_PARTIALKEY: u32 = 261; pub const HELP_MULTIKEY: u32 = 513; pub const HELP_SETWINPOS: u32 = 515; pub const HELP_CONTEXTMENU: u32 = 10; pub const HELP_FINDER: u32 = 11; pub const HELP_WM_HELP: u32 = 12; pub const HELP_SETPOPUP_POS: u32 = 13; pub const HELP_TCARD: u32 = 32768; pub const HELP_TCARD_DATA: u32 = 16; pub const HELP_TCARD_OTHER_CALLER: u32 = 17; pub const IDH_NO_HELP: u32 = 28440; pub const IDH_MISSING_CONTEXT: u32 = 28441; pub const IDH_GENERIC_HELP_BUTTON: u32 = 28442; pub const IDH_OK: u32 = 28443; pub const IDH_CANCEL: u32 = 28444; pub const IDH_HELP: u32 = 28445; pub const GR_GDIOBJECTS: u32 = 0; pub const GR_USEROBJECTS: u32 = 1; pub const GR_GDIOBJECTS_PEAK: u32 = 2; pub const GR_USEROBJECTS_PEAK: u32 = 4; pub const SPI_GETBEEP: u32 = 1; pub const SPI_SETBEEP: u32 = 2; pub const SPI_GETMOUSE: u32 = 3; pub const SPI_SETMOUSE: u32 = 4; pub const SPI_GETBORDER: u32 = 5; pub const SPI_SETBORDER: u32 = 6; pub const SPI_GETKEYBOARDSPEED: u32 = 10; pub const SPI_SETKEYBOARDSPEED: u32 = 11; pub const SPI_LANGDRIVER: u32 = 12; pub const SPI_ICONHORIZONTALSPACING: u32 = 13; pub const SPI_GETSCREENSAVETIMEOUT: u32 = 14; pub const SPI_SETSCREENSAVETIMEOUT: u32 = 15; pub const SPI_GETSCREENSAVEACTIVE: u32 = 16; pub const SPI_SETSCREENSAVEACTIVE: u32 = 17; pub const SPI_GETGRIDGRANULARITY: u32 = 18; pub const SPI_SETGRIDGRANULARITY: u32 = 19; pub const SPI_SETDESKWALLPAPER: u32 = 20; pub const SPI_SETDESKPATTERN: u32 = 21; pub const SPI_GETKEYBOARDDELAY: u32 = 22; pub const SPI_SETKEYBOARDDELAY: u32 = 23; pub const SPI_ICONVERTICALSPACING: u32 = 24; pub const SPI_GETICONTITLEWRAP: u32 = 25; pub const SPI_SETICONTITLEWRAP: u32 = 26; pub const SPI_GETMENUDROPALIGNMENT: u32 = 27; pub const SPI_SETMENUDROPALIGNMENT: u32 = 28; pub const SPI_SETDOUBLECLKWIDTH: u32 = 29; pub const SPI_SETDOUBLECLKHEIGHT: u32 = 30; pub const SPI_GETICONTITLELOGFONT: u32 = 31; pub const SPI_SETDOUBLECLICKTIME: u32 = 32; pub const SPI_SETMOUSEBUTTONSWAP: u32 = 33; pub const SPI_SETICONTITLELOGFONT: u32 = 34; pub const SPI_GETFASTTASKSWITCH: u32 = 35; pub const SPI_SETFASTTASKSWITCH: u32 = 36; pub const SPI_SETDRAGFULLWINDOWS: u32 = 37; pub const SPI_GETDRAGFULLWINDOWS: u32 = 38; pub const SPI_GETNONCLIENTMETRICS: u32 = 41; pub const SPI_SETNONCLIENTMETRICS: u32 = 42; pub const SPI_GETMINIMIZEDMETRICS: u32 = 43; pub const SPI_SETMINIMIZEDMETRICS: u32 = 44; pub const SPI_GETICONMETRICS: u32 = 45; pub const SPI_SETICONMETRICS: u32 = 46; pub const SPI_SETWORKAREA: u32 = 47; pub const SPI_GETWORKAREA: u32 = 48; pub const SPI_SETPENWINDOWS: u32 = 49; pub const SPI_GETHIGHCONTRAST: u32 = 66; pub const SPI_SETHIGHCONTRAST: u32 = 67; pub const SPI_GETKEYBOARDPREF: u32 = 68; pub const SPI_SETKEYBOARDPREF: u32 = 69; pub const SPI_GETSCREENREADER: u32 = 70; pub const SPI_SETSCREENREADER: u32 = 71; pub const SPI_GETANIMATION: u32 = 72; pub const SPI_SETANIMATION: u32 = 73; pub const SPI_GETFONTSMOOTHING: u32 = 74; pub const SPI_SETFONTSMOOTHING: u32 = 75; pub const SPI_SETDRAGWIDTH: u32 = 76; pub const SPI_SETDRAGHEIGHT: u32 = 77; pub const SPI_SETHANDHELD: u32 = 78; pub const SPI_GETLOWPOWERTIMEOUT: u32 = 79; pub const SPI_GETPOWEROFFTIMEOUT: u32 = 80; pub const SPI_SETLOWPOWERTIMEOUT: u32 = 81; pub const SPI_SETPOWEROFFTIMEOUT: u32 = 82; pub const SPI_GETLOWPOWERACTIVE: u32 = 83; pub const SPI_GETPOWEROFFACTIVE: u32 = 84; pub const SPI_SETLOWPOWERACTIVE: u32 = 85; pub const SPI_SETPOWEROFFACTIVE: u32 = 86; pub const SPI_SETCURSORS: u32 = 87; pub const SPI_SETICONS: u32 = 88; pub const SPI_GETDEFAULTINPUTLANG: u32 = 89; pub const SPI_SETDEFAULTINPUTLANG: u32 = 90; pub const SPI_SETLANGTOGGLE: u32 = 91; pub const SPI_GETWINDOWSEXTENSION: u32 = 92; pub const SPI_SETMOUSETRAILS: u32 = 93; pub const SPI_GETMOUSETRAILS: u32 = 94; pub const SPI_SETSCREENSAVERRUNNING: u32 = 97; pub const SPI_SCREENSAVERRUNNING: u32 = 97; pub const SPI_GETFILTERKEYS: u32 = 50; pub const SPI_SETFILTERKEYS: u32 = 51; pub const SPI_GETTOGGLEKEYS: u32 = 52; pub const SPI_SETTOGGLEKEYS: u32 = 53; pub const SPI_GETMOUSEKEYS: u32 = 54; pub const SPI_SETMOUSEKEYS: u32 = 55; pub const SPI_GETSHOWSOUNDS: u32 = 56; pub const SPI_SETSHOWSOUNDS: u32 = 57; pub const SPI_GETSTICKYKEYS: u32 = 58; pub const SPI_SETSTICKYKEYS: u32 = 59; pub const SPI_GETACCESSTIMEOUT: u32 = 60; pub const SPI_SETACCESSTIMEOUT: u32 = 61; pub const SPI_GETSERIALKEYS: u32 = 62; pub const SPI_SETSERIALKEYS: u32 = 63; pub const SPI_GETSOUNDSENTRY: u32 = 64; pub const SPI_SETSOUNDSENTRY: u32 = 65; pub const SPI_GETSNAPTODEFBUTTON: u32 = 95; pub const SPI_SETSNAPTODEFBUTTON: u32 = 96; pub const SPI_GETMOUSEHOVERWIDTH: u32 = 98; pub const SPI_SETMOUSEHOVERWIDTH: u32 = 99; pub const SPI_GETMOUSEHOVERHEIGHT: u32 = 100; pub const SPI_SETMOUSEHOVERHEIGHT: u32 = 101; pub const SPI_GETMOUSEHOVERTIME: u32 = 102; pub const SPI_SETMOUSEHOVERTIME: u32 = 103; pub const SPI_GETWHEELSCROLLLINES: u32 = 104; pub const SPI_SETWHEELSCROLLLINES: u32 = 105; pub const SPI_GETMENUSHOWDELAY: u32 = 106; pub const SPI_SETMENUSHOWDELAY: u32 = 107; pub const SPI_GETWHEELSCROLLCHARS: u32 = 108; pub const SPI_SETWHEELSCROLLCHARS: u32 = 109; pub const SPI_GETSHOWIMEUI: u32 = 110; pub const SPI_SETSHOWIMEUI: u32 = 111; pub const SPI_GETMOUSESPEED: u32 = 112; pub const SPI_SETMOUSESPEED: u32 = 113; pub const SPI_GETSCREENSAVERRUNNING: u32 = 114; pub const SPI_GETDESKWALLPAPER: u32 = 115; pub const SPI_GETAUDIODESCRIPTION: u32 = 116; pub const SPI_SETAUDIODESCRIPTION: u32 = 117; pub const SPI_GETSCREENSAVESECURE: u32 = 118; pub const SPI_SETSCREENSAVESECURE: u32 = 119; pub const SPI_GETHUNGAPPTIMEOUT: u32 = 120; pub const SPI_SETHUNGAPPTIMEOUT: u32 = 121; pub const SPI_GETWAITTOKILLTIMEOUT: u32 = 122; pub const SPI_SETWAITTOKILLTIMEOUT: u32 = 123; pub const SPI_GETWAITTOKILLSERVICETIMEOUT: u32 = 124; pub const SPI_SETWAITTOKILLSERVICETIMEOUT: u32 = 125; pub const SPI_GETMOUSEDOCKTHRESHOLD: u32 = 126; pub const SPI_SETMOUSEDOCKTHRESHOLD: u32 = 127; pub const SPI_GETPENDOCKTHRESHOLD: u32 = 128; pub const SPI_SETPENDOCKTHRESHOLD: u32 = 129; pub const SPI_GETWINARRANGING: u32 = 130; pub const SPI_SETWINARRANGING: u32 = 131; pub const SPI_GETMOUSEDRAGOUTTHRESHOLD: u32 = 132; pub const SPI_SETMOUSEDRAGOUTTHRESHOLD: u32 = 133; pub const SPI_GETPENDRAGOUTTHRESHOLD: u32 = 134; pub const SPI_SETPENDRAGOUTTHRESHOLD: u32 = 135; pub const SPI_GETMOUSESIDEMOVETHRESHOLD: u32 = 136; pub const SPI_SETMOUSESIDEMOVETHRESHOLD: u32 = 137; pub const SPI_GETPENSIDEMOVETHRESHOLD: u32 = 138; pub const SPI_SETPENSIDEMOVETHRESHOLD: u32 = 139; pub const SPI_GETDRAGFROMMAXIMIZE: u32 = 140; pub const SPI_SETDRAGFROMMAXIMIZE: u32 = 141; pub const SPI_GETSNAPSIZING: u32 = 142; pub const SPI_SETSNAPSIZING: u32 = 143; pub const SPI_GETDOCKMOVING: u32 = 144; pub const SPI_SETDOCKMOVING: u32 = 145; pub const MAX_TOUCH_PREDICTION_FILTER_TAPS: u32 = 3; pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_LATENCY: u32 = 8; pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_SAMPLETIME: u32 = 8; pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_USE_HW_TIMESTAMP: u32 = 1; pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_DELTA: f64 = 0.001; pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MIN: f64 = 0.9; pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MAX: f64 = 0.999; pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_LEARNING_RATE: f64 = 0.001; pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_EXPO_SMOOTH_ALPHA: f64 = 0.99; pub const SPI_GETTOUCHPREDICTIONPARAMETERS: u32 = 156; pub const SPI_SETTOUCHPREDICTIONPARAMETERS: u32 = 157; pub const MAX_LOGICALDPIOVERRIDE: u32 = 2; pub const MIN_LOGICALDPIOVERRIDE: i32 = -2; pub const SPI_GETLOGICALDPIOVERRIDE: u32 = 158; pub const SPI_SETLOGICALDPIOVERRIDE: u32 = 159; pub const SPI_GETMENURECT: u32 = 162; pub const SPI_SETMENURECT: u32 = 163; pub const SPI_GETACTIVEWINDOWTRACKING: u32 = 4096; pub const SPI_SETACTIVEWINDOWTRACKING: u32 = 4097; pub const SPI_GETMENUANIMATION: u32 = 4098; pub const SPI_SETMENUANIMATION: u32 = 4099; pub const SPI_GETCOMBOBOXANIMATION: u32 = 4100; pub const SPI_SETCOMBOBOXANIMATION: u32 = 4101; pub const SPI_GETLISTBOXSMOOTHSCROLLING: u32 = 4102; pub const SPI_SETLISTBOXSMOOTHSCROLLING: u32 = 4103; pub const SPI_GETGRADIENTCAPTIONS: u32 = 4104; pub const SPI_SETGRADIENTCAPTIONS: u32 = 4105; pub const SPI_GETKEYBOARDCUES: u32 = 4106; pub const SPI_SETKEYBOARDCUES: u32 = 4107; pub const SPI_GETMENUUNDERLINES: u32 = 4106; pub const SPI_SETMENUUNDERLINES: u32 = 4107; pub const SPI_GETACTIVEWNDTRKZORDER: u32 = 4108; pub const SPI_SETACTIVEWNDTRKZORDER: u32 = 4109; pub const SPI_GETHOTTRACKING: u32 = 4110; pub const SPI_SETHOTTRACKING: u32 = 4111; pub const SPI_GETMENUFADE: u32 = 4114; pub const SPI_SETMENUFADE: u32 = 4115; pub const SPI_GETSELECTIONFADE: u32 = 4116; pub const SPI_SETSELECTIONFADE: u32 = 4117; pub const SPI_GETTOOLTIPANIMATION: u32 = 4118; pub const SPI_SETTOOLTIPANIMATION: u32 = 4119; pub const SPI_GETTOOLTIPFADE: u32 = 4120; pub const SPI_SETTOOLTIPFADE: u32 = 4121; pub const SPI_GETCURSORSHADOW: u32 = 4122; pub const SPI_SETCURSORSHADOW: u32 = 4123; pub const SPI_GETMOUSESONAR: u32 = 4124; pub const SPI_SETMOUSESONAR: u32 = 4125; pub const SPI_GETMOUSECLICKLOCK: u32 = 4126; pub const SPI_SETMOUSECLICKLOCK: u32 = 4127; pub const SPI_GETMOUSEVANISH: u32 = 4128; pub const SPI_SETMOUSEVANISH: u32 = 4129; pub const SPI_GETFLATMENU: u32 = 4130; pub const SPI_SETFLATMENU: u32 = 4131; pub const SPI_GETDROPSHADOW: u32 = 4132; pub const SPI_SETDROPSHADOW: u32 = 4133; pub const SPI_GETBLOCKSENDINPUTRESETS: u32 = 4134; pub const SPI_SETBLOCKSENDINPUTRESETS: u32 = 4135; pub const SPI_GETUIEFFECTS: u32 = 4158; pub const SPI_SETUIEFFECTS: u32 = 4159; pub const SPI_GETDISABLEOVERLAPPEDCONTENT: u32 = 4160; pub const SPI_SETDISABLEOVERLAPPEDCONTENT: u32 = 4161; pub const SPI_GETCLIENTAREAANIMATION: u32 = 4162; pub const SPI_SETCLIENTAREAANIMATION: u32 = 4163; pub const SPI_GETCLEARTYPE: u32 = 4168; pub const SPI_SETCLEARTYPE: u32 = 4169; pub const SPI_GETSPEECHRECOGNITION: u32 = 4170; pub const SPI_SETSPEECHRECOGNITION: u32 = 4171; pub const SPI_GETCARETBROWSING: u32 = 4172; pub const SPI_SETCARETBROWSING: u32 = 4173; pub const SPI_GETTHREADLOCALINPUTSETTINGS: u32 = 4174; pub const SPI_SETTHREADLOCALINPUTSETTINGS: u32 = 4175; pub const SPI_GETSYSTEMLANGUAGEBAR: u32 = 4176; pub const SPI_SETSYSTEMLANGUAGEBAR: u32 = 4177; pub const SPI_GETFOREGROUNDLOCKTIMEOUT: u32 = 8192; pub const SPI_SETFOREGROUNDLOCKTIMEOUT: u32 = 8193; pub const SPI_GETACTIVEWNDTRKTIMEOUT: u32 = 8194; pub const SPI_SETACTIVEWNDTRKTIMEOUT: u32 = 8195; pub const SPI_GETFOREGROUNDFLASHCOUNT: u32 = 8196; pub const SPI_SETFOREGROUNDFLASHCOUNT: u32 = 8197; pub const SPI_GETCARETWIDTH: u32 = 8198; pub const SPI_SETCARETWIDTH: u32 = 8199; pub const SPI_GETMOUSECLICKLOCKTIME: u32 = 8200; pub const SPI_SETMOUSECLICKLOCKTIME: u32 = 8201; pub const SPI_GETFONTSMOOTHINGTYPE: u32 = 8202; pub const SPI_SETFONTSMOOTHINGTYPE: u32 = 8203; pub const FE_FONTSMOOTHINGSTANDARD: u32 = 1; pub const FE_FONTSMOOTHINGCLEARTYPE: u32 = 2; pub const SPI_GETFONTSMOOTHINGCONTRAST: u32 = 8204; pub const SPI_SETFONTSMOOTHINGCONTRAST: u32 = 8205; pub const SPI_GETFOCUSBORDERWIDTH: u32 = 8206; pub const SPI_SETFOCUSBORDERWIDTH: u32 = 8207; pub const SPI_GETFOCUSBORDERHEIGHT: u32 = 8208; pub const SPI_SETFOCUSBORDERHEIGHT: u32 = 8209; pub const SPI_GETFONTSMOOTHINGORIENTATION: u32 = 8210; pub const SPI_SETFONTSMOOTHINGORIENTATION: u32 = 8211; pub const FE_FONTSMOOTHINGORIENTATIONBGR: u32 = 0; pub const FE_FONTSMOOTHINGORIENTATIONRGB: u32 = 1; pub const SPI_GETMINIMUMHITRADIUS: u32 = 8212; pub const SPI_SETMINIMUMHITRADIUS: u32 = 8213; pub const SPI_GETMESSAGEDURATION: u32 = 8214; pub const SPI_SETMESSAGEDURATION: u32 = 8215; pub const SPI_GETCONTACTVISUALIZATION: u32 = 8216; pub const SPI_SETCONTACTVISUALIZATION: u32 = 8217; pub const CONTACTVISUALIZATION_OFF: u32 = 0; pub const CONTACTVISUALIZATION_ON: u32 = 1; pub const CONTACTVISUALIZATION_PRESENTATIONMODE: u32 = 2; pub const SPI_GETGESTUREVISUALIZATION: u32 = 8218; pub const SPI_SETGESTUREVISUALIZATION: u32 = 8219; pub const GESTUREVISUALIZATION_OFF: u32 = 0; pub const GESTUREVISUALIZATION_ON: u32 = 31; pub const GESTUREVISUALIZATION_TAP: u32 = 1; pub const GESTUREVISUALIZATION_DOUBLETAP: u32 = 2; pub const GESTUREVISUALIZATION_PRESSANDTAP: u32 = 4; pub const GESTUREVISUALIZATION_PRESSANDHOLD: u32 = 8; pub const GESTUREVISUALIZATION_RIGHTTAP: u32 = 16; pub const SPI_GETMOUSEWHEELROUTING: u32 = 8220; pub const SPI_SETMOUSEWHEELROUTING: u32 = 8221; pub const MOUSEWHEEL_ROUTING_FOCUS: u32 = 0; pub const MOUSEWHEEL_ROUTING_HYBRID: u32 = 1; pub const MOUSEWHEEL_ROUTING_MOUSE_POS: u32 = 2; pub const SPI_GETPENVISUALIZATION: u32 = 8222; pub const SPI_SETPENVISUALIZATION: u32 = 8223; pub const PENVISUALIZATION_ON: u32 = 35; pub const PENVISUALIZATION_OFF: u32 = 0; pub const PENVISUALIZATION_TAP: u32 = 1; pub const PENVISUALIZATION_DOUBLETAP: u32 = 2; pub const PENVISUALIZATION_CURSOR: u32 = 32; pub const SPI_GETPENARBITRATIONTYPE: u32 = 8224; pub const SPI_SETPENARBITRATIONTYPE: u32 = 8225; pub const PENARBITRATIONTYPE_NONE: u32 = 0; pub const PENARBITRATIONTYPE_WIN8: u32 = 1; pub const PENARBITRATIONTYPE_FIS: u32 = 2; pub const PENARBITRATIONTYPE_SPT: u32 = 3; pub const PENARBITRATIONTYPE_MAX: u32 = 4; pub const SPI_GETCARETTIMEOUT: u32 = 8226; pub const SPI_SETCARETTIMEOUT: u32 = 8227; pub const SPI_GETHANDEDNESS: u32 = 8228; pub const SPI_SETHANDEDNESS: u32 = 8229; pub const SPIF_UPDATEINIFILE: u32 = 1; pub const SPIF_SENDWININICHANGE: u32 = 2; pub const SPIF_SENDCHANGE: u32 = 2; pub const METRICS_USEDEFAULT: i32 = -1; pub const ARW_BOTTOMLEFT: u32 = 0; pub const ARW_BOTTOMRIGHT: u32 = 1; pub const ARW_TOPLEFT: u32 = 2; pub const ARW_TOPRIGHT: u32 = 3; pub const ARW_STARTMASK: u32 = 3; pub const ARW_STARTRIGHT: u32 = 1; pub const ARW_STARTTOP: u32 = 2; pub const ARW_LEFT: u32 = 0; pub const ARW_RIGHT: u32 = 0; pub const ARW_UP: u32 = 4; pub const ARW_DOWN: u32 = 4; pub const ARW_HIDE: u32 = 8; pub const SERKF_SERIALKEYSON: u32 = 1; pub const SERKF_AVAILABLE: u32 = 2; pub const SERKF_INDICATOR: u32 = 4; pub const HCF_HIGHCONTRASTON: u32 = 1; pub const HCF_AVAILABLE: u32 = 2; pub const HCF_HOTKEYACTIVE: u32 = 4; pub const HCF_CONFIRMHOTKEY: u32 = 8; pub const HCF_HOTKEYSOUND: u32 = 16; pub const HCF_INDICATOR: u32 = 32; pub const HCF_HOTKEYAVAILABLE: u32 = 64; pub const HCF_LOGONDESKTOP: u32 = 256; pub const HCF_DEFAULTDESKTOP: u32 = 512; pub const CDS_UPDATEREGISTRY: u32 = 1; pub const CDS_TEST: u32 = 2; pub const CDS_FULLSCREEN: u32 = 4; pub const CDS_GLOBAL: u32 = 8; pub const CDS_SET_PRIMARY: u32 = 16; pub const CDS_VIDEOPARAMETERS: u32 = 32; pub const CDS_ENABLE_UNSAFE_MODES: u32 = 256; pub const CDS_DISABLE_UNSAFE_MODES: u32 = 512; pub const CDS_RESET: u32 = 1073741824; pub const CDS_RESET_EX: u32 = 536870912; pub const CDS_NORESET: u32 = 268435456; pub const VP_COMMAND_GET: u32 = 1; pub const VP_COMMAND_SET: u32 = 2; pub const VP_FLAGS_TV_MODE: u32 = 1; pub const VP_FLAGS_TV_STANDARD: u32 = 2; pub const VP_FLAGS_FLICKER: u32 = 4; pub const VP_FLAGS_OVERSCAN: u32 = 8; pub const VP_FLAGS_MAX_UNSCALED: u32 = 16; pub const VP_FLAGS_POSITION: u32 = 32; pub const VP_FLAGS_BRIGHTNESS: u32 = 64; pub const VP_FLAGS_CONTRAST: u32 = 128; pub const VP_FLAGS_COPYPROTECT: u32 = 256; pub const VP_MODE_WIN_GRAPHICS: u32 = 1; pub const VP_MODE_TV_PLAYBACK: u32 = 2; pub const VP_TV_STANDARD_NTSC_M: u32 = 1; pub const VP_TV_STANDARD_NTSC_M_J: u32 = 2; pub const VP_TV_STANDARD_PAL_B: u32 = 4; pub const VP_TV_STANDARD_PAL_D: u32 = 8; pub const VP_TV_STANDARD_PAL_H: u32 = 16; pub const VP_TV_STANDARD_PAL_I: u32 = 32; pub const VP_TV_STANDARD_PAL_M: u32 = 64; pub const VP_TV_STANDARD_PAL_N: u32 = 128; pub const VP_TV_STANDARD_SECAM_B: u32 = 256; pub const VP_TV_STANDARD_SECAM_D: u32 = 512; pub const VP_TV_STANDARD_SECAM_G: u32 = 1024; pub const VP_TV_STANDARD_SECAM_H: u32 = 2048; pub const VP_TV_STANDARD_SECAM_K: u32 = 4096; pub const VP_TV_STANDARD_SECAM_K1: u32 = 8192; pub const VP_TV_STANDARD_SECAM_L: u32 = 16384; pub const VP_TV_STANDARD_WIN_VGA: u32 = 32768; pub const VP_TV_STANDARD_NTSC_433: u32 = 65536; pub const VP_TV_STANDARD_PAL_G: u32 = 131072; pub const VP_TV_STANDARD_PAL_60: u32 = 262144; pub const VP_TV_STANDARD_SECAM_L1: u32 = 524288; pub const VP_CP_TYPE_APS_TRIGGER: u32 = 1; pub const VP_CP_TYPE_MACROVISION: u32 = 2; pub const VP_CP_CMD_ACTIVATE: u32 = 1; pub const VP_CP_CMD_DEACTIVATE: u32 = 2; pub const VP_CP_CMD_CHANGE: u32 = 4; pub const DISP_CHANGE_SUCCESSFUL: u32 = 0; pub const DISP_CHANGE_RESTART: u32 = 1; pub const DISP_CHANGE_FAILED: i32 = -1; pub const DISP_CHANGE_BADMODE: i32 = -2; pub const DISP_CHANGE_NOTUPDATED: i32 = -3; pub const DISP_CHANGE_BADFLAGS: i32 = -4; pub const DISP_CHANGE_BADPARAM: i32 = -5; pub const DISP_CHANGE_BADDUALVIEW: i32 = -6; pub const EDS_RAWMODE: u32 = 2; pub const EDS_ROTATEDMODE: u32 = 4; pub const EDD_GET_DEVICE_INTERFACE_NAME: u32 = 1; pub const FKF_FILTERKEYSON: u32 = 1; pub const FKF_AVAILABLE: u32 = 2; pub const FKF_HOTKEYACTIVE: u32 = 4; pub const FKF_CONFIRMHOTKEY: u32 = 8; pub const FKF_HOTKEYSOUND: u32 = 16; pub const FKF_INDICATOR: u32 = 32; pub const FKF_CLICKON: u32 = 64; pub const SKF_STICKYKEYSON: u32 = 1; pub const SKF_AVAILABLE: u32 = 2; pub const SKF_HOTKEYACTIVE: u32 = 4; pub const SKF_CONFIRMHOTKEY: u32 = 8; pub const SKF_HOTKEYSOUND: u32 = 16; pub const SKF_INDICATOR: u32 = 32; pub const SKF_AUDIBLEFEEDBACK: u32 = 64; pub const SKF_TRISTATE: u32 = 128; pub const SKF_TWOKEYSOFF: u32 = 256; pub const SKF_LALTLATCHED: u32 = 268435456; pub const SKF_LCTLLATCHED: u32 = 67108864; pub const SKF_LSHIFTLATCHED: u32 = 16777216; pub const SKF_RALTLATCHED: u32 = 536870912; pub const SKF_RCTLLATCHED: u32 = 134217728; pub const SKF_RSHIFTLATCHED: u32 = 33554432; pub const SKF_LWINLATCHED: u32 = 1073741824; pub const SKF_RWINLATCHED: u32 = 2147483648; pub const SKF_LALTLOCKED: u32 = 1048576; pub const SKF_LCTLLOCKED: u32 = 262144; pub const SKF_LSHIFTLOCKED: u32 = 65536; pub const SKF_RALTLOCKED: u32 = 2097152; pub const SKF_RCTLLOCKED: u32 = 524288; pub const SKF_RSHIFTLOCKED: u32 = 131072; pub const SKF_LWINLOCKED: u32 = 4194304; pub const SKF_RWINLOCKED: u32 = 8388608; pub const MKF_MOUSEKEYSON: u32 = 1; pub const MKF_AVAILABLE: u32 = 2; pub const MKF_HOTKEYACTIVE: u32 = 4; pub const MKF_CONFIRMHOTKEY: u32 = 8; pub const MKF_HOTKEYSOUND: u32 = 16; pub const MKF_INDICATOR: u32 = 32; pub const MKF_MODIFIERS: u32 = 64; pub const MKF_REPLACENUMBERS: u32 = 128; pub const MKF_LEFTBUTTONSEL: u32 = 268435456; pub const MKF_RIGHTBUTTONSEL: u32 = 536870912; pub const MKF_LEFTBUTTONDOWN: u32 = 16777216; pub const MKF_RIGHTBUTTONDOWN: u32 = 33554432; pub const MKF_MOUSEMODE: u32 = 2147483648; pub const ATF_TIMEOUTON: u32 = 1; pub const ATF_ONOFFFEEDBACK: u32 = 2; pub const SSGF_NONE: u32 = 0; pub const SSGF_DISPLAY: u32 = 3; pub const SSTF_NONE: u32 = 0; pub const SSTF_CHARS: u32 = 1; pub const SSTF_BORDER: u32 = 2; pub const SSTF_DISPLAY: u32 = 3; pub const SSWF_NONE: u32 = 0; pub const SSWF_TITLE: u32 = 1; pub const SSWF_WINDOW: u32 = 2; pub const SSWF_DISPLAY: u32 = 3; pub const SSWF_CUSTOM: u32 = 4; pub const SSF_SOUNDSENTRYON: u32 = 1; pub const SSF_AVAILABLE: u32 = 2; pub const SSF_INDICATOR: u32 = 4; pub const TKF_TOGGLEKEYSON: u32 = 1; pub const TKF_AVAILABLE: u32 = 2; pub const TKF_HOTKEYACTIVE: u32 = 4; pub const TKF_CONFIRMHOTKEY: u32 = 8; pub const TKF_HOTKEYSOUND: u32 = 16; pub const TKF_INDICATOR: u32 = 32; pub const SLE_ERROR: u32 = 1; pub const SLE_MINORERROR: u32 = 2; pub const SLE_WARNING: u32 = 3; pub const MONITOR_DEFAULTTONULL: u32 = 0; pub const MONITOR_DEFAULTTOPRIMARY: u32 = 1; pub const MONITOR_DEFAULTTONEAREST: u32 = 2; pub const MONITORINFOF_PRIMARY: u32 = 1; pub const WINEVENT_OUTOFCONTEXT: u32 = 0; pub const WINEVENT_SKIPOWNTHREAD: u32 = 1; pub const WINEVENT_SKIPOWNPROCESS: u32 = 2; pub const WINEVENT_INCONTEXT: u32 = 4; pub const CHILDID_SELF: u32 = 0; pub const INDEXID_OBJECT: u32 = 0; pub const INDEXID_CONTAINER: u32 = 0; pub const EVENT_MIN: u32 = 1; pub const EVENT_MAX: u32 = 2147483647; pub const EVENT_SYSTEM_SOUND: u32 = 1; pub const EVENT_SYSTEM_ALERT: u32 = 2; pub const EVENT_SYSTEM_FOREGROUND: u32 = 3; pub const EVENT_SYSTEM_MENUSTART: u32 = 4; pub const EVENT_SYSTEM_MENUEND: u32 = 5; pub const EVENT_SYSTEM_MENUPOPUPSTART: u32 = 6; pub const EVENT_SYSTEM_MENUPOPUPEND: u32 = 7; pub const EVENT_SYSTEM_CAPTURESTART: u32 = 8; pub const EVENT_SYSTEM_CAPTUREEND: u32 = 9; pub const EVENT_SYSTEM_MOVESIZESTART: u32 = 10; pub const EVENT_SYSTEM_MOVESIZEEND: u32 = 11; pub const EVENT_SYSTEM_CONTEXTHELPSTART: u32 = 12; pub const EVENT_SYSTEM_CONTEXTHELPEND: u32 = 13; pub const EVENT_SYSTEM_DRAGDROPSTART: u32 = 14; pub const EVENT_SYSTEM_DRAGDROPEND: u32 = 15; pub const EVENT_SYSTEM_DIALOGSTART: u32 = 16; pub const EVENT_SYSTEM_DIALOGEND: u32 = 17; pub const EVENT_SYSTEM_SCROLLINGSTART: u32 = 18; pub const EVENT_SYSTEM_SCROLLINGEND: u32 = 19; pub const EVENT_SYSTEM_SWITCHSTART: u32 = 20; pub const EVENT_SYSTEM_SWITCHEND: u32 = 21; pub const EVENT_SYSTEM_MINIMIZESTART: u32 = 22; pub const EVENT_SYSTEM_MINIMIZEEND: u32 = 23; pub const EVENT_SYSTEM_DESKTOPSWITCH: u32 = 32; pub const EVENT_SYSTEM_SWITCHER_APPGRABBED: u32 = 36; pub const EVENT_SYSTEM_SWITCHER_APPOVERTARGET: u32 = 37; pub const EVENT_SYSTEM_SWITCHER_APPDROPPED: u32 = 38; pub const EVENT_SYSTEM_SWITCHER_CANCELLED: u32 = 39; pub const EVENT_SYSTEM_IME_KEY_NOTIFICATION: u32 = 41; pub const EVENT_SYSTEM_END: u32 = 255; pub const EVENT_OEM_DEFINED_START: u32 = 257; pub const EVENT_OEM_DEFINED_END: u32 = 511; pub const EVENT_UIA_EVENTID_START: u32 = 19968; pub const EVENT_UIA_EVENTID_END: u32 = 20223; pub const EVENT_UIA_PROPID_START: u32 = 29952; pub const EVENT_UIA_PROPID_END: u32 = 30207; pub const EVENT_CONSOLE_CARET: u32 = 16385; pub const EVENT_CONSOLE_UPDATE_REGION: u32 = 16386; pub const EVENT_CONSOLE_UPDATE_SIMPLE: u32 = 16387; pub const EVENT_CONSOLE_UPDATE_SCROLL: u32 = 16388; pub const EVENT_CONSOLE_LAYOUT: u32 = 16389; pub const EVENT_CONSOLE_START_APPLICATION: u32 = 16390; pub const EVENT_CONSOLE_END_APPLICATION: u32 = 16391; pub const CONSOLE_APPLICATION_16BIT: u32 = 0; pub const CONSOLE_CARET_SELECTION: u32 = 1; pub const CONSOLE_CARET_VISIBLE: u32 = 2; pub const EVENT_CONSOLE_END: u32 = 16639; pub const EVENT_OBJECT_CREATE: u32 = 32768; pub const EVENT_OBJECT_DESTROY: u32 = 32769; pub const EVENT_OBJECT_SHOW: u32 = 32770; pub const EVENT_OBJECT_HIDE: u32 = 32771; pub const EVENT_OBJECT_REORDER: u32 = 32772; pub const EVENT_OBJECT_FOCUS: u32 = 32773; pub const EVENT_OBJECT_SELECTION: u32 = 32774; pub const EVENT_OBJECT_SELECTIONADD: u32 = 32775; pub const EVENT_OBJECT_SELECTIONREMOVE: u32 = 32776; pub const EVENT_OBJECT_SELECTIONWITHIN: u32 = 32777; pub const EVENT_OBJECT_STATECHANGE: u32 = 32778; pub const EVENT_OBJECT_LOCATIONCHANGE: u32 = 32779; pub const EVENT_OBJECT_NAMECHANGE: u32 = 32780; pub const EVENT_OBJECT_DESCRIPTIONCHANGE: u32 = 32781; pub const EVENT_OBJECT_VALUECHANGE: u32 = 32782; pub const EVENT_OBJECT_PARENTCHANGE: u32 = 32783; pub const EVENT_OBJECT_HELPCHANGE: u32 = 32784; pub const EVENT_OBJECT_DEFACTIONCHANGE: u32 = 32785; pub const EVENT_OBJECT_ACCELERATORCHANGE: u32 = 32786; pub const EVENT_OBJECT_INVOKED: u32 = 32787; pub const EVENT_OBJECT_TEXTSELECTIONCHANGED: u32 = 32788; pub const EVENT_OBJECT_CONTENTSCROLLED: u32 = 32789; pub const EVENT_SYSTEM_ARRANGMENTPREVIEW: u32 = 32790; pub const EVENT_OBJECT_CLOAKED: u32 = 32791; pub const EVENT_OBJECT_UNCLOAKED: u32 = 32792; pub const EVENT_OBJECT_LIVEREGIONCHANGED: u32 = 32793; pub const EVENT_OBJECT_HOSTEDOBJECTSINVALIDATED: u32 = 32800; pub const EVENT_OBJECT_DRAGSTART: u32 = 32801; pub const EVENT_OBJECT_DRAGCANCEL: u32 = 32802; pub const EVENT_OBJECT_DRAGCOMPLETE: u32 = 32803; pub const EVENT_OBJECT_DRAGENTER: u32 = 32804; pub const EVENT_OBJECT_DRAGLEAVE: u32 = 32805; pub const EVENT_OBJECT_DRAGDROPPED: u32 = 32806; pub const EVENT_OBJECT_IME_SHOW: u32 = 32807; pub const EVENT_OBJECT_IME_HIDE: u32 = 32808; pub const EVENT_OBJECT_IME_CHANGE: u32 = 32809; pub const EVENT_OBJECT_TEXTEDIT_CONVERSIONTARGETCHANGED: u32 = 32816; pub const EVENT_OBJECT_END: u32 = 33023; pub const EVENT_AIA_START: u32 = 40960; pub const EVENT_AIA_END: u32 = 45055; pub const SOUND_SYSTEM_STARTUP: u32 = 1; pub const SOUND_SYSTEM_SHUTDOWN: u32 = 2; pub const SOUND_SYSTEM_BEEP: u32 = 3; pub const SOUND_SYSTEM_ERROR: u32 = 4; pub const SOUND_SYSTEM_QUESTION: u32 = 5; pub const SOUND_SYSTEM_WARNING: u32 = 6; pub const SOUND_SYSTEM_INFORMATION: u32 = 7; pub const SOUND_SYSTEM_MAXIMIZE: u32 = 8; pub const SOUND_SYSTEM_MINIMIZE: u32 = 9; pub const SOUND_SYSTEM_RESTOREUP: u32 = 10; pub const SOUND_SYSTEM_RESTOREDOWN: u32 = 11; pub const SOUND_SYSTEM_APPSTART: u32 = 12; pub const SOUND_SYSTEM_FAULT: u32 = 13; pub const SOUND_SYSTEM_APPEND: u32 = 14; pub const SOUND_SYSTEM_MENUCOMMAND: u32 = 15; pub const SOUND_SYSTEM_MENUPOPUP: u32 = 16; pub const CSOUND_SYSTEM: u32 = 16; pub const ALERT_SYSTEM_INFORMATIONAL: u32 = 1; pub const ALERT_SYSTEM_WARNING: u32 = 2; pub const ALERT_SYSTEM_ERROR: u32 = 3; pub const ALERT_SYSTEM_QUERY: u32 = 4; pub const ALERT_SYSTEM_CRITICAL: u32 = 5; pub const CALERT_SYSTEM: u32 = 6; pub const GUI_CARETBLINKING: u32 = 1; pub const GUI_INMOVESIZE: u32 = 2; pub const GUI_INMENUMODE: u32 = 4; pub const GUI_SYSTEMMENUMODE: u32 = 8; pub const GUI_POPUPMENUMODE: u32 = 16; pub const GUI_16BITTASK: u32 = 0; pub const USER_DEFAULT_SCREEN_DPI: u32 = 96; pub const STATE_SYSTEM_UNAVAILABLE: u32 = 1; pub const STATE_SYSTEM_SELECTED: u32 = 2; pub const STATE_SYSTEM_FOCUSED: u32 = 4; pub const STATE_SYSTEM_PRESSED: u32 = 8; pub const STATE_SYSTEM_CHECKED: u32 = 16; pub const STATE_SYSTEM_MIXED: u32 = 32; pub const STATE_SYSTEM_INDETERMINATE: u32 = 32; pub const STATE_SYSTEM_READONLY: u32 = 64; pub const STATE_SYSTEM_HOTTRACKED: u32 = 128; pub const STATE_SYSTEM_DEFAULT: u32 = 256; pub const STATE_SYSTEM_EXPANDED: u32 = 512; pub const STATE_SYSTEM_COLLAPSED: u32 = 1024; pub const STATE_SYSTEM_BUSY: u32 = 2048; pub const STATE_SYSTEM_FLOATING: u32 = 4096; pub const STATE_SYSTEM_MARQUEED: u32 = 8192; pub const STATE_SYSTEM_ANIMATED: u32 = 16384; pub const STATE_SYSTEM_INVISIBLE: u32 = 32768; pub const STATE_SYSTEM_OFFSCREEN: u32 = 65536; pub const STATE_SYSTEM_SIZEABLE: u32 = 131072; pub const STATE_SYSTEM_MOVEABLE: u32 = 262144; pub const STATE_SYSTEM_SELFVOICING: u32 = 524288; pub const STATE_SYSTEM_FOCUSABLE: u32 = 1048576; pub const STATE_SYSTEM_SELECTABLE: u32 = 2097152; pub const STATE_SYSTEM_LINKED: u32 = 4194304; pub const STATE_SYSTEM_TRAVERSED: u32 = 8388608; pub const STATE_SYSTEM_MULTISELECTABLE: u32 = 16777216; pub const STATE_SYSTEM_EXTSELECTABLE: u32 = 33554432; pub const STATE_SYSTEM_ALERT_LOW: u32 = 67108864; pub const STATE_SYSTEM_ALERT_MEDIUM: u32 = 134217728; pub const STATE_SYSTEM_ALERT_HIGH: u32 = 268435456; pub const STATE_SYSTEM_PROTECTED: u32 = 536870912; pub const STATE_SYSTEM_VALID: u32 = 1073741823; pub const CCHILDREN_TITLEBAR: u32 = 5; pub const CCHILDREN_SCROLLBAR: u32 = 5; pub const CURSOR_SHOWING: u32 = 1; pub const CURSOR_SUPPRESSED: u32 = 2; pub const WS_ACTIVECAPTION: u32 = 1; pub const GA_PARENT: u32 = 1; pub const GA_ROOT: u32 = 2; pub const GA_ROOTOWNER: u32 = 3; pub const RIM_INPUT: u32 = 0; pub const RIM_INPUTSINK: u32 = 1; pub const RIM_TYPEMOUSE: u32 = 0; pub const RIM_TYPEKEYBOARD: u32 = 1; pub const RIM_TYPEHID: u32 = 2; pub const RIM_TYPEMAX: u32 = 2; pub const RI_MOUSE_LEFT_BUTTON_DOWN: u32 = 1; pub const RI_MOUSE_LEFT_BUTTON_UP: u32 = 2; pub const RI_MOUSE_RIGHT_BUTTON_DOWN: u32 = 4; pub const RI_MOUSE_RIGHT_BUTTON_UP: u32 = 8; pub const RI_MOUSE_MIDDLE_BUTTON_DOWN: u32 = 16; pub const RI_MOUSE_MIDDLE_BUTTON_UP: u32 = 32; pub const RI_MOUSE_BUTTON_1_DOWN: u32 = 1; pub const RI_MOUSE_BUTTON_1_UP: u32 = 2; pub const RI_MOUSE_BUTTON_2_DOWN: u32 = 4; pub const RI_MOUSE_BUTTON_2_UP: u32 = 8; pub const RI_MOUSE_BUTTON_3_DOWN: u32 = 16; pub const RI_MOUSE_BUTTON_3_UP: u32 = 32; pub const RI_MOUSE_BUTTON_4_DOWN: u32 = 64; pub const RI_MOUSE_BUTTON_4_UP: u32 = 128; pub const RI_MOUSE_BUTTON_5_DOWN: u32 = 256; pub const RI_MOUSE_BUTTON_5_UP: u32 = 512; pub const RI_MOUSE_WHEEL: u32 = 1024; pub const RI_MOUSE_HWHEEL: u32 = 2048; pub const MOUSE_MOVE_RELATIVE: u32 = 0; pub const MOUSE_MOVE_ABSOLUTE: u32 = 1; pub const MOUSE_VIRTUAL_DESKTOP: u32 = 2; pub const MOUSE_ATTRIBUTES_CHANGED: u32 = 4; pub const MOUSE_MOVE_NOCOALESCE: u32 = 8; pub const KEYBOARD_OVERRUN_MAKE_CODE: u32 = 255; pub const RI_KEY_MAKE: u32 = 0; pub const RI_KEY_BREAK: u32 = 1; pub const RI_KEY_E0: u32 = 2; pub const RI_KEY_E1: u32 = 4; pub const RI_KEY_TERMSRV_SET_LED: u32 = 8; pub const RI_KEY_TERMSRV_SHADOW: u32 = 16; pub const RID_INPUT: u32 = 268435459; pub const RID_HEADER: u32 = 268435461; pub const RIDI_PREPARSEDDATA: u32 = 536870917; pub const RIDI_DEVICENAME: u32 = 536870919; pub const RIDI_DEVICEINFO: u32 = 536870923; pub const RIDEV_REMOVE: u32 = 1; pub const RIDEV_EXCLUDE: u32 = 16; pub const RIDEV_PAGEONLY: u32 = 32; pub const RIDEV_NOLEGACY: u32 = 48; pub const RIDEV_INPUTSINK: u32 = 256; pub const RIDEV_CAPTUREMOUSE: u32 = 512; pub const RIDEV_NOHOTKEYS: u32 = 512; pub const RIDEV_APPKEYS: u32 = 1024; pub const RIDEV_EXINPUTSINK: u32 = 4096; pub const RIDEV_DEVNOTIFY: u32 = 8192; pub const RIDEV_EXMODEMASK: u32 = 240; pub const GIDC_ARRIVAL: u32 = 1; pub const GIDC_REMOVAL: u32 = 2; pub const POINTER_DEVICE_PRODUCT_STRING_MAX: u32 = 520; pub const PDC_ARRIVAL: u32 = 1; pub const PDC_REMOVAL: u32 = 2; pub const PDC_ORIENTATION_0: u32 = 4; pub const PDC_ORIENTATION_90: u32 = 8; pub const PDC_ORIENTATION_180: u32 = 16; pub const PDC_ORIENTATION_270: u32 = 32; pub const PDC_MODE_DEFAULT: u32 = 64; pub const PDC_MODE_CENTERED: u32 = 128; pub const PDC_MAPPING_CHANGE: u32 = 256; pub const PDC_RESOLUTION: u32 = 512; pub const PDC_ORIGIN: u32 = 1024; pub const PDC_MODE_ASPECTRATIOPRESERVED: u32 = 2048; pub const MSGFLT_ADD: u32 = 1; pub const MSGFLT_REMOVE: u32 = 2; pub const MSGFLTINFO_NONE: u32 = 0; pub const MSGFLTINFO_ALREADYALLOWED_FORWND: u32 = 1; pub const MSGFLTINFO_ALREADYDISALLOWED_FORWND: u32 = 2; pub const MSGFLTINFO_ALLOWED_HIGHER: u32 = 3; pub const MSGFLT_RESET: u32 = 0; pub const MSGFLT_ALLOW: u32 = 1; pub const MSGFLT_DISALLOW: u32 = 2; pub const GF_BEGIN: u32 = 1; pub const GF_INERTIA: u32 = 2; pub const GF_END: u32 = 4; pub const GID_BEGIN: u32 = 1; pub const GID_END: u32 = 2; pub const GID_ZOOM: u32 = 3; pub const GID_PAN: u32 = 4; pub const GID_ROTATE: u32 = 5; pub const GID_TWOFINGERTAP: u32 = 6; pub const GID_PRESSANDTAP: u32 = 7; pub const GID_ROLLOVER: u32 = 7; pub const GC_ALLGESTURES: u32 = 1; pub const GC_ZOOM: u32 = 1; pub const GC_PAN: u32 = 1; pub const GC_PAN_WITH_SINGLE_FINGER_VERTICALLY: u32 = 2; pub const GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY: u32 = 4; pub const GC_PAN_WITH_GUTTER: u32 = 8; pub const GC_PAN_WITH_INERTIA: u32 = 16; pub const GC_ROTATE: u32 = 1; pub const GC_TWOFINGERTAP: u32 = 1; pub const GC_PRESSANDTAP: u32 = 1; pub const GC_ROLLOVER: u32 = 1; pub const GESTURECONFIGMAXCOUNT: u32 = 256; pub const GCF_INCLUDE_ANCESTORS: u32 = 1; pub const NID_INTEGRATED_TOUCH: u32 = 1; pub const NID_EXTERNAL_TOUCH: u32 = 2; pub const NID_INTEGRATED_PEN: u32 = 4; pub const NID_EXTERNAL_PEN: u32 = 8; pub const NID_MULTI_INPUT: u32 = 64; pub const NID_READY: u32 = 128; pub const MAX_STR_BLOCKREASON: u32 = 256; pub const MAX_LEADBYTES: u32 = 12; pub const MAX_DEFAULTCHAR: u32 = 2; pub const HIGH_SURROGATE_START: u32 = 55296; pub const HIGH_SURROGATE_END: u32 = 56319; pub const LOW_SURROGATE_START: u32 = 56320; pub const LOW_SURROGATE_END: u32 = 57343; pub const MB_PRECOMPOSED: u32 = 1; pub const MB_COMPOSITE: u32 = 2; pub const MB_USEGLYPHCHARS: u32 = 4; pub const MB_ERR_INVALID_CHARS: u32 = 8; pub const WC_COMPOSITECHECK: u32 = 512; pub const WC_DISCARDNS: u32 = 16; pub const WC_SEPCHARS: u32 = 32; pub const WC_DEFAULTCHAR: u32 = 64; pub const WC_ERR_INVALID_CHARS: u32 = 128; pub const WC_NO_BEST_FIT_CHARS: u32 = 1024; pub const CT_CTYPE1: u32 = 1; pub const CT_CTYPE2: u32 = 2; pub const CT_CTYPE3: u32 = 4; pub const C1_UPPER: u32 = 1; pub const C1_LOWER: u32 = 2; pub const C1_DIGIT: u32 = 4; pub const C1_SPACE: u32 = 8; pub const C1_PUNCT: u32 = 16; pub const C1_CNTRL: u32 = 32; pub const C1_BLANK: u32 = 64; pub const C1_XDIGIT: u32 = 128; pub const C1_ALPHA: u32 = 256; pub const C1_DEFINED: u32 = 512; pub const C2_LEFTTORIGHT: u32 = 1; pub const C2_RIGHTTOLEFT: u32 = 2; pub const C2_EUROPENUMBER: u32 = 3; pub const C2_EUROPESEPARATOR: u32 = 4; pub const C2_EUROPETERMINATOR: u32 = 5; pub const C2_ARABICNUMBER: u32 = 6; pub const C2_COMMONSEPARATOR: u32 = 7; pub const C2_BLOCKSEPARATOR: u32 = 8; pub const C2_SEGMENTSEPARATOR: u32 = 9; pub const C2_WHITESPACE: u32 = 10; pub const C2_OTHERNEUTRAL: u32 = 11; pub const C2_NOTAPPLICABLE: u32 = 0; pub const C3_NONSPACING: u32 = 1; pub const C3_DIACRITIC: u32 = 2; pub const C3_VOWELMARK: u32 = 4; pub const C3_SYMBOL: u32 = 8; pub const C3_KATAKANA: u32 = 16; pub const C3_HIRAGANA: u32 = 32; pub const C3_HALFWIDTH: u32 = 64; pub const C3_FULLWIDTH: u32 = 128; pub const C3_IDEOGRAPH: u32 = 256; pub const C3_KASHIDA: u32 = 512; pub const C3_LEXICAL: u32 = 1024; pub const C3_HIGHSURROGATE: u32 = 2048; pub const C3_LOWSURROGATE: u32 = 4096; pub const C3_ALPHA: u32 = 32768; pub const C3_NOTAPPLICABLE: u32 = 0; pub const NORM_IGNORECASE: u32 = 1; pub const NORM_IGNORENONSPACE: u32 = 2; pub const NORM_IGNORESYMBOLS: u32 = 4; pub const LINGUISTIC_IGNORECASE: u32 = 16; pub const LINGUISTIC_IGNOREDIACRITIC: u32 = 32; pub const NORM_IGNOREKANATYPE: u32 = 65536; pub const NORM_IGNOREWIDTH: u32 = 131072; pub const NORM_LINGUISTIC_CASING: u32 = 134217728; pub const MAP_FOLDCZONE: u32 = 16; pub const MAP_PRECOMPOSED: u32 = 32; pub const MAP_COMPOSITE: u32 = 64; pub const MAP_FOLDDIGITS: u32 = 128; pub const MAP_EXPAND_LIGATURES: u32 = 8192; pub const LCMAP_LOWERCASE: u32 = 256; pub const LCMAP_UPPERCASE: u32 = 512; pub const LCMAP_TITLECASE: u32 = 768; pub const LCMAP_SORTKEY: u32 = 1024; pub const LCMAP_BYTEREV: u32 = 2048; pub const LCMAP_HIRAGANA: u32 = 1048576; pub const LCMAP_KATAKANA: u32 = 2097152; pub const LCMAP_HALFWIDTH: u32 = 4194304; pub const LCMAP_FULLWIDTH: u32 = 8388608; pub const LCMAP_LINGUISTIC_CASING: u32 = 16777216; pub const LCMAP_SIMPLIFIED_CHINESE: u32 = 33554432; pub const LCMAP_TRADITIONAL_CHINESE: u32 = 67108864; pub const LCMAP_SORTHANDLE: u32 = 536870912; pub const LCMAP_HASH: u32 = 262144; pub const FIND_STARTSWITH: u32 = 1048576; pub const FIND_ENDSWITH: u32 = 2097152; pub const FIND_FROMSTART: u32 = 4194304; pub const FIND_FROMEND: u32 = 8388608; pub const LGRPID_INSTALLED: u32 = 1; pub const LGRPID_SUPPORTED: u32 = 2; pub const LCID_INSTALLED: u32 = 1; pub const LCID_SUPPORTED: u32 = 2; pub const LCID_ALTERNATE_SORTS: u32 = 4; pub const LOCALE_ALL: u32 = 0; pub const LOCALE_WINDOWS: u32 = 1; pub const LOCALE_SUPPLEMENTAL: u32 = 2; pub const LOCALE_ALTERNATE_SORTS: u32 = 4; pub const LOCALE_REPLACEMENT: u32 = 8; pub const LOCALE_NEUTRALDATA: u32 = 16; pub const LOCALE_SPECIFICDATA: u32 = 32; pub const CP_INSTALLED: u32 = 1; pub const CP_SUPPORTED: u32 = 2; pub const SORT_STRINGSORT: u32 = 4096; pub const SORT_DIGITSASNUMBERS: u32 = 8; pub const CSTR_LESS_THAN: u32 = 1; pub const CSTR_EQUAL: u32 = 2; pub const CSTR_GREATER_THAN: u32 = 3; pub const CP_ACP: u32 = 0; pub const CP_OEMCP: u32 = 1; pub const CP_MACCP: u32 = 2; pub const CP_THREAD_ACP: u32 = 3; pub const CP_SYMBOL: u32 = 42; pub const CP_UTF7: u32 = 65000; pub const CP_UTF8: u32 = 65001; pub const CTRY_DEFAULT: u32 = 0; pub const CTRY_ALBANIA: u32 = 355; pub const CTRY_ALGERIA: u32 = 213; pub const CTRY_ARGENTINA: u32 = 54; pub const CTRY_ARMENIA: u32 = 374; pub const CTRY_AUSTRALIA: u32 = 61; pub const CTRY_AUSTRIA: u32 = 43; pub const CTRY_AZERBAIJAN: u32 = 994; pub const CTRY_BAHRAIN: u32 = 973; pub const CTRY_BELARUS: u32 = 375; pub const CTRY_BELGIUM: u32 = 32; pub const CTRY_BELIZE: u32 = 501; pub const CTRY_BOLIVIA: u32 = 591; pub const CTRY_BRAZIL: u32 = 55; pub const CTRY_BRUNEI_DARUSSALAM: u32 = 673; pub const CTRY_BULGARIA: u32 = 359; pub const CTRY_CANADA: u32 = 2; pub const CTRY_CARIBBEAN: u32 = 1; pub const CTRY_CHILE: u32 = 56; pub const CTRY_COLOMBIA: u32 = 57; pub const CTRY_COSTA_RICA: u32 = 506; pub const CTRY_CROATIA: u32 = 385; pub const CTRY_CZECH: u32 = 420; pub const CTRY_DENMARK: u32 = 45; pub const CTRY_DOMINICAN_REPUBLIC: u32 = 1; pub const CTRY_ECUADOR: u32 = 593; pub const CTRY_EGYPT: u32 = 20; pub const CTRY_EL_SALVADOR: u32 = 503; pub const CTRY_ESTONIA: u32 = 372; pub const CTRY_FAEROE_ISLANDS: u32 = 298; pub const CTRY_FINLAND: u32 = 358; pub const CTRY_FRANCE: u32 = 33; pub const CTRY_GEORGIA: u32 = 995; pub const CTRY_GERMANY: u32 = 49; pub const CTRY_GREECE: u32 = 30; pub const CTRY_GUATEMALA: u32 = 502; pub const CTRY_HONDURAS: u32 = 504; pub const CTRY_HONG_KONG: u32 = 852; pub const CTRY_HUNGARY: u32 = 36; pub const CTRY_ICELAND: u32 = 354; pub const CTRY_INDIA: u32 = 91; pub const CTRY_INDONESIA: u32 = 62; pub const CTRY_IRAN: u32 = 981; pub const CTRY_IRAQ: u32 = 964; pub const CTRY_IRELAND: u32 = 353; pub const CTRY_ISRAEL: u32 = 972; pub const CTRY_ITALY: u32 = 39; pub const CTRY_JAMAICA: u32 = 1; pub const CTRY_JAPAN: u32 = 81; pub const CTRY_JORDAN: u32 = 962; pub const CTRY_KAZAKSTAN: u32 = 7; pub const CTRY_KENYA: u32 = 254; pub const CTRY_KUWAIT: u32 = 965; pub const CTRY_KYRGYZSTAN: u32 = 996; pub const CTRY_LATVIA: u32 = 371; pub const CTRY_LEBANON: u32 = 961; pub const CTRY_LIBYA: u32 = 218; pub const CTRY_LIECHTENSTEIN: u32 = 41; pub const CTRY_LITHUANIA: u32 = 370; pub const CTRY_LUXEMBOURG: u32 = 352; pub const CTRY_MACAU: u32 = 853; pub const CTRY_MACEDONIA: u32 = 389; pub const CTRY_MALAYSIA: u32 = 60; pub const CTRY_MALDIVES: u32 = 960; pub const CTRY_MEXICO: u32 = 52; pub const CTRY_MONACO: u32 = 33; pub const CTRY_MONGOLIA: u32 = 976; pub const CTRY_MOROCCO: u32 = 212; pub const CTRY_NETHERLANDS: u32 = 31; pub const CTRY_NEW_ZEALAND: u32 = 64; pub const CTRY_NICARAGUA: u32 = 505; pub const CTRY_NORWAY: u32 = 47; pub const CTRY_OMAN: u32 = 968; pub const CTRY_PAKISTAN: u32 = 92; pub const CTRY_PANAMA: u32 = 507; pub const CTRY_PARAGUAY: u32 = 595; pub const CTRY_PERU: u32 = 51; pub const CTRY_PHILIPPINES: u32 = 63; pub const CTRY_POLAND: u32 = 48; pub const CTRY_PORTUGAL: u32 = 351; pub const CTRY_PRCHINA: u32 = 86; pub const CTRY_PUERTO_RICO: u32 = 1; pub const CTRY_QATAR: u32 = 974; pub const CTRY_ROMANIA: u32 = 40; pub const CTRY_RUSSIA: u32 = 7; pub const CTRY_SAUDI_ARABIA: u32 = 966; pub const CTRY_SERBIA: u32 = 381; pub const CTRY_SINGAPORE: u32 = 65; pub const CTRY_SLOVAK: u32 = 421; pub const CTRY_SLOVENIA: u32 = 386; pub const CTRY_SOUTH_AFRICA: u32 = 27; pub const CTRY_SOUTH_KOREA: u32 = 82; pub const CTRY_SPAIN: u32 = 34; pub const CTRY_SWEDEN: u32 = 46; pub const CTRY_SWITZERLAND: u32 = 41; pub const CTRY_SYRIA: u32 = 963; pub const CTRY_TAIWAN: u32 = 886; pub const CTRY_TATARSTAN: u32 = 7; pub const CTRY_THAILAND: u32 = 66; pub const CTRY_TRINIDAD_Y_TOBAGO: u32 = 1; pub const CTRY_TUNISIA: u32 = 216; pub const CTRY_TURKEY: u32 = 90; pub const CTRY_UAE: u32 = 971; pub const CTRY_UKRAINE: u32 = 380; pub const CTRY_UNITED_KINGDOM: u32 = 44; pub const CTRY_UNITED_STATES: u32 = 1; pub const CTRY_URUGUAY: u32 = 598; pub const CTRY_UZBEKISTAN: u32 = 7; pub const CTRY_VENEZUELA: u32 = 58; pub const CTRY_VIET_NAM: u32 = 84; pub const CTRY_YEMEN: u32 = 967; pub const CTRY_ZIMBABWE: u32 = 263; pub const LOCALE_NOUSEROVERRIDE: u32 = 2147483648; pub const LOCALE_USE_CP_ACP: u32 = 1073741824; pub const LOCALE_RETURN_NUMBER: u32 = 536870912; pub const LOCALE_RETURN_GENITIVE_NAMES: u32 = 268435456; pub const LOCALE_ALLOW_NEUTRAL_NAMES: u32 = 134217728; pub const LOCALE_SLOCALIZEDDISPLAYNAME: u32 = 2; pub const LOCALE_SENGLISHDISPLAYNAME: u32 = 114; pub const LOCALE_SNATIVEDISPLAYNAME: u32 = 115; pub const LOCALE_SLOCALIZEDLANGUAGENAME: u32 = 111; pub const LOCALE_SENGLISHLANGUAGENAME: u32 = 4097; pub const LOCALE_SNATIVELANGUAGENAME: u32 = 4; pub const LOCALE_SLOCALIZEDCOUNTRYNAME: u32 = 6; pub const LOCALE_SENGLISHCOUNTRYNAME: u32 = 4098; pub const LOCALE_SNATIVECOUNTRYNAME: u32 = 8; pub const LOCALE_IDIALINGCODE: u32 = 5; pub const LOCALE_SLIST: u32 = 12; pub const LOCALE_IMEASURE: u32 = 13; pub const LOCALE_SDECIMAL: u32 = 14; pub const LOCALE_STHOUSAND: u32 = 15; pub const LOCALE_SGROUPING: u32 = 16; pub const LOCALE_IDIGITS: u32 = 17; pub const LOCALE_ILZERO: u32 = 18; pub const LOCALE_INEGNUMBER: u32 = 4112; pub const LOCALE_SNATIVEDIGITS: u32 = 19; pub const LOCALE_SCURRENCY: u32 = 20; pub const LOCALE_SINTLSYMBOL: u32 = 21; pub const LOCALE_SMONDECIMALSEP: u32 = 22; pub const LOCALE_SMONTHOUSANDSEP: u32 = 23; pub const LOCALE_SMONGROUPING: u32 = 24; pub const LOCALE_ICURRDIGITS: u32 = 25; pub const LOCALE_ICURRENCY: u32 = 27; pub const LOCALE_INEGCURR: u32 = 28; pub const LOCALE_SSHORTDATE: u32 = 31; pub const LOCALE_SLONGDATE: u32 = 32; pub const LOCALE_STIMEFORMAT: u32 = 4099; pub const LOCALE_SAM: u32 = 40; pub const LOCALE_SPM: u32 = 41; pub const LOCALE_ICALENDARTYPE: u32 = 4105; pub const LOCALE_IOPTIONALCALENDAR: u32 = 4107; pub const LOCALE_IFIRSTDAYOFWEEK: u32 = 4108; pub const LOCALE_IFIRSTWEEKOFYEAR: u32 = 4109; pub const LOCALE_SDAYNAME1: u32 = 42; pub const LOCALE_SDAYNAME2: u32 = 43; pub const LOCALE_SDAYNAME3: u32 = 44; pub const LOCALE_SDAYNAME4: u32 = 45; pub const LOCALE_SDAYNAME5: u32 = 46; pub const LOCALE_SDAYNAME6: u32 = 47; pub const LOCALE_SDAYNAME7: u32 = 48; pub const LOCALE_SABBREVDAYNAME1: u32 = 49; pub const LOCALE_SABBREVDAYNAME2: u32 = 50; pub const LOCALE_SABBREVDAYNAME3: u32 = 51; pub const LOCALE_SABBREVDAYNAME4: u32 = 52; pub const LOCALE_SABBREVDAYNAME5: u32 = 53; pub const LOCALE_SABBREVDAYNAME6: u32 = 54; pub const LOCALE_SABBREVDAYNAME7: u32 = 55; pub const LOCALE_SMONTHNAME1: u32 = 56; pub const LOCALE_SMONTHNAME2: u32 = 57; pub const LOCALE_SMONTHNAME3: u32 = 58; pub const LOCALE_SMONTHNAME4: u32 = 59; pub const LOCALE_SMONTHNAME5: u32 = 60; pub const LOCALE_SMONTHNAME6: u32 = 61; pub const LOCALE_SMONTHNAME7: u32 = 62; pub const LOCALE_SMONTHNAME8: u32 = 63; pub const LOCALE_SMONTHNAME9: u32 = 64; pub const LOCALE_SMONTHNAME10: u32 = 65; pub const LOCALE_SMONTHNAME11: u32 = 66; pub const LOCALE_SMONTHNAME12: u32 = 67; pub const LOCALE_SMONTHNAME13: u32 = 4110; pub const LOCALE_SABBREVMONTHNAME1: u32 = 68; pub const LOCALE_SABBREVMONTHNAME2: u32 = 69; pub const LOCALE_SABBREVMONTHNAME3: u32 = 70; pub const LOCALE_SABBREVMONTHNAME4: u32 = 71; pub const LOCALE_SABBREVMONTHNAME5: u32 = 72; pub const LOCALE_SABBREVMONTHNAME6: u32 = 73; pub const LOCALE_SABBREVMONTHNAME7: u32 = 74; pub const LOCALE_SABBREVMONTHNAME8: u32 = 75; pub const LOCALE_SABBREVMONTHNAME9: u32 = 76; pub const LOCALE_SABBREVMONTHNAME10: u32 = 77; pub const LOCALE_SABBREVMONTHNAME11: u32 = 78; pub const LOCALE_SABBREVMONTHNAME12: u32 = 79; pub const LOCALE_SABBREVMONTHNAME13: u32 = 4111; pub const LOCALE_SPOSITIVESIGN: u32 = 80; pub const LOCALE_SNEGATIVESIGN: u32 = 81; pub const LOCALE_IPOSSIGNPOSN: u32 = 82; pub const LOCALE_INEGSIGNPOSN: u32 = 83; pub const LOCALE_IPOSSYMPRECEDES: u32 = 84; pub const LOCALE_IPOSSEPBYSPACE: u32 = 85; pub const LOCALE_INEGSYMPRECEDES: u32 = 86; pub const LOCALE_INEGSEPBYSPACE: u32 = 87; pub const LOCALE_FONTSIGNATURE: u32 = 88; pub const LOCALE_SISO639LANGNAME: u32 = 89; pub const LOCALE_SISO3166CTRYNAME: u32 = 90; pub const LOCALE_IPAPERSIZE: u32 = 4106; pub const LOCALE_SENGCURRNAME: u32 = 4103; pub const LOCALE_SNATIVECURRNAME: u32 = 4104; pub const LOCALE_SYEARMONTH: u32 = 4102; pub const LOCALE_SSORTNAME: u32 = 4115; pub const LOCALE_IDIGITSUBSTITUTION: u32 = 4116; pub const LOCALE_SNAME: u32 = 92; pub const LOCALE_SDURATION: u32 = 93; pub const LOCALE_SSHORTESTDAYNAME1: u32 = 96; pub const LOCALE_SSHORTESTDAYNAME2: u32 = 97; pub const LOCALE_SSHORTESTDAYNAME3: u32 = 98; pub const LOCALE_SSHORTESTDAYNAME4: u32 = 99; pub const LOCALE_SSHORTESTDAYNAME5: u32 = 100; pub const LOCALE_SSHORTESTDAYNAME6: u32 = 101; pub const LOCALE_SSHORTESTDAYNAME7: u32 = 102; pub const LOCALE_SISO639LANGNAME2: u32 = 103; pub const LOCALE_SISO3166CTRYNAME2: u32 = 104; pub const LOCALE_SNAN: u32 = 105; pub const LOCALE_SPOSINFINITY: u32 = 106; pub const LOCALE_SNEGINFINITY: u32 = 107; pub const LOCALE_SSCRIPTS: u32 = 108; pub const LOCALE_SPARENT: u32 = 109; pub const LOCALE_SCONSOLEFALLBACKNAME: u32 = 110; pub const LOCALE_IREADINGLAYOUT: u32 = 112; pub const LOCALE_INEUTRAL: u32 = 113; pub const LOCALE_INEGATIVEPERCENT: u32 = 116; pub const LOCALE_IPOSITIVEPERCENT: u32 = 117; pub const LOCALE_SPERCENT: u32 = 118; pub const LOCALE_SPERMILLE: u32 = 119; pub const LOCALE_SMONTHDAY: u32 = 120; pub const LOCALE_SSHORTTIME: u32 = 121; pub const LOCALE_SOPENTYPELANGUAGETAG: u32 = 122; pub const LOCALE_SSORTLOCALE: u32 = 123; pub const LOCALE_SRELATIVELONGDATE: u32 = 124; pub const LOCALE_SSHORTESTAM: u32 = 126; pub const LOCALE_SSHORTESTPM: u32 = 127; pub const LOCALE_IDEFAULTCODEPAGE: u32 = 11; pub const LOCALE_IDEFAULTANSICODEPAGE: u32 = 4100; pub const LOCALE_IDEFAULTMACCODEPAGE: u32 = 4113; pub const LOCALE_IDEFAULTEBCDICCODEPAGE: u32 = 4114; pub const LOCALE_ILANGUAGE: u32 = 1; pub const LOCALE_SABBREVLANGNAME: u32 = 3; pub const LOCALE_SABBREVCTRYNAME: u32 = 7; pub const LOCALE_IGEOID: u32 = 91; pub const LOCALE_IDEFAULTLANGUAGE: u32 = 9; pub const LOCALE_IDEFAULTCOUNTRY: u32 = 10; pub const LOCALE_IINTLCURRDIGITS: u32 = 26; pub const LOCALE_SDATE: u32 = 29; pub const LOCALE_STIME: u32 = 30; pub const LOCALE_IDATE: u32 = 33; pub const LOCALE_ILDATE: u32 = 34; pub const LOCALE_ITIME: u32 = 35; pub const LOCALE_ITIMEMARKPOSN: u32 = 4101; pub const LOCALE_ICENTURY: u32 = 36; pub const LOCALE_ITLZERO: u32 = 37; pub const LOCALE_IDAYLZERO: u32 = 38; pub const LOCALE_IMONLZERO: u32 = 39; pub const LOCALE_SKEYBOARDSTOINSTALL: u32 = 94; pub const LOCALE_SLANGUAGE: u32 = 2; pub const LOCALE_SLANGDISPLAYNAME: u32 = 111; pub const LOCALE_SENGLANGUAGE: u32 = 4097; pub const LOCALE_SNATIVELANGNAME: u32 = 4; pub const LOCALE_SCOUNTRY: u32 = 6; pub const LOCALE_SENGCOUNTRY: u32 = 4098; pub const LOCALE_SNATIVECTRYNAME: u32 = 8; pub const LOCALE_ICOUNTRY: u32 = 5; pub const LOCALE_S1159: u32 = 40; pub const LOCALE_S2359: u32 = 41; pub const TIME_NOMINUTESORSECONDS: u32 = 1; pub const TIME_NOSECONDS: u32 = 2; pub const TIME_NOTIMEMARKER: u32 = 4; pub const TIME_FORCE24HOURFORMAT: u32 = 8; pub const DATE_SHORTDATE: u32 = 1; pub const DATE_LONGDATE: u32 = 2; pub const DATE_USE_ALT_CALENDAR: u32 = 4; pub const DATE_YEARMONTH: u32 = 8; pub const DATE_LTRREADING: u32 = 16; pub const DATE_RTLREADING: u32 = 32; pub const DATE_AUTOLAYOUT: u32 = 64; pub const DATE_MONTHDAY: u32 = 128; pub const CAL_NOUSEROVERRIDE: u32 = 2147483648; pub const CAL_USE_CP_ACP: u32 = 1073741824; pub const CAL_RETURN_NUMBER: u32 = 536870912; pub const CAL_RETURN_GENITIVE_NAMES: u32 = 268435456; pub const CAL_ICALINTVALUE: u32 = 1; pub const CAL_SCALNAME: u32 = 2; pub const CAL_IYEAROFFSETRANGE: u32 = 3; pub const CAL_SERASTRING: u32 = 4; pub const CAL_SSHORTDATE: u32 = 5; pub const CAL_SLONGDATE: u32 = 6; pub const CAL_SDAYNAME1: u32 = 7; pub const CAL_SDAYNAME2: u32 = 8; pub const CAL_SDAYNAME3: u32 = 9; pub const CAL_SDAYNAME4: u32 = 10; pub const CAL_SDAYNAME5: u32 = 11; pub const CAL_SDAYNAME6: u32 = 12; pub const CAL_SDAYNAME7: u32 = 13; pub const CAL_SABBREVDAYNAME1: u32 = 14; pub const CAL_SABBREVDAYNAME2: u32 = 15; pub const CAL_SABBREVDAYNAME3: u32 = 16; pub const CAL_SABBREVDAYNAME4: u32 = 17; pub const CAL_SABBREVDAYNAME5: u32 = 18; pub const CAL_SABBREVDAYNAME6: u32 = 19; pub const CAL_SABBREVDAYNAME7: u32 = 20; pub const CAL_SMONTHNAME1: u32 = 21; pub const CAL_SMONTHNAME2: u32 = 22; pub const CAL_SMONTHNAME3: u32 = 23; pub const CAL_SMONTHNAME4: u32 = 24; pub const CAL_SMONTHNAME5: u32 = 25; pub const CAL_SMONTHNAME6: u32 = 26; pub const CAL_SMONTHNAME7: u32 = 27; pub const CAL_SMONTHNAME8: u32 = 28; pub const CAL_SMONTHNAME9: u32 = 29; pub const CAL_SMONTHNAME10: u32 = 30; pub const CAL_SMONTHNAME11: u32 = 31; pub const CAL_SMONTHNAME12: u32 = 32; pub const CAL_SMONTHNAME13: u32 = 33; pub const CAL_SABBREVMONTHNAME1: u32 = 34; pub const CAL_SABBREVMONTHNAME2: u32 = 35; pub const CAL_SABBREVMONTHNAME3: u32 = 36; pub const CAL_SABBREVMONTHNAME4: u32 = 37; pub const CAL_SABBREVMONTHNAME5: u32 = 38; pub const CAL_SABBREVMONTHNAME6: u32 = 39; pub const CAL_SABBREVMONTHNAME7: u32 = 40; pub const CAL_SABBREVMONTHNAME8: u32 = 41; pub const CAL_SABBREVMONTHNAME9: u32 = 42; pub const CAL_SABBREVMONTHNAME10: u32 = 43; pub const CAL_SABBREVMONTHNAME11: u32 = 44; pub const CAL_SABBREVMONTHNAME12: u32 = 45; pub const CAL_SABBREVMONTHNAME13: u32 = 46; pub const CAL_SYEARMONTH: u32 = 47; pub const CAL_ITWODIGITYEARMAX: u32 = 48; pub const CAL_SSHORTESTDAYNAME1: u32 = 49; pub const CAL_SSHORTESTDAYNAME2: u32 = 50; pub const CAL_SSHORTESTDAYNAME3: u32 = 51; pub const CAL_SSHORTESTDAYNAME4: u32 = 52; pub const CAL_SSHORTESTDAYNAME5: u32 = 53; pub const CAL_SSHORTESTDAYNAME6: u32 = 54; pub const CAL_SSHORTESTDAYNAME7: u32 = 55; pub const CAL_SMONTHDAY: u32 = 56; pub const CAL_SABBREVERASTRING: u32 = 57; pub const CAL_SRELATIVELONGDATE: u32 = 58; pub const CAL_SENGLISHERANAME: u32 = 59; pub const CAL_SENGLISHABBREVERANAME: u32 = 60; pub const CAL_SJAPANESEERAFIRSTYEAR: u32 = 61; pub const ENUM_ALL_CALENDARS: u32 = 4294967295; pub const CAL_GREGORIAN: u32 = 1; pub const CAL_GREGORIAN_US: u32 = 2; pub const CAL_JAPAN: u32 = 3; pub const CAL_TAIWAN: u32 = 4; pub const CAL_KOREA: u32 = 5; pub const CAL_HIJRI: u32 = 6; pub const CAL_THAI: u32 = 7; pub const CAL_HEBREW: u32 = 8; pub const CAL_GREGORIAN_ME_FRENCH: u32 = 9; pub const CAL_GREGORIAN_ARABIC: u32 = 10; pub const CAL_GREGORIAN_XLIT_ENGLISH: u32 = 11; pub const CAL_GREGORIAN_XLIT_FRENCH: u32 = 12; pub const CAL_PERSIAN: u32 = 22; pub const CAL_UMALQURA: u32 = 23; pub const LGRPID_WESTERN_EUROPE: u32 = 1; pub const LGRPID_CENTRAL_EUROPE: u32 = 2; pub const LGRPID_BALTIC: u32 = 3; pub const LGRPID_GREEK: u32 = 4; pub const LGRPID_CYRILLIC: u32 = 5; pub const LGRPID_TURKIC: u32 = 6; pub const LGRPID_TURKISH: u32 = 6; pub const LGRPID_JAPANESE: u32 = 7; pub const LGRPID_KOREAN: u32 = 8; pub const LGRPID_TRADITIONAL_CHINESE: u32 = 9; pub const LGRPID_SIMPLIFIED_CHINESE: u32 = 10; pub const LGRPID_THAI: u32 = 11; pub const LGRPID_HEBREW: u32 = 12; pub const LGRPID_ARABIC: u32 = 13; pub const LGRPID_VIETNAMESE: u32 = 14; pub const LGRPID_INDIC: u32 = 15; pub const LGRPID_GEORGIAN: u32 = 16; pub const LGRPID_ARMENIAN: u32 = 17; pub const MUI_LANGUAGE_ID: u32 = 4; pub const MUI_LANGUAGE_NAME: u32 = 8; pub const MUI_MERGE_SYSTEM_FALLBACK: u32 = 16; pub const MUI_MERGE_USER_FALLBACK: u32 = 32; pub const MUI_UI_FALLBACK: u32 = 48; pub const MUI_THREAD_LANGUAGES: u32 = 64; pub const MUI_CONSOLE_FILTER: u32 = 256; pub const MUI_COMPLEX_SCRIPT_FILTER: u32 = 512; pub const MUI_RESET_FILTERS: u32 = 1; pub const MUI_USER_PREFERRED_UI_LANGUAGES: u32 = 16; pub const MUI_USE_INSTALLED_LANGUAGES: u32 = 32; pub const MUI_USE_SEARCH_ALL_LANGUAGES: u32 = 64; pub const MUI_LANG_NEUTRAL_PE_FILE: u32 = 256; pub const MUI_NON_LANG_NEUTRAL_FILE: u32 = 512; pub const MUI_MACHINE_LANGUAGE_SETTINGS: u32 = 1024; pub const MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL: u32 = 1; pub const MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN: u32 = 2; pub const MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI: u32 = 4; pub const MUI_QUERY_TYPE: u32 = 1; pub const MUI_QUERY_CHECKSUM: u32 = 2; pub const MUI_QUERY_LANGUAGE_NAME: u32 = 4; pub const MUI_QUERY_RESOURCE_TYPES: u32 = 8; pub const MUI_FILEINFO_VERSION: u32 = 1; pub const MUI_FULL_LANGUAGE: u32 = 1; pub const MUI_PARTIAL_LANGUAGE: u32 = 2; pub const MUI_LIP_LANGUAGE: u32 = 4; pub const MUI_LANGUAGE_INSTALLED: u32 = 32; pub const MUI_LANGUAGE_LICENSED: u32 = 64; pub const GEOID_NOT_AVAILABLE: i32 = -1; pub const IDN_ALLOW_UNASSIGNED: u32 = 1; pub const IDN_USE_STD3_ASCII_RULES: u32 = 2; pub const IDN_EMAIL_ADDRESS: u32 = 4; pub const IDN_RAW_PUNYCODE: u32 = 8; pub const VS_ALLOW_LATIN: u32 = 1; pub const GSS_ALLOW_INHERITED_COMMON: u32 = 1; pub const MUI_FORMAT_REG_COMPAT: u32 = 1; pub const MUI_FORMAT_INF_COMPAT: u32 = 2; pub const MUI_VERIFY_FILE_EXISTS: u32 = 4; pub const MUI_SKIP_STRING_CACHE: u32 = 8; pub const MUI_IMMUTABLE_LOOKUP: u32 = 16; pub const LOCALE_NAME_INVARIANT: &'static [u8; 1usize] = b"\0"; pub const LOCALE_NAME_SYSTEM_DEFAULT: &'static [u8; 22usize] = b"!x-sys-default-locale\0"; pub const RIGHT_ALT_PRESSED: u32 = 1; pub const LEFT_ALT_PRESSED: u32 = 2; pub const RIGHT_CTRL_PRESSED: u32 = 4; pub const LEFT_CTRL_PRESSED: u32 = 8; pub const SHIFT_PRESSED: u32 = 16; pub const NUMLOCK_ON: u32 = 32; pub const SCROLLLOCK_ON: u32 = 64; pub const CAPSLOCK_ON: u32 = 128; pub const ENHANCED_KEY: u32 = 256; pub const NLS_DBCSCHAR: u32 = 65536; pub const NLS_ALPHANUMERIC: u32 = 0; pub const NLS_KATAKANA: u32 = 131072; pub const NLS_HIRAGANA: u32 = 262144; pub const NLS_ROMAN: u32 = 4194304; pub const NLS_IME_CONVERSION: u32 = 8388608; pub const ALTNUMPAD_BIT: u32 = 67108864; pub const NLS_IME_DISABLE: u32 = 536870912; pub const FROM_LEFT_1ST_BUTTON_PRESSED: u32 = 1; pub const RIGHTMOST_BUTTON_PRESSED: u32 = 2; pub const FROM_LEFT_2ND_BUTTON_PRESSED: u32 = 4; pub const FROM_LEFT_3RD_BUTTON_PRESSED: u32 = 8; pub const FROM_LEFT_4TH_BUTTON_PRESSED: u32 = 16; pub const MOUSE_MOVED: u32 = 1; pub const DOUBLE_CLICK: u32 = 2; pub const MOUSE_WHEELED: u32 = 4; pub const MOUSE_HWHEELED: u32 = 8; pub const KEY_EVENT: u32 = 1; pub const MOUSE_EVENT: u32 = 2; pub const WINDOW_BUFFER_SIZE_EVENT: u32 = 4; pub const MENU_EVENT: u32 = 8; pub const FOCUS_EVENT: u32 = 16; pub const ENABLE_PROCESSED_INPUT: u32 = 1; pub const ENABLE_LINE_INPUT: u32 = 2; pub const ENABLE_ECHO_INPUT: u32 = 4; pub const ENABLE_WINDOW_INPUT: u32 = 8; pub const ENABLE_MOUSE_INPUT: u32 = 16; pub const ENABLE_INSERT_MODE: u32 = 32; pub const ENABLE_QUICK_EDIT_MODE: u32 = 64; pub const ENABLE_EXTENDED_FLAGS: u32 = 128; pub const ENABLE_AUTO_POSITION: u32 = 256; pub const ENABLE_VIRTUAL_TERMINAL_INPUT: u32 = 512; pub const ENABLE_PROCESSED_OUTPUT: u32 = 1; pub const ENABLE_WRAP_AT_EOL_OUTPUT: u32 = 2; pub const ENABLE_VIRTUAL_TERMINAL_PROCESSING: u32 = 4; pub const DISABLE_NEWLINE_AUTO_RETURN: u32 = 8; pub const ENABLE_LVB_GRID_WORLDWIDE: u32 = 16; pub const CTRL_C_EVENT: u32 = 0; pub const CTRL_BREAK_EVENT: u32 = 1; pub const CTRL_CLOSE_EVENT: u32 = 2; pub const CTRL_LOGOFF_EVENT: u32 = 5; pub const CTRL_SHUTDOWN_EVENT: u32 = 6; pub const PSEUDOCONSOLE_INHERIT_CURSOR: u32 = 1; pub const FOREGROUND_BLUE: u32 = 1; pub const FOREGROUND_GREEN: u32 = 2; pub const FOREGROUND_RED: u32 = 4; pub const FOREGROUND_INTENSITY: u32 = 8; pub const BACKGROUND_BLUE: u32 = 16; pub const BACKGROUND_GREEN: u32 = 32; pub const BACKGROUND_RED: u32 = 64; pub const BACKGROUND_INTENSITY: u32 = 128; pub const COMMON_LVB_LEADING_BYTE: u32 = 256; pub const COMMON_LVB_TRAILING_BYTE: u32 = 512; pub const COMMON_LVB_GRID_HORIZONTAL: u32 = 1024; pub const COMMON_LVB_GRID_LVERTICAL: u32 = 2048; pub const COMMON_LVB_GRID_RVERTICAL: u32 = 4096; pub const COMMON_LVB_REVERSE_VIDEO: u32 = 16384; pub const COMMON_LVB_UNDERSCORE: u32 = 32768; pub const COMMON_LVB_SBCSDBCS: u32 = 768; pub const CONSOLE_NO_SELECTION: u32 = 0; pub const CONSOLE_SELECTION_IN_PROGRESS: u32 = 1; pub const CONSOLE_SELECTION_NOT_EMPTY: u32 = 2; pub const CONSOLE_MOUSE_SELECTION: u32 = 4; pub const CONSOLE_MOUSE_DOWN: u32 = 8; pub const HISTORY_NO_DUP_FLAG: u32 = 1; pub const CONSOLE_FULLSCREEN: u32 = 1; pub const CONSOLE_FULLSCREEN_HARDWARE: u32 = 2; pub const CONSOLE_FULLSCREEN_MODE: u32 = 1; pub const CONSOLE_WINDOWED_MODE: u32 = 2; pub const CONSOLE_TEXTMODE_BUFFER: u32 = 1; pub const VS_VERSION_INFO: u32 = 1; pub const VS_USER_DEFINED: u32 = 100; pub const VS_FFI_SIGNATURE: u32 = 4277077181; pub const VS_FFI_STRUCVERSION: u32 = 65536; pub const VS_FFI_FILEFLAGSMASK: u32 = 63; pub const VS_FF_DEBUG: u32 = 1; pub const VS_FF_PRERELEASE: u32 = 2; pub const VS_FF_PATCHED: u32 = 4; pub const VS_FF_PRIVATEBUILD: u32 = 8; pub const VS_FF_INFOINFERRED: u32 = 16; pub const VS_FF_SPECIALBUILD: u32 = 32; pub const VOS_UNKNOWN: u32 = 0; pub const VOS_DOS: u32 = 65536; pub const VOS_OS216: u32 = 131072; pub const VOS_OS232: u32 = 196608; pub const VOS_NT: u32 = 262144; pub const VOS_WINCE: u32 = 327680; pub const VOS__BASE: u32 = 0; pub const VOS__WINDOWS16: u32 = 1; pub const VOS__PM16: u32 = 2; pub const VOS__PM32: u32 = 3; pub const VOS__WINDOWS32: u32 = 4; pub const VOS_DOS_WINDOWS16: u32 = 65537; pub const VOS_DOS_WINDOWS32: u32 = 65540; pub const VOS_OS216_PM16: u32 = 131074; pub const VOS_OS232_PM32: u32 = 196611; pub const VOS_NT_WINDOWS32: u32 = 262148; pub const VFT_UNKNOWN: u32 = 0; pub const VFT_APP: u32 = 1; pub const VFT_DLL: u32 = 2; pub const VFT_DRV: u32 = 3; pub const VFT_FONT: u32 = 4; pub const VFT_VXD: u32 = 5; pub const VFT_STATIC_LIB: u32 = 7; pub const VFT2_UNKNOWN: u32 = 0; pub const VFT2_DRV_PRINTER: u32 = 1; pub const VFT2_DRV_KEYBOARD: u32 = 2; pub const VFT2_DRV_LANGUAGE: u32 = 3; pub const VFT2_DRV_DISPLAY: u32 = 4; pub const VFT2_DRV_MOUSE: u32 = 5; pub const VFT2_DRV_NETWORK: u32 = 6; pub const VFT2_DRV_SYSTEM: u32 = 7; pub const VFT2_DRV_INSTALLABLE: u32 = 8; pub const VFT2_DRV_SOUND: u32 = 9; pub const VFT2_DRV_COMM: u32 = 10; pub const VFT2_DRV_INPUTMETHOD: u32 = 11; pub const VFT2_DRV_VERSIONED_PRINTER: u32 = 12; pub const VFT2_FONT_RASTER: u32 = 1; pub const VFT2_FONT_VECTOR: u32 = 2; pub const VFT2_FONT_TRUETYPE: u32 = 3; pub const VFFF_ISSHAREDFILE: u32 = 1; pub const VFF_CURNEDEST: u32 = 1; pub const VFF_FILEINUSE: u32 = 2; pub const VFF_BUFFTOOSMALL: u32 = 4; pub const VIFF_FORCEINSTALL: u32 = 1; pub const VIFF_DONTDELETEOLD: u32 = 2; pub const VIF_TEMPFILE: u32 = 1; pub const VIF_MISMATCH: u32 = 2; pub const VIF_SRCOLD: u32 = 4; pub const VIF_DIFFLANG: u32 = 8; pub const VIF_DIFFCODEPG: u32 = 16; pub const VIF_DIFFTYPE: u32 = 32; pub const VIF_WRITEPROT: u32 = 64; pub const VIF_FILEINUSE: u32 = 128; pub const VIF_OUTOFSPACE: u32 = 256; pub const VIF_ACCESSVIOLATION: u32 = 512; pub const VIF_SHARINGVIOLATION: u32 = 1024; pub const VIF_CANNOTCREATE: u32 = 2048; pub const VIF_CANNOTDELETE: u32 = 4096; pub const VIF_CANNOTRENAME: u32 = 8192; pub const VIF_CANNOTDELETECUR: u32 = 16384; pub const VIF_OUTOFMEMORY: u32 = 32768; pub const VIF_CANNOTREADSRC: u32 = 65536; pub const VIF_CANNOTREADDST: u32 = 131072; pub const VIF_BUFFTOOSMALL: u32 = 262144; pub const VIF_CANNOTLOADLZ32: u32 = 524288; pub const VIF_CANNOTLOADCABINET: u32 = 1048576; pub const FILE_VER_GET_LOCALISED: u32 = 1; pub const FILE_VER_GET_NEUTRAL: u32 = 2; pub const FILE_VER_GET_PREFETCHED: u32 = 4; pub const RRF_RT_REG_NONE: u32 = 1; pub const RRF_RT_REG_SZ: u32 = 2; pub const RRF_RT_REG_EXPAND_SZ: u32 = 4; pub const RRF_RT_REG_BINARY: u32 = 8; pub const RRF_RT_REG_DWORD: u32 = 16; pub const RRF_RT_REG_MULTI_SZ: u32 = 32; pub const RRF_RT_REG_QWORD: u32 = 64; pub const RRF_RT_DWORD: u32 = 24; pub const RRF_RT_QWORD: u32 = 72; pub const RRF_RT_ANY: u32 = 65535; pub const RRF_SUBKEY_WOW6464KEY: u32 = 65536; pub const RRF_SUBKEY_WOW6432KEY: u32 = 131072; pub const RRF_WOW64_MASK: u32 = 196608; pub const RRF_NOEXPAND: u32 = 268435456; pub const RRF_ZEROONFAILURE: u32 = 536870912; pub const REG_PROCESS_APPKEY: u32 = 1; pub const PROVIDER_KEEPS_VALUE_LENGTH: u32 = 1; pub const REG_MUI_STRING_TRUNCATE: u32 = 1; pub const REG_SECURE_CONNECTION: u32 = 1; pub const SHTDN_REASON_FLAG_COMMENT_REQUIRED: u32 = 16777216; pub const SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED: u32 = 33554432; pub const SHTDN_REASON_FLAG_CLEAN_UI: u32 = 67108864; pub const SHTDN_REASON_FLAG_DIRTY_UI: u32 = 134217728; pub const SHTDN_REASON_FLAG_MOBILE_UI_RESERVED: u32 = 268435456; pub const SHTDN_REASON_FLAG_USER_DEFINED: u32 = 1073741824; pub const SHTDN_REASON_FLAG_PLANNED: u32 = 2147483648; pub const SHTDN_REASON_MAJOR_OTHER: u32 = 0; pub const SHTDN_REASON_MAJOR_NONE: u32 = 0; pub const SHTDN_REASON_MAJOR_HARDWARE: u32 = 65536; pub const SHTDN_REASON_MAJOR_OPERATINGSYSTEM: u32 = 131072; pub const SHTDN_REASON_MAJOR_SOFTWARE: u32 = 196608; pub const SHTDN_REASON_MAJOR_APPLICATION: u32 = 262144; pub const SHTDN_REASON_MAJOR_SYSTEM: u32 = 327680; pub const SHTDN_REASON_MAJOR_POWER: u32 = 393216; pub const SHTDN_REASON_MAJOR_LEGACY_API: u32 = 458752; pub const SHTDN_REASON_MINOR_OTHER: u32 = 0; pub const SHTDN_REASON_MINOR_NONE: u32 = 255; pub const SHTDN_REASON_MINOR_MAINTENANCE: u32 = 1; pub const SHTDN_REASON_MINOR_INSTALLATION: u32 = 2; pub const SHTDN_REASON_MINOR_UPGRADE: u32 = 3; pub const SHTDN_REASON_MINOR_RECONFIG: u32 = 4; pub const SHTDN_REASON_MINOR_HUNG: u32 = 5; pub const SHTDN_REASON_MINOR_UNSTABLE: u32 = 6; pub const SHTDN_REASON_MINOR_DISK: u32 = 7; pub const SHTDN_REASON_MINOR_PROCESSOR: u32 = 8; pub const SHTDN_REASON_MINOR_NETWORKCARD: u32 = 9; pub const SHTDN_REASON_MINOR_POWER_SUPPLY: u32 = 10; pub const SHTDN_REASON_MINOR_CORDUNPLUGGED: u32 = 11; pub const SHTDN_REASON_MINOR_ENVIRONMENT: u32 = 12; pub const SHTDN_REASON_MINOR_HARDWARE_DRIVER: u32 = 13; pub const SHTDN_REASON_MINOR_OTHERDRIVER: u32 = 14; pub const SHTDN_REASON_MINOR_BLUESCREEN: u32 = 15; pub const SHTDN_REASON_MINOR_SERVICEPACK: u32 = 16; pub const SHTDN_REASON_MINOR_HOTFIX: u32 = 17; pub const SHTDN_REASON_MINOR_SECURITYFIX: u32 = 18; pub const SHTDN_REASON_MINOR_SECURITY: u32 = 19; pub const SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY: u32 = 20; pub const SHTDN_REASON_MINOR_WMI: u32 = 21; pub const SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL: u32 = 22; pub const SHTDN_REASON_MINOR_HOTFIX_UNINSTALL: u32 = 23; pub const SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL: u32 = 24; pub const SHTDN_REASON_MINOR_MMC: u32 = 25; pub const SHTDN_REASON_MINOR_SYSTEMRESTORE: u32 = 26; pub const SHTDN_REASON_MINOR_TERMSRV: u32 = 32; pub const SHTDN_REASON_MINOR_DC_PROMOTION: u32 = 33; pub const SHTDN_REASON_MINOR_DC_DEMOTION: u32 = 34; pub const SHTDN_REASON_UNKNOWN: u32 = 255; pub const SHTDN_REASON_LEGACY_API: u32 = 2147942400; pub const SHTDN_REASON_VALID_BIT_MASK: u32 = 3238002687; pub const PCLEANUI: u32 = 2214592512; pub const UCLEANUI: u32 = 67108864; pub const PDIRTYUI: u32 = 2281701376; pub const UDIRTYUI: u32 = 134217728; pub const MAX_REASON_NAME_LEN: u32 = 64; pub const MAX_REASON_DESC_LEN: u32 = 256; pub const MAX_REASON_BUGID_LEN: u32 = 32; pub const MAX_REASON_COMMENT_LEN: u32 = 512; pub const SHUTDOWN_TYPE_LEN: u32 = 32; pub const POLICY_SHOWREASONUI_NEVER: u32 = 0; pub const POLICY_SHOWREASONUI_ALWAYS: u32 = 1; pub const POLICY_SHOWREASONUI_WORKSTATIONONLY: u32 = 2; pub const POLICY_SHOWREASONUI_SERVERONLY: u32 = 3; pub const SNAPSHOT_POLICY_NEVER: u32 = 0; pub const SNAPSHOT_POLICY_ALWAYS: u32 = 1; pub const SNAPSHOT_POLICY_UNPLANNED: u32 = 2; pub const MAX_NUM_REASONS: u32 = 256; pub const REASON_SWINSTALL: u32 = 196610; pub const REASON_HWINSTALL: u32 = 65538; pub const REASON_SERVICEHANG: u32 = 196613; pub const REASON_UNSTABLE: u32 = 327686; pub const REASON_SWHWRECONF: u32 = 196612; pub const REASON_OTHER: u32 = 0; pub const REASON_UNKNOWN: u32 = 255; pub const REASON_LEGACY_API: u32 = 2147942400; pub const REASON_PLANNED_FLAG: u32 = 2147483648; pub const MAX_SHUTDOWN_TIMEOUT: u32 = 315360000; pub const SHUTDOWN_FORCE_OTHERS: u32 = 1; pub const SHUTDOWN_FORCE_SELF: u32 = 2; pub const SHUTDOWN_RESTART: u32 = 4; pub const SHUTDOWN_POWEROFF: u32 = 8; pub const SHUTDOWN_NOREBOOT: u32 = 16; pub const SHUTDOWN_GRACE_OVERRIDE: u32 = 32; pub const SHUTDOWN_INSTALL_UPDATES: u32 = 64; pub const SHUTDOWN_RESTARTAPPS: u32 = 128; pub const SHUTDOWN_SKIP_SVC_PRESHUTDOWN: u32 = 256; pub const SHUTDOWN_HYBRID: u32 = 512; pub const SHUTDOWN_RESTART_BOOTOPTIONS: u32 = 1024; pub const SHUTDOWN_SOFT_REBOOT: u32 = 2048; pub const SHUTDOWN_MOBILE_UI: u32 = 4096; pub const SHUTDOWN_ARSO: u32 = 8192; pub const WNNC_NET_MSNET: u32 = 65536; pub const WNNC_NET_SMB: u32 = 131072; pub const WNNC_NET_NETWARE: u32 = 196608; pub const WNNC_NET_VINES: u32 = 262144; pub const WNNC_NET_10NET: u32 = 327680; pub const WNNC_NET_LOCUS: u32 = 393216; pub const WNNC_NET_SUN_PC_NFS: u32 = 458752; pub const WNNC_NET_LANSTEP: u32 = 524288; pub const WNNC_NET_9TILES: u32 = 589824; pub const WNNC_NET_LANTASTIC: u32 = 655360; pub const WNNC_NET_AS400: u32 = 720896; pub const WNNC_NET_FTP_NFS: u32 = 786432; pub const WNNC_NET_PATHWORKS: u32 = 851968; pub const WNNC_NET_LIFENET: u32 = 917504; pub const WNNC_NET_POWERLAN: u32 = 983040; pub const WNNC_NET_BWNFS: u32 = 1048576; pub const WNNC_NET_COGENT: u32 = 1114112; pub const WNNC_NET_FARALLON: u32 = 1179648; pub const WNNC_NET_APPLETALK: u32 = 1245184; pub const WNNC_NET_INTERGRAPH: u32 = 1310720; pub const WNNC_NET_SYMFONET: u32 = 1376256; pub const WNNC_NET_CLEARCASE: u32 = 1441792; pub const WNNC_NET_FRONTIER: u32 = 1507328; pub const WNNC_NET_BMC: u32 = 1572864; pub const WNNC_NET_DCE: u32 = 1638400; pub const WNNC_NET_AVID: u32 = 1703936; pub const WNNC_NET_DOCUSPACE: u32 = 1769472; pub const WNNC_NET_MANGOSOFT: u32 = 1835008; pub const WNNC_NET_SERNET: u32 = 1900544; pub const WNNC_NET_RIVERFRONT1: u32 = 1966080; pub const WNNC_NET_RIVERFRONT2: u32 = 2031616; pub const WNNC_NET_DECORB: u32 = 2097152; pub const WNNC_NET_PROTSTOR: u32 = 2162688; pub const WNNC_NET_FJ_REDIR: u32 = 2228224; pub const WNNC_NET_DISTINCT: u32 = 2293760; pub const WNNC_NET_TWINS: u32 = 2359296; pub const WNNC_NET_RDR2SAMPLE: u32 = 2424832; pub const WNNC_NET_CSC: u32 = 2490368; pub const WNNC_NET_3IN1: u32 = 2555904; pub const WNNC_NET_EXTENDNET: u32 = 2686976; pub const WNNC_NET_STAC: u32 = 2752512; pub const WNNC_NET_FOXBAT: u32 = 2818048; pub const WNNC_NET_YAHOO: u32 = 2883584; pub const WNNC_NET_EXIFS: u32 = 2949120; pub const WNNC_NET_DAV: u32 = 3014656; pub const WNNC_NET_KNOWARE: u32 = 3080192; pub const WNNC_NET_OBJECT_DIRE: u32 = 3145728; pub const WNNC_NET_MASFAX: u32 = 3211264; pub const WNNC_NET_HOB_NFS: u32 = 3276800; pub const WNNC_NET_SHIVA: u32 = 3342336; pub const WNNC_NET_IBMAL: u32 = 3407872; pub const WNNC_NET_LOCK: u32 = 3473408; pub const WNNC_NET_TERMSRV: u32 = 3538944; pub const WNNC_NET_SRT: u32 = 3604480; pub const WNNC_NET_QUINCY: u32 = 3670016; pub const WNNC_NET_OPENAFS: u32 = 3735552; pub const WNNC_NET_AVID1: u32 = 3801088; pub const WNNC_NET_DFS: u32 = 3866624; pub const WNNC_NET_KWNP: u32 = 3932160; pub const WNNC_NET_ZENWORKS: u32 = 3997696; pub const WNNC_NET_DRIVEONWEB: u32 = 4063232; pub const WNNC_NET_VMWARE: u32 = 4128768; pub const WNNC_NET_RSFX: u32 = 4194304; pub const WNNC_NET_MFILES: u32 = 4259840; pub const WNNC_NET_MS_NFS: u32 = 4325376; pub const WNNC_NET_GOOGLE: u32 = 4390912; pub const WNNC_NET_NDFS: u32 = 4456448; pub const WNNC_NET_DOCUSHARE: u32 = 4521984; pub const WNNC_NET_AURISTOR_FS: u32 = 4587520; pub const WNNC_NET_SECUREAGENT: u32 = 4653056; pub const WNNC_NET_9P: u32 = 4718592; pub const WNNC_CRED_MANAGER: u32 = 4294901760; pub const WNNC_NET_LANMAN: u32 = 131072; pub const RESOURCE_CONNECTED: u32 = 1; pub const RESOURCE_GLOBALNET: u32 = 2; pub const RESOURCE_REMEMBERED: u32 = 3; pub const RESOURCE_RECENT: u32 = 4; pub const RESOURCE_CONTEXT: u32 = 5; pub const RESOURCETYPE_ANY: u32 = 0; pub const RESOURCETYPE_DISK: u32 = 1; pub const RESOURCETYPE_PRINT: u32 = 2; pub const RESOURCETYPE_RESERVED: u32 = 8; pub const RESOURCETYPE_UNKNOWN: u32 = 4294967295; pub const RESOURCEUSAGE_CONNECTABLE: u32 = 1; pub const RESOURCEUSAGE_CONTAINER: u32 = 2; pub const RESOURCEUSAGE_NOLOCALDEVICE: u32 = 4; pub const RESOURCEUSAGE_SIBLING: u32 = 8; pub const RESOURCEUSAGE_ATTACHED: u32 = 16; pub const RESOURCEUSAGE_ALL: u32 = 19; pub const RESOURCEUSAGE_RESERVED: u32 = 2147483648; pub const RESOURCEDISPLAYTYPE_GENERIC: u32 = 0; pub const RESOURCEDISPLAYTYPE_DOMAIN: u32 = 1; pub const RESOURCEDISPLAYTYPE_SERVER: u32 = 2; pub const RESOURCEDISPLAYTYPE_SHARE: u32 = 3; pub const RESOURCEDISPLAYTYPE_FILE: u32 = 4; pub const RESOURCEDISPLAYTYPE_GROUP: u32 = 5; pub const RESOURCEDISPLAYTYPE_NETWORK: u32 = 6; pub const RESOURCEDISPLAYTYPE_ROOT: u32 = 7; pub const RESOURCEDISPLAYTYPE_SHAREADMIN: u32 = 8; pub const RESOURCEDISPLAYTYPE_DIRECTORY: u32 = 9; pub const RESOURCEDISPLAYTYPE_TREE: u32 = 10; pub const RESOURCEDISPLAYTYPE_NDSCONTAINER: u32 = 11; pub const NETPROPERTY_PERSISTENT: u32 = 1; pub const CONNECT_UPDATE_PROFILE: u32 = 1; pub const CONNECT_UPDATE_RECENT: u32 = 2; pub const CONNECT_TEMPORARY: u32 = 4; pub const CONNECT_INTERACTIVE: u32 = 8; pub const CONNECT_PROMPT: u32 = 16; pub const CONNECT_NEED_DRIVE: u32 = 32; pub const CONNECT_REFCOUNT: u32 = 64; pub const CONNECT_REDIRECT: u32 = 128; pub const CONNECT_LOCALDRIVE: u32 = 256; pub const CONNECT_CURRENT_MEDIA: u32 = 512; pub const CONNECT_DEFERRED: u32 = 1024; pub const CONNECT_RESERVED: u32 = 4278190080; pub const CONNECT_COMMANDLINE: u32 = 2048; pub const CONNECT_CMD_SAVECRED: u32 = 4096; pub const CONNECT_CRED_RESET: u32 = 8192; pub const CONNECT_REQUIRE_INTEGRITY: u32 = 16384; pub const CONNECT_REQUIRE_PRIVACY: u32 = 32768; pub const CONNECT_WRITE_THROUGH_SEMANTICS: u32 = 65536; pub const 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: &'static [u8; 7usize] = b"System\0"; pub const SZDDESYS_ITEM_TOPICS: &'static [u8; 7usize] = b"Topics\0"; pub const SZDDESYS_ITEM_SYSITEMS: &'static [u8; 9usize] = b"SysItems\0"; pub const SZDDESYS_ITEM_RTNMSG: &'static [u8; 14usize] = b"ReturnMessage\0"; pub const SZDDESYS_ITEM_STATUS: &'static [u8; 7usize] = b"Status\0"; pub const SZDDESYS_ITEM_FORMATS: &'static [u8; 8usize] = b"Formats\0"; pub const SZDDESYS_ITEM_HELP: &'static [u8; 5usize] = b"Help\0"; pub const SZDDE_ITEM_ITEMLIST: &'static [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: &'static [u8; 5usize] = b"M\0\0\0\0"; pub const MS_NBF: &'static [u8; 5usize] = b"MNBF\0"; pub const NCBCALL: u32 = 16; pub const NCBLISTEN: u32 = 17; pub const NCBHANGUP: u32 = 18; pub const NCBSEND: u32 = 20; pub const NCBRECV: u32 = 21; pub const NCBRECVANY: u32 = 22; pub const NCBCHAINSEND: u32 = 23; pub const NCBDGSEND: u32 = 32; pub const NCBDGRECV: u32 = 33; pub const NCBDGSENDBC: u32 = 34; pub const NCBDGRECVBC: u32 = 35; pub const NCBADDNAME: u32 = 48; pub const NCBDELNAME: u32 = 49; pub const NCBRESET: u32 = 50; pub const NCBASTAT: u32 = 51; pub const NCBSSTAT: u32 = 52; pub const NCBCANCEL: u32 = 53; pub const NCBADDGRNAME: u32 = 54; pub const NCBENUM: u32 = 55; pub const NCBUNLINK: u32 = 112; pub const NCBSENDNA: u32 = 113; pub const NCBCHAINSENDNA: u32 = 114; pub const NCBLANSTALERT: u32 = 115; pub const NCBACTION: u32 = 119; pub const NCBFINDNAME: u32 = 120; pub const NCBTRACE: u32 = 121; pub const ASYNCH: u32 = 128; pub const NRC_GOODRET: u32 = 0; pub const NRC_BUFLEN: u32 = 1; pub const NRC_ILLCMD: u32 = 3; pub const NRC_CMDTMO: u32 = 5; pub const NRC_INCOMP: u32 = 6; pub const NRC_BADDR: u32 = 7; pub const NRC_SNUMOUT: u32 = 8; pub const NRC_NORES: u32 = 9; pub const NRC_SCLOSED: u32 = 10; pub const NRC_CMDCAN: u32 = 11; pub const NRC_DUPNAME: u32 = 13; pub const NRC_NAMTFUL: u32 = 14; pub const NRC_ACTSES: u32 = 15; pub const NRC_LOCTFUL: u32 = 17; pub const NRC_REMTFUL: u32 = 18; pub const NRC_ILLNN: u32 = 19; pub const NRC_NOCALL: u32 = 20; pub const NRC_NOWILD: u32 = 21; pub const NRC_INUSE: u32 = 22; pub const NRC_NAMERR: u32 = 23; pub const NRC_SABORT: u32 = 24; pub const NRC_NAMCONF: u32 = 25; pub const NRC_IFBUSY: u32 = 33; pub const NRC_TOOMANY: u32 = 34; pub const NRC_BRIDGE: u32 = 35; pub const NRC_CANOCCR: u32 = 36; pub const NRC_CANCEL: u32 = 38; pub const NRC_DUPENV: u32 = 48; pub const NRC_ENVNOTDEF: u32 = 52; pub const NRC_OSRESNOTAV: u32 = 53; pub const NRC_MAXAPPS: u32 = 54; pub const NRC_NOSAPS: u32 = 55; pub const NRC_NORESOURCES: u32 = 56; pub const NRC_INVADDRESS: u32 = 57; pub const NRC_INVDDID: u32 = 59; pub const NRC_LOCKFAIL: u32 = 60; pub const NRC_OPENERR: u32 = 63; pub const NRC_SYSTEM: u32 = 64; pub const NRC_PENDING: u32 = 255; pub const RPC_C_BINDING_INFINITE_TIMEOUT: u32 = 10; pub const RPC_C_BINDING_MIN_TIMEOUT: u32 = 0; pub const RPC_C_BINDING_DEFAULT_TIMEOUT: u32 = 5; pub const RPC_C_BINDING_MAX_TIMEOUT: u32 = 9; pub const RPC_C_CANCEL_INFINITE_TIMEOUT: i32 = -1; pub const RPC_C_LISTEN_MAX_CALLS_DEFAULT: u32 = 1234; pub const RPC_C_PROTSEQ_MAX_REQS_DEFAULT: u32 = 10; pub const RPC_C_BIND_TO_ALL_NICS: u32 = 1; pub const RPC_C_USE_INTERNET_PORT: u32 = 1; pub const RPC_C_USE_INTRANET_PORT: u32 = 2; pub const RPC_C_DONT_FAIL: u32 = 4; pub const RPC_C_RPCHTTP_USE_LOAD_BALANCE: u32 = 8; pub const RPC_C_OPT_BINDING_NONCAUSAL: u32 = 9; pub const RPC_C_OPT_SECURITY_CALLBACK: u32 = 10; pub const RPC_C_OPT_UNIQUE_BINDING: u32 = 11; pub const RPC_C_OPT_TRANS_SEND_BUFFER_SIZE: u32 = 5; pub const RPC_C_OPT_CALL_TIMEOUT: u32 = 12; pub const RPC_C_OPT_DONT_LINGER: u32 = 13; pub const RPC_C_OPT_TRUST_PEER: u32 = 14; pub const RPC_C_OPT_ASYNC_BLOCK: u32 = 15; pub const RPC_C_OPT_OPTIMIZE_TIME: u32 = 16; pub const RPC_C_OPT_MAX_OPTIONS: u32 = 17; pub const RPC_C_FULL_CERT_CHAIN: u32 = 1; pub const RPC_C_STATS_CALLS_IN: u32 = 0; pub const RPC_C_STATS_CALLS_OUT: u32 = 1; pub const RPC_C_STATS_PKTS_IN: u32 = 2; pub const RPC_C_STATS_PKTS_OUT: u32 = 3; pub const RPC_C_AUTHN_LEVEL_DEFAULT: u32 = 0; pub const RPC_C_AUTHN_LEVEL_NONE: u32 = 1; pub const RPC_C_AUTHN_LEVEL_CONNECT: u32 = 2; pub const RPC_C_AUTHN_LEVEL_CALL: u32 = 3; pub const RPC_C_AUTHN_LEVEL_PKT: u32 = 4; pub const RPC_C_AUTHN_LEVEL_PKT_INTEGRITY: u32 = 5; pub const RPC_C_AUTHN_LEVEL_PKT_PRIVACY: u32 = 6; pub const RPC_C_IMP_LEVEL_DEFAULT: u32 = 0; pub const RPC_C_IMP_LEVEL_ANONYMOUS: u32 = 1; pub const RPC_C_IMP_LEVEL_IDENTIFY: u32 = 2; pub const RPC_C_IMP_LEVEL_IMPERSONATE: u32 = 3; pub const RPC_C_IMP_LEVEL_DELEGATE: u32 = 4; pub const RPC_C_QOS_IDENTITY_STATIC: u32 = 0; pub const RPC_C_QOS_IDENTITY_DYNAMIC: u32 = 1; pub const RPC_C_QOS_CAPABILITIES_DEFAULT: u32 = 0; pub const RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH: u32 = 1; pub const RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC: u32 = 2; pub const RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY: u32 = 4; pub const RPC_C_QOS_CAPABILITIES_IGNORE_DELEGATE_FAILURE: u32 = 8; pub const RPC_C_QOS_CAPABILITIES_LOCAL_MA_HINT: u32 = 16; pub const RPC_C_QOS_CAPABILITIES_SCHANNEL_FULL_AUTH_IDENTITY: u32 = 32; pub const RPC_C_PROTECT_LEVEL_DEFAULT: u32 = 0; pub const RPC_C_PROTECT_LEVEL_NONE: u32 = 1; pub const RPC_C_PROTECT_LEVEL_CONNECT: u32 = 2; pub const RPC_C_PROTECT_LEVEL_CALL: u32 = 3; pub const RPC_C_PROTECT_LEVEL_PKT: u32 = 4; pub const RPC_C_PROTECT_LEVEL_PKT_INTEGRITY: u32 = 5; pub const RPC_C_PROTECT_LEVEL_PKT_PRIVACY: u32 = 6; pub const RPC_C_AUTHN_NONE: u32 = 0; pub const RPC_C_AUTHN_DCE_PRIVATE: u32 = 1; pub const RPC_C_AUTHN_DCE_PUBLIC: u32 = 2; pub const RPC_C_AUTHN_DEC_PUBLIC: u32 = 4; pub const RPC_C_AUTHN_GSS_NEGOTIATE: u32 = 9; pub const RPC_C_AUTHN_WINNT: u32 = 10; pub const RPC_C_AUTHN_GSS_SCHANNEL: u32 = 14; pub const RPC_C_AUTHN_GSS_KERBEROS: u32 = 16; pub const RPC_C_AUTHN_DPA: u32 = 17; pub const RPC_C_AUTHN_MSN: u32 = 18; pub const RPC_C_AUTHN_DIGEST: u32 = 21; pub const RPC_C_AUTHN_KERNEL: u32 = 20; pub const RPC_C_AUTHN_NEGO_EXTENDER: u32 = 30; pub const RPC_C_AUTHN_PKU2U: u32 = 31; pub const RPC_C_AUTHN_LIVE_SSP: u32 = 32; pub const RPC_C_AUTHN_LIVEXP_SSP: u32 = 35; pub const RPC_C_AUTHN_CLOUD_AP: u32 = 36; pub const RPC_C_AUTHN_MSONLINE: u32 = 82; pub const RPC_C_AUTHN_MQ: u32 = 100; pub const RPC_C_AUTHN_DEFAULT: u32 = 4294967295; pub const RPC_C_SECURITY_QOS_VERSION: u32 = 1; pub const RPC_C_SECURITY_QOS_VERSION_1: u32 = 1; pub const SEC_WINNT_AUTH_IDENTITY_ANSI: u32 = 1; pub const SEC_WINNT_AUTH_IDENTITY_UNICODE: u32 = 2; pub const RPC_C_SECURITY_QOS_VERSION_2: u32 = 2; pub const RPC_C_AUTHN_INFO_TYPE_HTTP: u32 = 1; pub const RPC_C_HTTP_AUTHN_TARGET_SERVER: u32 = 1; pub const RPC_C_HTTP_AUTHN_TARGET_PROXY: u32 = 2; pub const RPC_C_HTTP_AUTHN_SCHEME_BASIC: u32 = 1; pub const RPC_C_HTTP_AUTHN_SCHEME_NTLM: u32 = 2; pub const RPC_C_HTTP_AUTHN_SCHEME_PASSPORT: u32 = 4; pub const RPC_C_HTTP_AUTHN_SCHEME_DIGEST: u32 = 8; pub const RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE: u32 = 16; pub const RPC_C_HTTP_AUTHN_SCHEME_CERT: u32 = 65536; pub const RPC_C_HTTP_FLAG_USE_SSL: u32 = 1; pub const RPC_C_HTTP_FLAG_USE_FIRST_AUTH_SCHEME: u32 = 2; pub const RPC_C_HTTP_FLAG_IGNORE_CERT_CN_INVALID: u32 = 8; pub const RPC_C_HTTP_FLAG_ENABLE_CERT_REVOCATION_CHECK: u32 = 16; pub const RPC_C_SECURITY_QOS_VERSION_3: u32 = 3; pub const RPC_C_SECURITY_QOS_VERSION_4: u32 = 4; pub const RPC_C_SECURITY_QOS_VERSION_5: u32 = 5; pub const RPC_PROTSEQ_TCP: u32 = 1; pub const RPC_PROTSEQ_NMP: u32 = 2; pub const RPC_PROTSEQ_LRPC: u32 = 3; pub const RPC_PROTSEQ_HTTP: u32 = 4; pub const RPC_BHT_OBJECT_UUID_VALID: u32 = 1; pub const RPC_BHO_NONCAUSAL: u32 = 1; pub const RPC_BHO_DONTLINGER: u32 = 2; pub const RPC_BHO_EXCLUSIVE_AND_GUARANTEED: u32 = 4; pub const RPC_C_AUTHZ_NONE: u32 = 0; pub const RPC_C_AUTHZ_NAME: u32 = 1; pub const RPC_C_AUTHZ_DCE: u32 = 2; pub const RPC_C_AUTHZ_DEFAULT: u32 = 4294967295; pub const DCE_C_ERROR_STRING_LEN: u32 = 256; pub const RPC_C_EP_ALL_ELTS: u32 = 0; pub const RPC_C_EP_MATCH_BY_IF: u32 = 1; pub const RPC_C_EP_MATCH_BY_OBJ: u32 = 2; pub const RPC_C_EP_MATCH_BY_BOTH: u32 = 3; pub const RPC_C_VERS_ALL: u32 = 1; pub const RPC_C_VERS_COMPATIBLE: u32 = 2; pub const RPC_C_VERS_EXACT: u32 = 3; pub const RPC_C_VERS_MAJOR_ONLY: u32 = 4; pub const RPC_C_VERS_UPTO: u32 = 5; pub const RPC_C_MGMT_INQ_IF_IDS: u32 = 0; pub const RPC_C_MGMT_INQ_PRINC_NAME: u32 = 1; pub const RPC_C_MGMT_INQ_STATS: u32 = 2; pub const RPC_C_MGMT_IS_SERVER_LISTEN: u32 = 3; pub const RPC_C_MGMT_STOP_SERVER_LISTEN: u32 = 4; pub const RPC_C_PARM_MAX_PACKET_LENGTH: u32 = 1; pub const RPC_C_PARM_BUFFER_LENGTH: u32 = 2; pub const RPC_IF_AUTOLISTEN: u32 = 1; pub const RPC_IF_OLE: u32 = 2; pub const RPC_IF_ALLOW_UNKNOWN_AUTHORITY: u32 = 4; pub const RPC_IF_ALLOW_SECURE_ONLY: u32 = 8; pub const RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH: u32 = 16; pub const RPC_IF_ALLOW_LOCAL_ONLY: u32 = 32; pub const RPC_IF_SEC_NO_CACHE: u32 = 64; pub const RPC_IF_SEC_CACHE_PER_PROC: u32 = 128; pub const RPC_IF_ASYNC_CALLBACK: u32 = 256; pub const RPC_FW_IF_FLAG_DCOM: u32 = 1; pub const RPC_CONTEXT_HANDLE_DEFAULT_FLAGS: u32 = 0; pub const RPC_CONTEXT_HANDLE_FLAGS: u32 = 805306368; pub const RPC_CONTEXT_HANDLE_SERIALIZE: u32 = 268435456; pub const RPC_CONTEXT_HANDLE_DONT_SERIALIZE: u32 = 536870912; pub const RPC_TYPE_STRICT_CONTEXT_HANDLE: u32 = 1073741824; pub const RPC_TYPE_DISCONNECT_EVENT_CONTEXT_HANDLE: u32 = 2147483648; pub const RPC_NCA_FLAGS_DEFAULT: u32 = 0; pub const RPC_NCA_FLAGS_IDEMPOTENT: u32 = 1; pub const RPC_NCA_FLAGS_BROADCAST: u32 = 2; pub const RPC_NCA_FLAGS_MAYBE: u32 = 4; pub const RPCFLG_HAS_GUARANTEE: u32 = 16; pub const RPCFLG_WINRT_REMOTE_ASYNC: u32 = 32; pub const RPC_BUFFER_COMPLETE: u32 = 4096; pub const RPC_BUFFER_PARTIAL: u32 = 8192; pub const RPC_BUFFER_EXTRA: u32 = 16384; pub const RPC_BUFFER_ASYNC: u32 = 32768; pub const RPC_BUFFER_NONOTIFY: u32 = 65536; pub const RPCFLG_MESSAGE: u32 = 16777216; pub const RPCFLG_AUTO_COMPLETE: u32 = 134217728; pub const RPCFLG_LOCAL_CALL: u32 = 268435456; pub const RPCFLG_INPUT_SYNCHRONOUS: u32 = 536870912; pub const RPCFLG_ASYNCHRONOUS: u32 = 1073741824; pub const RPCFLG_NON_NDR: u32 = 2147483648; pub const RPCFLG_HAS_MULTI_SYNTAXES: u32 = 33554432; pub const RPCFLG_HAS_CALLBACK: u32 = 67108864; pub const RPCFLG_ACCESSIBILITY_BIT1: u32 = 1048576; pub const RPCFLG_ACCESSIBILITY_BIT2: u32 = 2097152; pub const RPCFLG_ACCESS_LOCAL: u32 = 4194304; pub const NDR_CUSTOM_OR_DEFAULT_ALLOCATOR: u32 = 268435456; pub const NDR_DEFAULT_ALLOCATOR: u32 = 536870912; pub const RPCFLG_NDR64_CONTAINS_ARM_LAYOUT: u32 = 67108864; pub const RPCFLG_SENDER_WAITING_FOR_REPLY: u32 = 8388608; pub const RPC_FLAGS_VALID_BIT: u32 = 32768; pub const NT351_INTERFACE_SIZE: u32 = 64; pub const RPC_INTERFACE_HAS_PIPES: u32 = 1; pub const RPC_SYSTEM_HANDLE_FREE_UNRETRIEVED: u32 = 1; pub const RPC_SYSTEM_HANDLE_FREE_RETRIEVED: u32 = 2; pub const RPC_SYSTEM_HANDLE_FREE_ALL: u32 = 3; pub const RPC_SYSTEM_HANDLE_FREE_ERROR_ON_CLOSE: u32 = 4; pub const TRANSPORT_TYPE_CN: u32 = 1; pub const TRANSPORT_TYPE_DG: u32 = 2; pub const TRANSPORT_TYPE_LPC: u32 = 4; pub const TRANSPORT_TYPE_WMSG: u32 = 8; pub const RPC_P_ADDR_FORMAT_TCP_IPV4: u32 = 1; pub const RPC_P_ADDR_FORMAT_TCP_IPV6: u32 = 2; pub const RPC_C_OPT_SESSION_ID: u32 = 6; pub const RPC_C_OPT_COOKIE_AUTH: u32 = 7; pub const RPC_C_OPT_RESOURCE_TYPE_UUID: u32 = 8; pub const RPC_PROXY_CONNECTION_TYPE_IN_PROXY: u32 = 0; pub const RPC_PROXY_CONNECTION_TYPE_OUT_PROXY: u32 = 1; pub const RPC_C_OPT_PRIVATE_SUPPRESS_WAKE: u32 = 1; pub const RPC_C_OPT_PRIVATE_DO_NOT_DISTURB: u32 = 2; pub const RPC_C_OPT_PRIVATE_BREAK_ON_SUSPEND: u32 = 3; pub const RPC_C_NS_SYNTAX_DEFAULT: u32 = 0; pub const RPC_C_NS_SYNTAX_DCE: u32 = 3; pub const RPC_C_PROFILE_DEFAULT_ELT: u32 = 0; pub const RPC_C_PROFILE_ALL_ELT: u32 = 1; pub const RPC_C_PROFILE_ALL_ELTS: u32 = 1; pub const RPC_C_PROFILE_MATCH_BY_IF: u32 = 2; pub const RPC_C_PROFILE_MATCH_BY_MBR: u32 = 3; pub const RPC_C_PROFILE_MATCH_BY_BOTH: u32 = 4; pub const RPC_C_NS_DEFAULT_EXP_AGE: i32 = -1; pub const RPC_S_OK: u32 = 0; pub const RPC_S_INVALID_ARG: u32 = 87; pub const RPC_S_OUT_OF_MEMORY: u32 = 14; pub const RPC_S_OUT_OF_THREADS: u32 = 164; pub const RPC_S_INVALID_LEVEL: u32 = 87; pub const RPC_S_BUFFER_TOO_SMALL: u32 = 122; pub const RPC_S_INVALID_SECURITY_DESC: u32 = 1338; pub const RPC_S_ACCESS_DENIED: u32 = 5; pub const RPC_S_SERVER_OUT_OF_MEMORY: u32 = 1130; pub const RPC_S_ASYNC_CALL_PENDING: u32 = 997; pub const RPC_S_UNKNOWN_PRINCIPAL: u32 = 1332; pub const RPC_S_TIMEOUT: u32 = 1460; pub const RPC_S_NOT_ENOUGH_QUOTA: u32 = 1816; pub const RPC_X_NO_MEMORY: u32 = 14; pub const RPC_X_INVALID_BOUND: u32 = 1734; pub const RPC_X_INVALID_TAG: u32 = 1733; pub const RPC_X_ENUM_VALUE_TOO_LARGE: u32 = 1781; pub const RPC_X_SS_CONTEXT_MISMATCH: u32 = 6; pub const RPC_X_INVALID_BUFFER: u32 = 1784; pub const RPC_X_PIPE_APP_MEMORY: u32 = 14; pub const RPC_X_INVALID_PIPE_OPERATION: u32 = 1831; pub const RPC_C_NOTIFY_ON_SEND_COMPLETE: u32 = 1; pub const RPC_C_INFINITE_TIMEOUT: u32 = 4294967295; pub const MaxNumberOfEEInfoParams: u32 = 4; pub const RPC_EEINFO_VERSION: u32 = 1; pub const EEInfoPreviousRecordsMissing: u32 = 1; pub const EEInfoNextRecordsMissing: u32 = 2; pub const EEInfoUseFileTime: u32 = 4; pub const EEInfoGCCOM: u32 = 11; pub const EEInfoGCFRS: u32 = 12; pub const RPC_QUERY_SERVER_PRINCIPAL_NAME: u32 = 2; pub const RPC_QUERY_CLIENT_PRINCIPAL_NAME: u32 = 4; pub const RPC_QUERY_CALL_LOCAL_ADDRESS: u32 = 8; pub const RPC_QUERY_CLIENT_PID: u32 = 16; pub const RPC_QUERY_IS_CLIENT_LOCAL: u32 = 32; pub const RPC_QUERY_NO_AUTH_REQUIRED: u32 = 64; pub const RPC_CALL_ATTRIBUTES_VERSION: u32 = 3; pub const RPC_QUERY_CLIENT_ID: u32 = 128; pub const RPC_CALL_STATUS_CANCELLED: u32 = 1; pub const RPC_CALL_STATUS_DISCONNECTED: u32 = 2; pub const ABM_NEW: u32 = 0; pub const ABM_REMOVE: u32 = 1; pub const ABM_QUERYPOS: u32 = 2; pub const ABM_SETPOS: u32 = 3; pub const ABM_GETSTATE: u32 = 4; pub const ABM_GETTASKBARPOS: u32 = 5; pub const ABM_ACTIVATE: u32 = 6; pub const ABM_GETAUTOHIDEBAR: u32 = 7; pub const ABM_SETAUTOHIDEBAR: u32 = 8; pub const ABM_WINDOWPOSCHANGED: u32 = 9; pub const ABM_SETSTATE: u32 = 10; pub const ABM_GETAUTOHIDEBAREX: u32 = 11; pub const ABM_SETAUTOHIDEBAREX: u32 = 12; pub const ABN_STATECHANGE: u32 = 0; pub const ABN_POSCHANGED: u32 = 1; pub const ABN_FULLSCREENAPP: u32 = 2; pub const ABN_WINDOWARRANGE: u32 = 3; pub const ABS_AUTOHIDE: u32 = 1; pub const ABS_ALWAYSONTOP: u32 = 2; pub const ABE_LEFT: u32 = 0; pub const ABE_TOP: u32 = 1; pub const ABE_RIGHT: u32 = 2; pub const ABE_BOTTOM: u32 = 3; pub const FO_MOVE: u32 = 1; pub const FO_COPY: u32 = 2; pub const FO_DELETE: u32 = 3; pub const FO_RENAME: u32 = 4; pub const FOF_MULTIDESTFILES: u32 = 1; pub const FOF_CONFIRMMOUSE: u32 = 2; pub const FOF_SILENT: u32 = 4; pub const FOF_RENAMEONCOLLISION: u32 = 8; pub const FOF_NOCONFIRMATION: u32 = 16; pub const FOF_WANTMAPPINGHANDLE: u32 = 32; pub const FOF_ALLOWUNDO: u32 = 64; pub const FOF_FILESONLY: u32 = 128; pub const FOF_SIMPLEPROGRESS: u32 = 256; pub const FOF_NOCONFIRMMKDIR: u32 = 512; pub const FOF_NOERRORUI: u32 = 1024; pub const FOF_NOCOPYSECURITYATTRIBS: u32 = 2048; pub const FOF_NORECURSION: u32 = 4096; pub const FOF_NO_CONNECTED_ELEMENTS: u32 = 8192; pub const FOF_WANTNUKEWARNING: u32 = 16384; pub const FOF_NORECURSEREPARSE: u32 = 32768; pub const FOF_NO_UI: u32 = 1556; pub const PO_DELETE: u32 = 19; pub const PO_RENAME: u32 = 20; pub const PO_PORTCHANGE: u32 = 32; pub const PO_REN_PORT: u32 = 52; pub const SE_ERR_FNF: u32 = 2; pub const SE_ERR_PNF: u32 = 3; pub const SE_ERR_ACCESSDENIED: u32 = 5; pub const SE_ERR_OOM: u32 = 8; pub const SE_ERR_DLLNOTFOUND: u32 = 32; pub const SE_ERR_SHARE: u32 = 26; pub const SE_ERR_ASSOCINCOMPLETE: u32 = 27; pub const SE_ERR_DDETIMEOUT: u32 = 28; pub const SE_ERR_DDEFAIL: u32 = 29; pub const SE_ERR_DDEBUSY: u32 = 30; pub const SE_ERR_NOASSOC: u32 = 31; pub const SEE_MASK_DEFAULT: u32 = 0; pub const SEE_MASK_CLASSNAME: u32 = 1; pub const SEE_MASK_CLASSKEY: u32 = 3; pub const SEE_MASK_IDLIST: u32 = 4; pub const SEE_MASK_INVOKEIDLIST: u32 = 12; pub const SEE_MASK_HOTKEY: u32 = 32; pub const SEE_MASK_NOCLOSEPROCESS: u32 = 64; pub const SEE_MASK_CONNECTNETDRV: u32 = 128; pub const SEE_MASK_NOASYNC: u32 = 256; pub const SEE_MASK_FLAG_DDEWAIT: u32 = 256; pub const SEE_MASK_DOENVSUBST: u32 = 512; pub const SEE_MASK_FLAG_NO_UI: u32 = 1024; pub const SEE_MASK_UNICODE: u32 = 16384; pub const SEE_MASK_NO_CONSOLE: u32 = 32768; pub const SEE_MASK_ASYNCOK: u32 = 1048576; pub const SEE_MASK_HMONITOR: u32 = 2097152; pub const SEE_MASK_NOZONECHECKS: u32 = 8388608; pub const SEE_MASK_NOQUERYCLASSSTORE: u32 = 16777216; pub const SEE_MASK_WAITFORINPUTIDLE: u32 = 33554432; pub const SEE_MASK_FLAG_LOG_USAGE: u32 = 67108864; pub const SEE_MASK_FLAG_HINST_IS_SITE: u32 = 134217728; pub const SHERB_NOCONFIRMATION: u32 = 1; pub const SHERB_NOPROGRESSUI: u32 = 2; pub const SHERB_NOSOUND: u32 = 4; pub const NIN_SELECT: u32 = 1024; pub const NINF_KEY: u32 = 1; pub const NIN_KEYSELECT: u32 = 1025; pub const NIN_BALLOONSHOW: u32 = 1026; pub const NIN_BALLOONHIDE: u32 = 1027; pub const NIN_BALLOONTIMEOUT: u32 = 1028; pub const NIN_BALLOONUSERCLICK: u32 = 1029; pub const NIN_POPUPOPEN: u32 = 1030; pub const NIN_POPUPCLOSE: u32 = 1031; pub const NIM_ADD: u32 = 0; pub const NIM_MODIFY: u32 = 1; pub const NIM_DELETE: u32 = 2; pub const NIM_SETFOCUS: u32 = 3; pub const NIM_SETVERSION: u32 = 4; pub const NOTIFYICON_VERSION: u32 = 3; pub const NOTIFYICON_VERSION_4: u32 = 4; pub const NIF_MESSAGE: u32 = 1; pub const NIF_ICON: u32 = 2; pub const NIF_TIP: u32 = 4; pub const NIF_STATE: u32 = 8; pub const NIF_INFO: u32 = 16; pub const NIF_GUID: u32 = 32; pub const NIF_REALTIME: u32 = 64; pub const NIF_SHOWTIP: u32 = 128; pub const NIS_HIDDEN: u32 = 1; pub const NIS_SHAREDICON: u32 = 2; pub const NIIF_NONE: u32 = 0; pub const NIIF_INFO: u32 = 1; pub const NIIF_WARNING: u32 = 2; pub const NIIF_ERROR: u32 = 3; pub const NIIF_USER: u32 = 4; pub const NIIF_ICON_MASK: u32 = 15; pub const NIIF_NOSOUND: u32 = 16; pub const NIIF_LARGE_ICON: u32 = 32; pub const NIIF_RESPECT_QUIET_TIME: u32 = 128; pub const SHGFI_ICON: u32 = 256; pub const SHGFI_DISPLAYNAME: u32 = 512; pub const SHGFI_TYPENAME: u32 = 1024; pub const SHGFI_ATTRIBUTES: u32 = 2048; pub const SHGFI_ICONLOCATION: u32 = 4096; pub const SHGFI_EXETYPE: u32 = 8192; pub const SHGFI_SYSICONINDEX: u32 = 16384; pub const SHGFI_LINKOVERLAY: u32 = 32768; pub const SHGFI_SELECTED: u32 = 65536; pub const SHGFI_ATTR_SPECIFIED: u32 = 131072; pub const SHGFI_LARGEICON: u32 = 0; pub const SHGFI_SMALLICON: u32 = 1; pub const SHGFI_OPENICON: u32 = 2; pub const SHGFI_SHELLICONSIZE: u32 = 4; pub const SHGFI_PIDL: u32 = 8; pub const SHGFI_USEFILEATTRIBUTES: u32 = 16; pub const SHGFI_ADDOVERLAYS: u32 = 32; pub const SHGFI_OVERLAYINDEX: u32 = 64; pub const SHGSI_ICONLOCATION: u32 = 0; pub const SHGSI_ICON: u32 = 256; pub const SHGSI_SYSICONINDEX: u32 = 16384; pub const SHGSI_LINKOVERLAY: u32 = 32768; pub const SHGSI_SELECTED: u32 = 65536; pub const SHGSI_LARGEICON: u32 = 0; pub const SHGSI_SMALLICON: u32 = 1; pub const SHGSI_SHELLICONSIZE: u32 = 4; pub const SHGNLI_PIDL: u32 = 1; pub const SHGNLI_PREFIXNAME: u32 = 2; pub const SHGNLI_NOUNIQUE: u32 = 4; pub const SHGNLI_NOLNK: u32 = 8; pub const SHGNLI_NOLOCNAME: u32 = 16; pub const SHGNLI_USEURLEXT: u32 = 32; pub const PRINTACTION_OPEN: u32 = 0; pub const PRINTACTION_PROPERTIES: u32 = 1; pub const PRINTACTION_NETINSTALL: u32 = 2; pub const PRINTACTION_NETINSTALLLINK: u32 = 3; pub const PRINTACTION_TESTPAGE: u32 = 4; pub const PRINTACTION_OPENNETPRN: u32 = 5; pub const PRINTACTION_DOCUMENTDEFAULTS: u32 = 6; pub const PRINTACTION_SERVERPROPERTIES: u32 = 7; pub const PRINT_PROP_FORCE_NAME: u32 = 1; pub const OFFLINE_STATUS_LOCAL: u32 = 1; pub const OFFLINE_STATUS_REMOTE: u32 = 2; pub const OFFLINE_STATUS_INCOMPLETE: u32 = 4; pub const SHIL_LARGE: u32 = 0; pub const SHIL_SMALL: u32 = 1; pub const SHIL_EXTRALARGE: u32 = 2; pub const SHIL_SYSSMALL: u32 = 3; pub const SHIL_JUMBO: u32 = 4; pub const SHIL_LAST: u32 = 4; pub const WC_NETADDRESS: &'static [u8; 18usize] = b"msctls_netaddress\0"; pub const NCM_GETADDRESS: u32 = 1025; pub const NCM_SETALLOWTYPE: u32 = 1026; pub const NCM_GETALLOWTYPE: u32 = 1027; pub const NCM_DISPLAYERRORTIP: u32 = 1028; pub const PERF_DATA_VERSION: u32 = 1; pub const PERF_DATA_REVISION: u32 = 1; pub const PERF_NO_INSTANCES: i32 = -1; pub const PERF_SIZE_DWORD: u32 = 0; pub const PERF_SIZE_LARGE: u32 = 256; pub const PERF_SIZE_ZERO: u32 = 512; pub const PERF_SIZE_VARIABLE_LEN: u32 = 768; pub const PERF_TYPE_NUMBER: u32 = 0; pub const PERF_TYPE_COUNTER: u32 = 1024; pub const PERF_TYPE_TEXT: u32 = 2048; pub const PERF_TYPE_ZERO: u32 = 3072; pub const PERF_NUMBER_HEX: u32 = 0; pub const PERF_NUMBER_DECIMAL: u32 = 65536; pub const PERF_NUMBER_DEC_1000: u32 = 131072; pub const PERF_COUNTER_VALUE: u32 = 0; pub const PERF_COUNTER_RATE: u32 = 65536; pub const PERF_COUNTER_FRACTION: u32 = 131072; pub const PERF_COUNTER_BASE: u32 = 196608; pub const PERF_COUNTER_ELAPSED: u32 = 262144; pub const PERF_COUNTER_QUEUELEN: u32 = 327680; pub const PERF_COUNTER_HISTOGRAM: u32 = 393216; pub const PERF_COUNTER_PRECISION: u32 = 458752; pub const PERF_TEXT_UNICODE: u32 = 0; pub const PERF_TEXT_ASCII: u32 = 65536; pub const PERF_TIMER_TICK: u32 = 0; pub const PERF_TIMER_100NS: u32 = 1048576; pub const PERF_OBJECT_TIMER: u32 = 2097152; pub const PERF_DELTA_COUNTER: u32 = 4194304; pub const PERF_DELTA_BASE: u32 = 8388608; pub const PERF_INVERSE_COUNTER: u32 = 16777216; pub const PERF_MULTI_COUNTER: u32 = 33554432; pub const PERF_DISPLAY_NO_SUFFIX: u32 = 0; pub const PERF_DISPLAY_PER_SEC: u32 = 268435456; pub const PERF_DISPLAY_PERCENT: u32 = 536870912; pub const PERF_DISPLAY_SECONDS: u32 = 805306368; pub const PERF_DISPLAY_NOSHOW: u32 = 1073741824; pub const PERF_COUNTER_COUNTER: u32 = 272696320; pub const PERF_COUNTER_TIMER: u32 = 541132032; pub const PERF_COUNTER_QUEUELEN_TYPE: u32 = 4523008; pub const PERF_COUNTER_LARGE_QUEUELEN_TYPE: u32 = 4523264; pub const PERF_COUNTER_100NS_QUEUELEN_TYPE: u32 = 5571840; pub const PERF_COUNTER_OBJ_TIME_QUEUELEN_TYPE: u32 = 6620416; pub const PERF_COUNTER_BULK_COUNT: u32 = 272696576; pub const PERF_COUNTER_TEXT: u32 = 2816; pub const PERF_COUNTER_RAWCOUNT: u32 = 65536; pub const PERF_COUNTER_LARGE_RAWCOUNT: u32 = 65792; pub const PERF_COUNTER_RAWCOUNT_HEX: u32 = 0; pub const PERF_COUNTER_LARGE_RAWCOUNT_HEX: u32 = 256; pub const PERF_SAMPLE_FRACTION: u32 = 549585920; pub const PERF_SAMPLE_COUNTER: u32 = 4260864; pub const PERF_COUNTER_NODATA: u32 = 1073742336; pub const PERF_COUNTER_TIMER_INV: u32 = 557909248; pub const PERF_SAMPLE_BASE: u32 = 1073939457; pub const PERF_AVERAGE_TIMER: u32 = 805438464; pub const PERF_AVERAGE_BASE: u32 = 1073939458; pub const PERF_AVERAGE_BULK: u32 = 1073874176; pub const PERF_OBJ_TIME_TIMER: u32 = 543229184; pub const PERF_100NSEC_TIMER: u32 = 542180608; pub const PERF_100NSEC_TIMER_INV: u32 = 558957824; pub const PERF_COUNTER_MULTI_TIMER: u32 = 574686464; pub const PERF_COUNTER_MULTI_TIMER_INV: u32 = 591463680; pub const PERF_COUNTER_MULTI_BASE: u32 = 1107494144; pub const PERF_100NSEC_MULTI_TIMER: u32 = 575735040; pub const PERF_100NSEC_MULTI_TIMER_INV: u32 = 592512256; pub const PERF_RAW_FRACTION: u32 = 537003008; pub const PERF_LARGE_RAW_FRACTION: u32 = 537003264; pub const PERF_RAW_BASE: u32 = 1073939459; pub const PERF_LARGE_RAW_BASE: u32 = 1073939712; pub const PERF_ELAPSED_TIME: u32 = 807666944; pub const PERF_COUNTER_HISTOGRAM_TYPE: u32 = 2147483648; pub const PERF_COUNTER_DELTA: u32 = 4195328; pub const PERF_COUNTER_LARGE_DELTA: u32 = 4195584; pub const PERF_PRECISION_SYSTEM_TIMER: u32 = 541525248; pub const PERF_PRECISION_100NS_TIMER: u32 = 542573824; pub const PERF_PRECISION_OBJECT_TIMER: u32 = 543622400; pub const PERF_PRECISION_TIMESTAMP: u32 = 1073939712; pub const PERF_DETAIL_NOVICE: u32 = 100; pub const PERF_DETAIL_ADVANCED: u32 = 200; pub const PERF_DETAIL_EXPERT: u32 = 300; pub const PERF_DETAIL_WIZARD: u32 = 400; pub const PERF_NO_UNIQUE_ID: i32 = -1; pub const MAX_PERF_OBJECTS_IN_QUERY_FUNCTION: u32 = 64; pub const WINPERF_LOG_NONE: u32 = 0; pub const WINPERF_LOG_USER: u32 = 1; pub const WINPERF_LOG_DEBUG: u32 = 2; pub const WINPERF_LOG_VERBOSE: u32 = 3; pub const ALG_CLASS_ANY: u32 = 0; pub const ALG_CLASS_SIGNATURE: u32 = 8192; pub const ALG_CLASS_MSG_ENCRYPT: u32 = 16384; pub const ALG_CLASS_DATA_ENCRYPT: u32 = 24576; pub const ALG_CLASS_HASH: u32 = 32768; pub const ALG_CLASS_KEY_EXCHANGE: u32 = 40960; pub const ALG_CLASS_ALL: u32 = 57344; pub const ALG_TYPE_ANY: u32 = 0; pub const ALG_TYPE_DSS: u32 = 512; pub const ALG_TYPE_RSA: u32 = 1024; pub const ALG_TYPE_BLOCK: u32 = 1536; pub const ALG_TYPE_STREAM: u32 = 2048; pub const ALG_TYPE_DH: u32 = 2560; pub const ALG_TYPE_SECURECHANNEL: u32 = 3072; pub const ALG_TYPE_ECDH: u32 = 3584; pub const ALG_TYPE_THIRDPARTY: u32 = 4096; pub const ALG_SID_ANY: u32 = 0; pub const ALG_SID_THIRDPARTY_ANY: u32 = 0; pub const ALG_SID_RSA_ANY: u32 = 0; pub const ALG_SID_RSA_PKCS: u32 = 1; pub const ALG_SID_RSA_MSATWORK: u32 = 2; pub const ALG_SID_RSA_ENTRUST: u32 = 3; pub const ALG_SID_RSA_PGP: u32 = 4; pub const ALG_SID_DSS_ANY: u32 = 0; pub const ALG_SID_DSS_PKCS: u32 = 1; pub const ALG_SID_DSS_DMS: u32 = 2; pub const ALG_SID_ECDSA: u32 = 3; pub const ALG_SID_DES: u32 = 1; pub const ALG_SID_3DES: u32 = 3; pub const ALG_SID_DESX: u32 = 4; pub const ALG_SID_IDEA: u32 = 5; pub const ALG_SID_CAST: u32 = 6; pub const ALG_SID_SAFERSK64: u32 = 7; pub const ALG_SID_SAFERSK128: u32 = 8; pub const ALG_SID_3DES_112: u32 = 9; pub const ALG_SID_CYLINK_MEK: u32 = 12; pub const ALG_SID_RC5: u32 = 13; pub const ALG_SID_AES_128: u32 = 14; pub const ALG_SID_AES_192: u32 = 15; pub const ALG_SID_AES_256: u32 = 16; pub const ALG_SID_AES: u32 = 17; pub const ALG_SID_SKIPJACK: u32 = 10; pub const ALG_SID_TEK: u32 = 11; pub const CRYPT_MODE_CBCI: u32 = 6; pub const CRYPT_MODE_CFBP: u32 = 7; pub const CRYPT_MODE_OFBP: u32 = 8; pub const CRYPT_MODE_CBCOFM: u32 = 9; pub const CRYPT_MODE_CBCOFMI: u32 = 10; pub const ALG_SID_RC2: u32 = 2; pub const ALG_SID_RC4: u32 = 1; pub const ALG_SID_SEAL: u32 = 2; pub const ALG_SID_DH_SANDF: u32 = 1; pub const ALG_SID_DH_EPHEM: u32 = 2; pub const ALG_SID_AGREED_KEY_ANY: u32 = 3; pub const ALG_SID_KEA: u32 = 4; pub const ALG_SID_ECDH: u32 = 5; pub const ALG_SID_ECDH_EPHEM: u32 = 6; pub const ALG_SID_MD2: u32 = 1; pub const ALG_SID_MD4: u32 = 2; pub const ALG_SID_MD5: u32 = 3; pub const ALG_SID_SHA: u32 = 4; pub const ALG_SID_SHA1: u32 = 4; pub const ALG_SID_MAC: u32 = 5; pub const ALG_SID_RIPEMD: u32 = 6; pub const ALG_SID_RIPEMD160: u32 = 7; pub const ALG_SID_SSL3SHAMD5: u32 = 8; pub const ALG_SID_HMAC: u32 = 9; pub const ALG_SID_TLS1PRF: u32 = 10; pub const ALG_SID_HASH_REPLACE_OWF: u32 = 11; pub const ALG_SID_SHA_256: u32 = 12; pub const ALG_SID_SHA_384: u32 = 13; pub const ALG_SID_SHA_512: u32 = 14; pub const ALG_SID_SSL3_MASTER: u32 = 1; pub const ALG_SID_SCHANNEL_MASTER_HASH: u32 = 2; pub const ALG_SID_SCHANNEL_MAC_KEY: u32 = 3; pub const ALG_SID_PCT1_MASTER: u32 = 4; pub const ALG_SID_SSL2_MASTER: u32 = 5; pub const ALG_SID_TLS1_MASTER: u32 = 6; pub const ALG_SID_SCHANNEL_ENC_KEY: u32 = 7; pub const ALG_SID_ECMQV: u32 = 1; pub const ALG_SID_EXAMPLE: u32 = 80; pub const CALG_MD2: u32 = 32769; pub const CALG_MD4: u32 = 32770; pub const CALG_MD5: u32 = 32771; pub const CALG_SHA: u32 = 32772; pub const CALG_SHA1: u32 = 32772; pub const CALG_MAC: u32 = 32773; pub const CALG_RSA_SIGN: u32 = 9216; pub const CALG_DSS_SIGN: u32 = 8704; pub const CALG_NO_SIGN: u32 = 8192; pub const CALG_RSA_KEYX: u32 = 41984; pub const CALG_DES: u32 = 26113; pub const CALG_3DES_112: u32 = 26121; pub const CALG_3DES: u32 = 26115; pub const CALG_DESX: u32 = 26116; pub const CALG_RC2: u32 = 26114; pub const CALG_RC4: u32 = 26625; pub const CALG_SEAL: u32 = 26626; pub const CALG_DH_SF: u32 = 43521; pub const CALG_DH_EPHEM: u32 = 43522; pub const CALG_AGREEDKEY_ANY: u32 = 43523; pub const CALG_KEA_KEYX: u32 = 43524; pub const CALG_HUGHES_MD5: u32 = 40963; pub const CALG_SKIPJACK: u32 = 26122; pub const CALG_TEK: u32 = 26123; pub const CALG_CYLINK_MEK: u32 = 26124; pub const CALG_SSL3_SHAMD5: u32 = 32776; pub const CALG_SSL3_MASTER: u32 = 19457; pub const CALG_SCHANNEL_MASTER_HASH: u32 = 19458; pub const CALG_SCHANNEL_MAC_KEY: u32 = 19459; pub const CALG_SCHANNEL_ENC_KEY: u32 = 19463; pub const CALG_PCT1_MASTER: u32 = 19460; pub const CALG_SSL2_MASTER: u32 = 19461; pub const CALG_TLS1_MASTER: u32 = 19462; pub const CALG_RC5: u32 = 26125; pub const CALG_HMAC: u32 = 32777; pub const CALG_TLS1PRF: u32 = 32778; pub const CALG_HASH_REPLACE_OWF: u32 = 32779; pub const CALG_AES_128: u32 = 26126; pub const CALG_AES_192: u32 = 26127; pub const CALG_AES_256: u32 = 26128; pub const CALG_AES: u32 = 26129; pub const CALG_SHA_256: u32 = 32780; pub const CALG_SHA_384: u32 = 32781; pub const CALG_SHA_512: u32 = 32782; pub const CALG_ECDH: u32 = 43525; pub const CALG_ECDH_EPHEM: u32 = 44550; pub const CALG_ECMQV: u32 = 40961; pub const CALG_ECDSA: u32 = 8707; pub const CALG_NULLCIPHER: u32 = 24576; pub const CALG_THIRDPARTY_KEY_EXCHANGE: u32 = 45056; pub const CALG_THIRDPARTY_SIGNATURE: u32 = 12288; pub const CALG_THIRDPARTY_CIPHER: u32 = 28672; pub const CALG_THIRDPARTY_HASH: u32 = 36864; pub const CRYPT_VERIFYCONTEXT: u32 = 4026531840; pub const CRYPT_NEWKEYSET: u32 = 8; pub const CRYPT_DELETEKEYSET: u32 = 16; pub const CRYPT_MACHINE_KEYSET: u32 = 32; pub const CRYPT_SILENT: u32 = 64; pub const CRYPT_DEFAULT_CONTAINER_OPTIONAL: u32 = 128; pub const CRYPT_EXPORTABLE: u32 = 1; pub const CRYPT_USER_PROTECTED: u32 = 2; pub const CRYPT_CREATE_SALT: u32 = 4; pub const CRYPT_UPDATE_KEY: u32 = 8; pub const CRYPT_NO_SALT: u32 = 16; pub const CRYPT_PREGEN: u32 = 64; pub const CRYPT_RECIPIENT: u32 = 16; pub const CRYPT_INITIATOR: u32 = 64; pub const CRYPT_ONLINE: u32 = 128; pub const CRYPT_SF: u32 = 256; pub const CRYPT_CREATE_IV: u32 = 512; pub const CRYPT_KEK: u32 = 1024; pub const CRYPT_DATA_KEY: u32 = 2048; pub const CRYPT_VOLATILE: u32 = 4096; pub const CRYPT_SGCKEY: u32 = 8192; pub const CRYPT_USER_PROTECTED_STRONG: u32 = 1048576; pub const CRYPT_ARCHIVABLE: u32 = 16384; pub const CRYPT_FORCE_KEY_PROTECTION_HIGH: u32 = 32768; pub const RSA1024BIT_KEY: u32 = 67108864; pub const CRYPT_SERVER: u32 = 1024; pub const KEY_LENGTH_MASK: u32 = 4294901760; pub const CRYPT_Y_ONLY: u32 = 1; pub const CRYPT_SSL2_FALLBACK: u32 = 2; pub const CRYPT_DESTROYKEY: u32 = 4; pub const CRYPT_OAEP: u32 = 64; pub const CRYPT_BLOB_VER3: u32 = 128; pub const CRYPT_IPSEC_HMAC_KEY: u32 = 256; pub const CRYPT_DECRYPT_RSA_NO_PADDING_CHECK: u32 = 32; pub const CRYPT_SECRETDIGEST: u32 = 1; pub const CRYPT_OWF_REPL_LM_HASH: u32 = 1; pub const CRYPT_LITTLE_ENDIAN: u32 = 1; pub const CRYPT_NOHASHOID: u32 = 1; pub const CRYPT_TYPE2_FORMAT: u32 = 2; pub const CRYPT_X931_FORMAT: u32 = 4; pub const CRYPT_MACHINE_DEFAULT: u32 = 1; pub const CRYPT_USER_DEFAULT: u32 = 2; pub const CRYPT_DELETE_DEFAULT: u32 = 4; pub const SIMPLEBLOB: u32 = 1; pub const PUBLICKEYBLOB: u32 = 6; pub const PRIVATEKEYBLOB: u32 = 7; pub const PLAINTEXTKEYBLOB: u32 = 8; pub const OPAQUEKEYBLOB: u32 = 9; pub const PUBLICKEYBLOBEX: u32 = 10; pub const SYMMETRICWRAPKEYBLOB: u32 = 11; pub const KEYSTATEBLOB: u32 = 12; pub const AT_KEYEXCHANGE: u32 = 1; pub const AT_SIGNATURE: u32 = 2; pub const CRYPT_USERDATA: u32 = 1; pub const KP_IV: u32 = 1; pub const KP_SALT: u32 = 2; pub const KP_PADDING: u32 = 3; pub const KP_MODE: u32 = 4; pub const KP_MODE_BITS: u32 = 5; pub const KP_PERMISSIONS: u32 = 6; pub const KP_ALGID: u32 = 7; pub const KP_BLOCKLEN: u32 = 8; pub const KP_KEYLEN: u32 = 9; pub const KP_SALT_EX: u32 = 10; pub const KP_P: u32 = 11; pub const KP_G: u32 = 12; pub const KP_Q: u32 = 13; pub const KP_X: u32 = 14; pub const KP_Y: u32 = 15; pub const KP_RA: u32 = 16; pub const KP_RB: u32 = 17; pub const KP_INFO: u32 = 18; pub const KP_EFFECTIVE_KEYLEN: u32 = 19; pub const KP_SCHANNEL_ALG: u32 = 20; pub const KP_CLIENT_RANDOM: u32 = 21; pub const KP_SERVER_RANDOM: u32 = 22; pub const KP_RP: u32 = 23; pub const KP_PRECOMP_MD5: u32 = 24; pub const KP_PRECOMP_SHA: u32 = 25; pub const KP_CERTIFICATE: u32 = 26; pub const KP_CLEAR_KEY: u32 = 27; pub const KP_PUB_EX_LEN: u32 = 28; pub const KP_PUB_EX_VAL: u32 = 29; pub const KP_KEYVAL: u32 = 30; pub const KP_ADMIN_PIN: u32 = 31; pub const KP_KEYEXCHANGE_PIN: u32 = 32; pub const KP_SIGNATURE_PIN: u32 = 33; pub const KP_PREHASH: u32 = 34; pub const KP_ROUNDS: u32 = 35; pub const KP_OAEP_PARAMS: u32 = 36; pub const KP_CMS_KEY_INFO: u32 = 37; pub const KP_CMS_DH_KEY_INFO: u32 = 38; pub const KP_PUB_PARAMS: u32 = 39; pub const KP_VERIFY_PARAMS: u32 = 40; pub const KP_HIGHEST_VERSION: u32 = 41; pub const KP_GET_USE_COUNT: u32 = 42; pub const KP_PIN_ID: u32 = 43; pub const KP_PIN_INFO: u32 = 44; pub const PKCS5_PADDING: u32 = 1; pub const RANDOM_PADDING: u32 = 2; pub const ZERO_PADDING: u32 = 3; pub const CRYPT_MODE_CBC: u32 = 1; pub const CRYPT_MODE_ECB: u32 = 2; pub const CRYPT_MODE_OFB: u32 = 3; pub const CRYPT_MODE_CFB: u32 = 4; pub const CRYPT_MODE_CTS: u32 = 5; pub const CRYPT_ENCRYPT: u32 = 1; pub const CRYPT_DECRYPT: u32 = 2; pub const CRYPT_EXPORT: u32 = 4; pub const CRYPT_READ: u32 = 8; pub const CRYPT_WRITE: u32 = 16; pub const CRYPT_MAC: u32 = 32; pub const CRYPT_EXPORT_KEY: u32 = 64; pub const CRYPT_IMPORT_KEY: u32 = 128; pub const CRYPT_ARCHIVE: u32 = 256; pub const HP_ALGID: u32 = 1; pub const HP_HASHVAL: u32 = 2; pub const HP_HASHSIZE: u32 = 4; pub const HP_HMAC_INFO: u32 = 5; pub const HP_TLS1PRF_LABEL: u32 = 6; pub const HP_TLS1PRF_SEED: u32 = 7; pub const CRYPT_FAILED: u32 = 0; pub const CRYPT_SUCCEED: u32 = 1; pub const PP_ENUMALGS: u32 = 1; pub const PP_ENUMCONTAINERS: u32 = 2; pub const PP_IMPTYPE: u32 = 3; pub const PP_NAME: u32 = 4; pub const PP_VERSION: u32 = 5; pub const PP_CONTAINER: u32 = 6; pub const PP_CHANGE_PASSWORD: u32 = 7; pub const PP_KEYSET_SEC_DESCR: u32 = 8; pub const PP_CERTCHAIN: u32 = 9; pub const PP_KEY_TYPE_SUBTYPE: u32 = 10; pub const PP_PROVTYPE: u32 = 16; pub const PP_KEYSTORAGE: u32 = 17; pub const PP_APPLI_CERT: u32 = 18; pub const PP_SYM_KEYSIZE: u32 = 19; pub const PP_SESSION_KEYSIZE: u32 = 20; pub const PP_UI_PROMPT: u32 = 21; pub const PP_ENUMALGS_EX: u32 = 22; pub const PP_ENUMMANDROOTS: u32 = 25; pub const PP_ENUMELECTROOTS: u32 = 26; pub const PP_KEYSET_TYPE: u32 = 27; pub const PP_ADMIN_PIN: u32 = 31; pub const PP_KEYEXCHANGE_PIN: u32 = 32; pub const PP_SIGNATURE_PIN: u32 = 33; pub const PP_SIG_KEYSIZE_INC: u32 = 34; pub const PP_KEYX_KEYSIZE_INC: u32 = 35; pub const PP_UNIQUE_CONTAINER: u32 = 36; pub const PP_SGC_INFO: u32 = 37; pub const PP_USE_HARDWARE_RNG: u32 = 38; pub const PP_KEYSPEC: u32 = 39; pub const PP_ENUMEX_SIGNING_PROT: u32 = 40; pub const PP_CRYPT_COUNT_KEY_USE: u32 = 41; pub const PP_USER_CERTSTORE: u32 = 42; pub const PP_SMARTCARD_READER: u32 = 43; pub const PP_SMARTCARD_GUID: u32 = 45; pub const PP_ROOT_CERTSTORE: u32 = 46; pub const PP_SMARTCARD_READER_ICON: u32 = 47; pub const CRYPT_FIRST: u32 = 1; pub const CRYPT_NEXT: u32 = 2; pub const CRYPT_SGC_ENUM: u32 = 4; pub const CRYPT_IMPL_HARDWARE: u32 = 1; pub const CRYPT_IMPL_SOFTWARE: u32 = 2; pub const CRYPT_IMPL_MIXED: u32 = 3; pub const CRYPT_IMPL_UNKNOWN: u32 = 4; pub const CRYPT_IMPL_REMOVABLE: u32 = 8; pub const CRYPT_SEC_DESCR: u32 = 1; pub const CRYPT_PSTORE: u32 = 2; pub const CRYPT_UI_PROMPT: u32 = 4; pub const CRYPT_FLAG_PCT1: u32 = 1; pub const CRYPT_FLAG_SSL2: u32 = 2; pub const CRYPT_FLAG_SSL3: u32 = 4; pub const CRYPT_FLAG_TLS1: u32 = 8; pub const CRYPT_FLAG_IPSEC: u32 = 16; pub const CRYPT_FLAG_SIGNING: u32 = 32; pub const CRYPT_SGC: u32 = 1; pub const CRYPT_FASTSGC: u32 = 2; pub const PP_CLIENT_HWND: u32 = 1; pub const PP_CONTEXT_INFO: u32 = 11; pub const PP_KEYEXCHANGE_KEYSIZE: u32 = 12; pub const PP_SIGNATURE_KEYSIZE: u32 = 13; pub const PP_KEYEXCHANGE_ALG: u32 = 14; pub const PP_SIGNATURE_ALG: u32 = 15; pub const PP_DELETEKEY: u32 = 24; pub const PP_PIN_PROMPT_STRING: u32 = 44; pub const PP_SECURE_KEYEXCHANGE_PIN: u32 = 47; pub const PP_SECURE_SIGNATURE_PIN: u32 = 48; pub const PP_DISMISS_PIN_UI_SEC: u32 = 49; pub const PROV_RSA_FULL: u32 = 1; pub const PROV_RSA_SIG: u32 = 2; pub const PROV_DSS: u32 = 3; pub const PROV_FORTEZZA: u32 = 4; pub const PROV_MS_EXCHANGE: u32 = 5; pub const PROV_SSL: u32 = 6; pub const PROV_RSA_SCHANNEL: u32 = 12; pub const PROV_DSS_DH: u32 = 13; pub const PROV_EC_ECDSA_SIG: u32 = 14; pub const PROV_EC_ECNRA_SIG: u32 = 15; pub const PROV_EC_ECDSA_FULL: u32 = 16; pub const PROV_EC_ECNRA_FULL: u32 = 17; pub const PROV_DH_SCHANNEL: u32 = 18; pub const PROV_SPYRUS_LYNKS: u32 = 20; pub const PROV_RNG: u32 = 21; pub const PROV_INTEL_SEC: u32 = 22; pub const PROV_REPLACE_OWF: u32 = 23; pub const PROV_RSA_AES: u32 = 24; pub const MS_DEF_PROV_A: &'static [u8; 43usize] = b"Microsoft Base Cryptographic Provider v1.0\0"; pub const MS_DEF_PROV_W: &'static [u8; 43usize] = b"Microsoft Base Cryptographic Provider v1.0\0"; pub const MS_DEF_PROV: &'static [u8; 43usize] = b"Microsoft Base Cryptographic Provider v1.0\0"; pub const MS_ENHANCED_PROV_A: &'static [u8; 47usize] = b"Microsoft Enhanced Cryptographic Provider v1.0\0"; pub const MS_ENHANCED_PROV_W: &'static [u8; 47usize] = b"Microsoft Enhanced Cryptographic Provider v1.0\0"; pub const MS_ENHANCED_PROV: &'static [u8; 47usize] = b"Microsoft Enhanced Cryptographic Provider v1.0\0"; pub const MS_STRONG_PROV_A: &'static [u8; 40usize] = b"Microsoft Strong Cryptographic Provider\0"; pub const MS_STRONG_PROV_W: &'static [u8; 40usize] = b"Microsoft Strong Cryptographic Provider\0"; pub const MS_STRONG_PROV: &'static [u8; 40usize] = b"Microsoft Strong Cryptographic Provider\0"; pub const MS_DEF_RSA_SIG_PROV_A: &'static [u8; 47usize] = b"Microsoft RSA Signature Cryptographic Provider\0"; pub const MS_DEF_RSA_SIG_PROV_W: &'static [u8; 47usize] = b"Microsoft RSA Signature Cryptographic Provider\0"; pub const MS_DEF_RSA_SIG_PROV: &'static [u8; 47usize] = b"Microsoft RSA Signature Cryptographic Provider\0"; pub const MS_DEF_RSA_SCHANNEL_PROV_A: &'static [u8; 46usize] = b"Microsoft RSA SChannel Cryptographic Provider\0"; pub const MS_DEF_RSA_SCHANNEL_PROV_W: &'static [u8; 46usize] = b"Microsoft RSA SChannel Cryptographic Provider\0"; pub const MS_DEF_RSA_SCHANNEL_PROV: &'static [u8; 46usize] = b"Microsoft RSA SChannel Cryptographic Provider\0"; pub const MS_DEF_DSS_PROV_A: &'static [u8; 42usize] = b"Microsoft Base DSS Cryptographic Provider\0"; pub const MS_DEF_DSS_PROV_W: &'static [u8; 42usize] = b"Microsoft Base DSS Cryptographic Provider\0"; pub const MS_DEF_DSS_PROV: &'static [u8; 42usize] = b"Microsoft Base DSS Cryptographic Provider\0"; pub const MS_DEF_DSS_DH_PROV_A: &'static [u8; 61usize] = b"Microsoft Base DSS and Diffie-Hellman Cryptographic Provider\0"; pub const MS_DEF_DSS_DH_PROV_W: &'static [u8; 61usize] = b"Microsoft Base DSS and Diffie-Hellman Cryptographic Provider\0"; pub const MS_DEF_DSS_DH_PROV: &'static [u8; 61usize] = b"Microsoft Base DSS and Diffie-Hellman Cryptographic Provider\0"; pub const MS_ENH_DSS_DH_PROV_A: &'static [u8; 65usize] = b"Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider\0"; pub const MS_ENH_DSS_DH_PROV_W: &'static [u8; 65usize] = b"Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider\0"; pub const MS_ENH_DSS_DH_PROV: &'static [u8; 65usize] = b"Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider\0"; pub const MS_DEF_DH_SCHANNEL_PROV_A: &'static [u8; 45usize] = b"Microsoft DH SChannel Cryptographic Provider\0"; pub const MS_DEF_DH_SCHANNEL_PROV_W: &'static [u8; 45usize] = b"Microsoft DH SChannel Cryptographic Provider\0"; pub const MS_DEF_DH_SCHANNEL_PROV: &'static [u8; 45usize] = b"Microsoft DH SChannel Cryptographic Provider\0"; pub const MS_SCARD_PROV_A: &'static [u8; 42usize] = b"Microsoft Base Smart Card Crypto Provider\0"; pub const MS_SCARD_PROV_W: &'static [u8; 42usize] = b"Microsoft Base Smart Card Crypto Provider\0"; pub const MS_SCARD_PROV: &'static [u8; 42usize] = b"Microsoft Base Smart Card Crypto Provider\0"; pub const MS_ENH_RSA_AES_PROV_A: &'static [u8; 54usize] = b"Microsoft Enhanced RSA and AES Cryptographic Provider\0"; pub const MS_ENH_RSA_AES_PROV_W: &'static [u8; 54usize] = b"Microsoft Enhanced RSA and AES Cryptographic Provider\0"; pub const MS_ENH_RSA_AES_PROV_XP_A: &'static [u8; 66usize] = b"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)\0"; pub const MS_ENH_RSA_AES_PROV_XP_W: &'static [u8; 66usize] = b"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)\0"; pub const MS_ENH_RSA_AES_PROV_XP: &'static [u8; 66usize] = b"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)\0"; pub const MS_ENH_RSA_AES_PROV: &'static [u8; 54usize] = b"Microsoft Enhanced RSA and AES Cryptographic Provider\0"; pub const MAXUIDLEN: u32 = 64; pub const EXPO_OFFLOAD_REG_VALUE: &'static [u8; 12usize] = b"ExpoOffload\0"; pub const EXPO_OFFLOAD_FUNC_NAME: &'static [u8; 15usize] = b"OffloadModExpo\0"; pub const szKEY_CRYPTOAPI_PRIVATE_KEY_OPTIONS: &'static [u8; 41usize] = b"Software\\Policies\\Microsoft\\Cryptography\0"; pub const szKEY_CACHE_ENABLED: &'static [u8; 17usize] = b"CachePrivateKeys\0"; pub const szKEY_CACHE_SECONDS: &'static [u8; 26usize] = b"PrivateKeyLifetimeSeconds\0"; pub const szPRIV_KEY_CACHE_MAX_ITEMS: &'static [u8; 21usize] = b"PrivKeyCacheMaxItems\0"; pub const cPRIV_KEY_CACHE_MAX_ITEMS_DEFAULT: u32 = 20; pub const szPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS: &'static [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: &'static [u8; 5usize] = b"HASH\0"; pub const BCRYPT_KDF_HMAC: &'static [u8; 5usize] = b"HMAC\0"; pub const BCRYPT_KDF_TLS_PRF: &'static [u8; 8usize] = b"TLS_PRF\0"; pub const BCRYPT_KDF_SP80056A_CONCAT: &'static [u8; 17usize] = b"SP800_56A_CONCAT\0"; pub const BCRYPT_KDF_RAW_SECRET: &'static [u8; 9usize] = b"TRUNCATE\0"; pub const BCRYPT_KDF_HKDF: &'static [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: &'static [u8; 14usize] = b"OpaqueKeyBlob\0"; pub const BCRYPT_KEY_DATA_BLOB: &'static [u8; 12usize] = b"KeyDataBlob\0"; pub const BCRYPT_AES_WRAP_KEY_BLOB: &'static [u8; 19usize] = b"Rfc3565KeyWrapBlob\0"; pub const BCRYPT_OBJECT_LENGTH: &'static [u8; 13usize] = b"ObjectLength\0"; pub const BCRYPT_ALGORITHM_NAME: &'static [u8; 14usize] = b"AlgorithmName\0"; pub const BCRYPT_PROVIDER_HANDLE: &'static [u8; 15usize] = b"ProviderHandle\0"; pub const BCRYPT_CHAINING_MODE: &'static [u8; 13usize] = b"ChainingMode\0"; pub const BCRYPT_BLOCK_LENGTH: &'static [u8; 12usize] = b"BlockLength\0"; pub const BCRYPT_KEY_LENGTH: &'static [u8; 10usize] = b"KeyLength\0"; pub const BCRYPT_KEY_OBJECT_LENGTH: &'static [u8; 16usize] = b"KeyObjectLength\0"; pub const BCRYPT_KEY_STRENGTH: &'static [u8; 12usize] = b"KeyStrength\0"; pub const BCRYPT_KEY_LENGTHS: &'static [u8; 11usize] = b"KeyLengths\0"; pub const BCRYPT_BLOCK_SIZE_LIST: &'static [u8; 14usize] = b"BlockSizeList\0"; pub const BCRYPT_EFFECTIVE_KEY_LENGTH: &'static [u8; 19usize] = b"EffectiveKeyLength\0"; pub const BCRYPT_HASH_LENGTH: &'static [u8; 17usize] = b"HashDigestLength\0"; pub const BCRYPT_HASH_OID_LIST: &'static [u8; 12usize] = b"HashOIDList\0"; pub const BCRYPT_PADDING_SCHEMES: &'static [u8; 15usize] = b"PaddingSchemes\0"; pub const BCRYPT_SIGNATURE_LENGTH: &'static [u8; 16usize] = b"SignatureLength\0"; pub const BCRYPT_HASH_BLOCK_LENGTH: &'static [u8; 16usize] = b"HashBlockLength\0"; pub const BCRYPT_AUTH_TAG_LENGTH: &'static [u8; 14usize] = b"AuthTagLength\0"; pub const BCRYPT_PRIMITIVE_TYPE: &'static [u8; 14usize] = b"PrimitiveType\0"; pub const BCRYPT_IS_KEYED_HASH: &'static [u8; 12usize] = b"IsKeyedHash\0"; pub const BCRYPT_IS_REUSABLE_HASH: &'static [u8; 15usize] = b"IsReusableHash\0"; pub const BCRYPT_MESSAGE_BLOCK_LENGTH: &'static [u8; 19usize] = b"MessageBlockLength\0"; pub const BCRYPT_PUBLIC_KEY_LENGTH: &'static [u8; 16usize] = b"PublicKeyLength\0"; pub const BCRYPT_PCP_PLATFORM_TYPE_PROPERTY: &'static [u8; 18usize] = b"PCP_PLATFORM_TYPE\0"; pub const BCRYPT_PCP_PROVIDER_VERSION_PROPERTY: &'static [u8; 21usize] = b"PCP_PROVIDER_VERSION\0"; pub const BCRYPT_MULTI_OBJECT_LENGTH: &'static [u8; 18usize] = b"MultiObjectLength\0"; pub const BCRYPT_IS_IFX_TPM_WEAK_KEY: &'static [u8; 16usize] = b"IsIfxTpmWeakKey\0"; pub const BCRYPT_HKDF_HASH_ALGORITHM: &'static [u8; 18usize] = b"HkdfHashAlgorithm\0"; pub const BCRYPT_HKDF_SALT_AND_FINALIZE: &'static [u8; 20usize] = b"HkdfSaltAndFinalize\0"; pub const BCRYPT_HKDF_PRK_AND_FINALIZE: &'static [u8; 19usize] = b"HkdfPrkAndFinalize\0"; pub const BCRYPT_INITIALIZATION_VECTOR: &'static [u8; 3usize] = b"IV\0"; pub const BCRYPT_CHAIN_MODE_NA: &'static [u8; 16usize] = b"ChainingModeN/A\0"; pub const BCRYPT_CHAIN_MODE_CBC: &'static [u8; 16usize] = b"ChainingModeCBC\0"; pub const BCRYPT_CHAIN_MODE_ECB: &'static [u8; 16usize] = b"ChainingModeECB\0"; pub const BCRYPT_CHAIN_MODE_CFB: &'static [u8; 16usize] = b"ChainingModeCFB\0"; pub const BCRYPT_CHAIN_MODE_CCM: &'static [u8; 16usize] = b"ChainingModeCCM\0"; pub const BCRYPT_CHAIN_MODE_GCM: &'static [u8; 16usize] = b"ChainingModeGCM\0"; pub const BCRYPT_SUPPORTED_PAD_ROUTER: u32 = 1; pub const BCRYPT_SUPPORTED_PAD_PKCS1_ENC: u32 = 2; pub const BCRYPT_SUPPORTED_PAD_PKCS1_SIG: u32 = 4; pub const BCRYPT_SUPPORTED_PAD_OAEP: u32 = 8; pub const BCRYPT_SUPPORTED_PAD_PSS: u32 = 16; pub const BCRYPT_PROV_DISPATCH: u32 = 1; pub const BCRYPT_BLOCK_PADDING: u32 = 1; pub const BCRYPT_PAD_NONE: u32 = 1; pub const BCRYPT_PAD_PKCS1: u32 = 2; pub const BCRYPT_PAD_OAEP: u32 = 4; pub const BCRYPT_PAD_PSS: u32 = 8; pub const BCRYPT_PAD_PKCS1_OPTIONAL_HASH_OID: u32 = 16; pub const BCRYPTBUFFER_VERSION: u32 = 0; pub const BCRYPT_PUBLIC_KEY_BLOB: &'static [u8; 11usize] = b"PUBLICBLOB\0"; pub const BCRYPT_PRIVATE_KEY_BLOB: &'static [u8; 12usize] = b"PRIVATEBLOB\0"; pub const BCRYPT_RSAPUBLIC_BLOB: &'static [u8; 14usize] = b"RSAPUBLICBLOB\0"; pub const BCRYPT_RSAPRIVATE_BLOB: &'static [u8; 15usize] = b"RSAPRIVATEBLOB\0"; pub const LEGACY_RSAPUBLIC_BLOB: &'static [u8; 15usize] = b"CAPIPUBLICBLOB\0"; pub const LEGACY_RSAPRIVATE_BLOB: &'static [u8; 16usize] = b"CAPIPRIVATEBLOB\0"; pub const BCRYPT_RSAPUBLIC_MAGIC: u32 = 826364754; pub const BCRYPT_RSAPRIVATE_MAGIC: u32 = 843141970; pub const BCRYPT_RSAFULLPRIVATE_BLOB: &'static [u8; 19usize] = b"RSAFULLPRIVATEBLOB\0"; pub const BCRYPT_RSAFULLPRIVATE_MAGIC: u32 = 859919186; pub const BCRYPT_GLOBAL_PARAMETERS: &'static [u8; 21usize] = b"SecretAgreementParam\0"; pub const BCRYPT_PRIVATE_KEY: &'static [u8; 11usize] = b"PrivKeyVal\0"; pub const BCRYPT_ECCPUBLIC_BLOB: &'static [u8; 14usize] = b"ECCPUBLICBLOB\0"; pub const BCRYPT_ECCPRIVATE_BLOB: &'static [u8; 15usize] = b"ECCPRIVATEBLOB\0"; pub const BCRYPT_ECCFULLPUBLIC_BLOB: &'static [u8; 18usize] = b"ECCFULLPUBLICBLOB\0"; pub const BCRYPT_ECCFULLPRIVATE_BLOB: &'static [u8; 19usize] = b"ECCFULLPRIVATEBLOB\0"; pub const SSL_ECCPUBLIC_BLOB: &'static [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: &'static [u8; 13usize] = b"DHPUBLICBLOB\0"; pub const BCRYPT_DH_PRIVATE_BLOB: &'static [u8; 14usize] = b"DHPRIVATEBLOB\0"; pub const LEGACY_DH_PUBLIC_BLOB: &'static [u8; 17usize] = b"CAPIDHPUBLICBLOB\0"; pub const LEGACY_DH_PRIVATE_BLOB: &'static [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: &'static [u8; 13usize] = b"DHParameters\0"; pub const BCRYPT_DH_PARAMETERS_MAGIC: u32 = 1297107012; pub const BCRYPT_DSA_PUBLIC_BLOB: &'static [u8; 14usize] = b"DSAPUBLICBLOB\0"; pub const BCRYPT_DSA_PRIVATE_BLOB: &'static [u8; 15usize] = b"DSAPRIVATEBLOB\0"; pub const LEGACY_DSA_PUBLIC_BLOB: &'static [u8; 18usize] = b"CAPIDSAPUBLICBLOB\0"; pub const LEGACY_DSA_PRIVATE_BLOB: &'static [u8; 19usize] = b"CAPIDSAPRIVATEBLOB\0"; pub const LEGACY_DSA_V2_PUBLIC_BLOB: &'static [u8; 20usize] = b"V2CAPIDSAPUBLICBLOB\0"; pub const LEGACY_DSA_V2_PRIVATE_BLOB: &'static [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: &'static [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: &'static [u8; 14usize] = b"ECCParameters\0"; pub const BCRYPT_ECC_CURVE_NAME: &'static [u8; 13usize] = b"ECCCurveName\0"; pub const BCRYPT_ECC_CURVE_NAME_LIST: &'static [u8; 17usize] = b"ECCCurveNameList\0"; pub const BCRYPT_ECC_PARAMETERS_MAGIC: u32 = 1346585413; pub const BCRYPT_ECC_CURVE_BRAINPOOLP160R1: &'static [u8; 16usize] = b"brainpoolP160r1\0"; pub const BCRYPT_ECC_CURVE_BRAINPOOLP160T1: &'static [u8; 16usize] = b"brainpoolP160t1\0"; pub const BCRYPT_ECC_CURVE_BRAINPOOLP192R1: &'static [u8; 16usize] = b"brainpoolP192r1\0"; pub const BCRYPT_ECC_CURVE_BRAINPOOLP192T1: &'static [u8; 16usize] = b"brainpoolP192t1\0"; pub const BCRYPT_ECC_CURVE_BRAINPOOLP224R1: &'static [u8; 16usize] = b"brainpoolP224r1\0"; pub const BCRYPT_ECC_CURVE_BRAINPOOLP224T1: &'static [u8; 16usize] = b"brainpoolP224t1\0"; pub const BCRYPT_ECC_CURVE_BRAINPOOLP256R1: &'static [u8; 16usize] = b"brainpoolP256r1\0"; pub const BCRYPT_ECC_CURVE_BRAINPOOLP256T1: &'static [u8; 16usize] = b"brainpoolP256t1\0"; pub const BCRYPT_ECC_CURVE_BRAINPOOLP320R1: &'static [u8; 16usize] = b"brainpoolP320r1\0"; pub const BCRYPT_ECC_CURVE_BRAINPOOLP320T1: &'static [u8; 16usize] = b"brainpoolP320t1\0"; pub const BCRYPT_ECC_CURVE_BRAINPOOLP384R1: &'static [u8; 16usize] = b"brainpoolP384r1\0"; pub const BCRYPT_ECC_CURVE_BRAINPOOLP384T1: &'static [u8; 16usize] = b"brainpoolP384t1\0"; pub const BCRYPT_ECC_CURVE_BRAINPOOLP512R1: &'static [u8; 16usize] = b"brainpoolP512r1\0"; pub const BCRYPT_ECC_CURVE_BRAINPOOLP512T1: &'static [u8; 16usize] = b"brainpoolP512t1\0"; pub const BCRYPT_ECC_CURVE_25519: &'static [u8; 11usize] = b"curve25519\0"; pub const BCRYPT_ECC_CURVE_EC192WAPI: &'static [u8; 10usize] = b"ec192wapi\0"; pub const BCRYPT_ECC_CURVE_NISTP192: &'static [u8; 9usize] = b"nistP192\0"; pub const BCRYPT_ECC_CURVE_NISTP224: &'static [u8; 9usize] = b"nistP224\0"; pub const BCRYPT_ECC_CURVE_NISTP256: &'static [u8; 9usize] = b"nistP256\0"; pub const BCRYPT_ECC_CURVE_NISTP384: &'static [u8; 9usize] = b"nistP384\0"; pub const BCRYPT_ECC_CURVE_NISTP521: &'static [u8; 9usize] = b"nistP521\0"; pub const BCRYPT_ECC_CURVE_NUMSP256T1: &'static [u8; 11usize] = b"numsP256t1\0"; pub const BCRYPT_ECC_CURVE_NUMSP384T1: &'static [u8; 11usize] = b"numsP384t1\0"; pub const BCRYPT_ECC_CURVE_NUMSP512T1: &'static [u8; 11usize] = b"numsP512t1\0"; pub const BCRYPT_ECC_CURVE_SECP160K1: &'static [u8; 10usize] = b"secP160k1\0"; pub const BCRYPT_ECC_CURVE_SECP160R1: &'static [u8; 10usize] = b"secP160r1\0"; pub const BCRYPT_ECC_CURVE_SECP160R2: &'static [u8; 10usize] = b"secP160r2\0"; pub const BCRYPT_ECC_CURVE_SECP192K1: &'static [u8; 10usize] = b"secP192k1\0"; pub const BCRYPT_ECC_CURVE_SECP192R1: &'static [u8; 10usize] = b"secP192r1\0"; pub const BCRYPT_ECC_CURVE_SECP224K1: &'static [u8; 10usize] = b"secP224k1\0"; pub const BCRYPT_ECC_CURVE_SECP224R1: &'static [u8; 10usize] = b"secP224r1\0"; pub const BCRYPT_ECC_CURVE_SECP256K1: &'static [u8; 10usize] = b"secP256k1\0"; pub const BCRYPT_ECC_CURVE_SECP256R1: &'static [u8; 10usize] = b"secP256r1\0"; pub const BCRYPT_ECC_CURVE_SECP384R1: &'static [u8; 10usize] = b"secP384r1\0"; pub const BCRYPT_ECC_CURVE_SECP521R1: &'static [u8; 10usize] = b"secP521r1\0"; pub const BCRYPT_ECC_CURVE_WTLS7: &'static [u8; 6usize] = b"wtls7\0"; pub const BCRYPT_ECC_CURVE_WTLS9: &'static [u8; 6usize] = b"wtls9\0"; pub const BCRYPT_ECC_CURVE_WTLS12: &'static [u8; 7usize] = b"wtls12\0"; pub const BCRYPT_ECC_CURVE_X962P192V1: &'static [u8; 11usize] = b"x962P192v1\0"; pub const BCRYPT_ECC_CURVE_X962P192V2: &'static [u8; 11usize] = b"x962P192v2\0"; pub const BCRYPT_ECC_CURVE_X962P192V3: &'static [u8; 11usize] = b"x962P192v3\0"; pub const BCRYPT_ECC_CURVE_X962P239V1: &'static [u8; 11usize] = b"x962P239v1\0"; pub const BCRYPT_ECC_CURVE_X962P239V2: &'static [u8; 11usize] = b"x962P239v2\0"; pub const BCRYPT_ECC_CURVE_X962P239V3: &'static [u8; 11usize] = b"x962P239v3\0"; pub const BCRYPT_ECC_CURVE_X962P256V1: &'static [u8; 11usize] = b"x962P256v1\0"; pub const MS_PRIMITIVE_PROVIDER: &'static [u8; 29usize] = b"Microsoft Primitive Provider\0"; pub const MS_PLATFORM_CRYPTO_PROVIDER: &'static [u8; 35usize] = b"Microsoft Platform Crypto Provider\0"; pub const BCRYPT_RSA_ALGORITHM: &'static [u8; 4usize] = b"RSA\0"; pub const BCRYPT_RSA_SIGN_ALGORITHM: &'static [u8; 9usize] = b"RSA_SIGN\0"; pub const BCRYPT_DH_ALGORITHM: &'static [u8; 3usize] = b"DH\0"; pub const BCRYPT_DSA_ALGORITHM: &'static [u8; 4usize] = b"DSA\0"; pub const BCRYPT_RC2_ALGORITHM: &'static [u8; 4usize] = b"RC2\0"; pub const BCRYPT_RC4_ALGORITHM: &'static [u8; 4usize] = b"RC4\0"; pub const BCRYPT_AES_ALGORITHM: &'static [u8; 4usize] = b"AES\0"; pub const BCRYPT_DES_ALGORITHM: &'static [u8; 4usize] = b"DES\0"; pub const BCRYPT_DESX_ALGORITHM: &'static [u8; 5usize] = b"DESX\0"; pub const BCRYPT_3DES_ALGORITHM: &'static [u8; 5usize] = b"3DES\0"; pub const BCRYPT_3DES_112_ALGORITHM: &'static [u8; 9usize] = b"3DES_112\0"; pub const BCRYPT_MD2_ALGORITHM: &'static [u8; 4usize] = b"MD2\0"; pub const BCRYPT_MD4_ALGORITHM: &'static [u8; 4usize] = b"MD4\0"; pub const BCRYPT_MD5_ALGORITHM: &'static [u8; 4usize] = b"MD5\0"; pub const BCRYPT_SHA1_ALGORITHM: &'static [u8; 5usize] = b"SHA1\0"; pub const BCRYPT_SHA256_ALGORITHM: &'static [u8; 7usize] = b"SHA256\0"; pub const BCRYPT_SHA384_ALGORITHM: &'static [u8; 7usize] = b"SHA384\0"; pub const BCRYPT_SHA512_ALGORITHM: &'static [u8; 7usize] = b"SHA512\0"; pub const BCRYPT_AES_GMAC_ALGORITHM: &'static [u8; 9usize] = b"AES-GMAC\0"; pub const BCRYPT_AES_CMAC_ALGORITHM: &'static [u8; 9usize] = b"AES-CMAC\0"; pub const BCRYPT_ECDSA_P256_ALGORITHM: &'static [u8; 11usize] = b"ECDSA_P256\0"; pub const BCRYPT_ECDSA_P384_ALGORITHM: &'static [u8; 11usize] = b"ECDSA_P384\0"; pub const BCRYPT_ECDSA_P521_ALGORITHM: &'static [u8; 11usize] = b"ECDSA_P521\0"; pub const BCRYPT_ECDH_P256_ALGORITHM: &'static [u8; 10usize] = b"ECDH_P256\0"; pub const BCRYPT_ECDH_P384_ALGORITHM: &'static [u8; 10usize] = b"ECDH_P384\0"; pub const BCRYPT_ECDH_P521_ALGORITHM: &'static [u8; 10usize] = b"ECDH_P521\0"; pub const BCRYPT_RNG_ALGORITHM: &'static [u8; 4usize] = b"RNG\0"; pub const BCRYPT_RNG_FIPS186_DSA_ALGORITHM: &'static [u8; 14usize] = b"FIPS186DSARNG\0"; pub const BCRYPT_RNG_DUAL_EC_ALGORITHM: &'static [u8; 10usize] = b"DUALECRNG\0"; pub const BCRYPT_SP800108_CTR_HMAC_ALGORITHM: &'static [u8; 19usize] = b"SP800_108_CTR_HMAC\0"; pub const BCRYPT_SP80056A_CONCAT_ALGORITHM: &'static [u8; 17usize] = b"SP800_56A_CONCAT\0"; pub const BCRYPT_PBKDF2_ALGORITHM: &'static [u8; 7usize] = b"PBKDF2\0"; pub const BCRYPT_CAPI_KDF_ALGORITHM: &'static [u8; 9usize] = b"CAPI_KDF\0"; pub const BCRYPT_TLS1_1_KDF_ALGORITHM: &'static [u8; 11usize] = b"TLS1_1_KDF\0"; pub const BCRYPT_TLS1_2_KDF_ALGORITHM: &'static [u8; 11usize] = b"TLS1_2_KDF\0"; pub const BCRYPT_ECDSA_ALGORITHM: &'static [u8; 6usize] = b"ECDSA\0"; pub const BCRYPT_ECDH_ALGORITHM: &'static [u8; 5usize] = b"ECDH\0"; pub const BCRYPT_XTS_AES_ALGORITHM: &'static [u8; 8usize] = b"XTS-AES\0"; pub const BCRYPT_HKDF_ALGORITHM: &'static [u8; 5usize] = b"HKDF\0"; pub const BCRYPT_CIPHER_INTERFACE: u32 = 1; pub const BCRYPT_HASH_INTERFACE: u32 = 2; pub const BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE: u32 = 3; pub const BCRYPT_SECRET_AGREEMENT_INTERFACE: u32 = 4; pub const BCRYPT_SIGNATURE_INTERFACE: u32 = 5; pub const BCRYPT_RNG_INTERFACE: u32 = 6; pub const BCRYPT_KEY_DERIVATION_INTERFACE: u32 = 7; pub const BCRYPT_ALG_HANDLE_HMAC_FLAG: u32 = 8; pub const BCRYPT_HASH_REUSABLE_FLAG: u32 = 32; pub const BCRYPT_CAPI_AES_FLAG: u32 = 16; pub const BCRYPT_MULTI_FLAG: u32 = 64; pub const BCRYPT_TLS_CBC_HMAC_VERIFY_FLAG: u32 = 4; pub const BCRYPT_BUFFERS_LOCKED_FLAG: u32 = 64; pub const BCRYPT_EXTENDED_KEYSIZE: u32 = 128; pub const BCRYPT_ENABLE_INCOMPATIBLE_FIPS_CHECKS: u32 = 256; pub const BCRYPT_CIPHER_OPERATION: u32 = 1; pub const BCRYPT_HASH_OPERATION: u32 = 2; pub const BCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION: u32 = 4; pub const BCRYPT_SECRET_AGREEMENT_OPERATION: u32 = 8; pub const BCRYPT_SIGNATURE_OPERATION: u32 = 16; pub const BCRYPT_RNG_OPERATION: u32 = 32; pub const BCRYPT_KEY_DERIVATION_OPERATION: u32 = 64; pub const BCRYPT_PUBLIC_KEY_FLAG: u32 = 1; pub const BCRYPT_PRIVATE_KEY_FLAG: u32 = 2; pub const BCRYPT_NO_KEY_VALIDATION: u32 = 8; pub const BCRYPT_RNG_USE_ENTROPY_IN_BUFFER: u32 = 1; pub const BCRYPT_USE_SYSTEM_PREFERRED_RNG: u32 = 2; pub const BCRYPT_HASH_INTERFACE_MAJORVERSION_2: u32 = 2; pub const CRYPT_MIN_DEPENDENCIES: u32 = 1; pub const CRYPT_PROCESS_ISOLATE: u32 = 65536; pub const CRYPT_UM: u32 = 1; pub const CRYPT_KM: u32 = 2; pub const CRYPT_MM: u32 = 3; pub const CRYPT_ANY: u32 = 4; pub const CRYPT_OVERWRITE: u32 = 1; pub const CRYPT_LOCAL: u32 = 1; pub const CRYPT_DOMAIN: u32 = 2; pub const CRYPT_EXCLUSIVE: u32 = 1; pub const CRYPT_OVERRIDE: u32 = 65536; pub const CRYPT_ALL_FUNCTIONS: u32 = 1; pub const CRYPT_ALL_PROVIDERS: u32 = 2; pub const CRYPT_PRIORITY_TOP: u32 = 0; pub const CRYPT_PRIORITY_BOTTOM: u32 = 4294967295; pub const CRYPT_DEFAULT_CONTEXT: &'static [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: &'static [u8; 40usize] = b"Microsoft Software Key Storage Provider\0"; pub const MS_SMART_CARD_KEY_STORAGE_PROVIDER: &'static [u8; 42usize] = b"Microsoft Smart Card Key Storage Provider\0"; pub const MS_PLATFORM_KEY_STORAGE_PROVIDER: &'static [u8; 35usize] = b"Microsoft Platform Crypto Provider\0"; pub const MS_NGC_KEY_STORAGE_PROVIDER: &'static [u8; 40usize] = b"Microsoft Passport Key Storage Provider\0"; pub const TPM_RSA_SRK_SEAL_KEY: &'static [u8; 68usize] = b"MICROSOFT_PCP_KSP_RSA_SEAL_KEY_3BD1C4BF-004E-4E2F-8A4D-0BF633DCB074\0"; pub const NCRYPT_RSA_ALGORITHM: &'static [u8; 4usize] = b"RSA\0"; pub const NCRYPT_RSA_SIGN_ALGORITHM: &'static [u8; 9usize] = b"RSA_SIGN\0"; pub const NCRYPT_DH_ALGORITHM: &'static [u8; 3usize] = b"DH\0"; pub const NCRYPT_DSA_ALGORITHM: &'static [u8; 4usize] = b"DSA\0"; pub const NCRYPT_MD2_ALGORITHM: &'static [u8; 4usize] = b"MD2\0"; pub const NCRYPT_MD4_ALGORITHM: &'static [u8; 4usize] = b"MD4\0"; pub const NCRYPT_MD5_ALGORITHM: &'static [u8; 4usize] = b"MD5\0"; pub const NCRYPT_SHA1_ALGORITHM: &'static [u8; 5usize] = b"SHA1\0"; pub const NCRYPT_SHA256_ALGORITHM: &'static [u8; 7usize] = b"SHA256\0"; pub const NCRYPT_SHA384_ALGORITHM: &'static [u8; 7usize] = b"SHA384\0"; pub const NCRYPT_SHA512_ALGORITHM: &'static [u8; 7usize] = b"SHA512\0"; pub const NCRYPT_ECDSA_P256_ALGORITHM: &'static [u8; 11usize] = b"ECDSA_P256\0"; pub const NCRYPT_ECDSA_P384_ALGORITHM: &'static [u8; 11usize] = b"ECDSA_P384\0"; pub const NCRYPT_ECDSA_P521_ALGORITHM: &'static [u8; 11usize] = b"ECDSA_P521\0"; pub const NCRYPT_ECDH_P256_ALGORITHM: &'static [u8; 10usize] = b"ECDH_P256\0"; pub const NCRYPT_ECDH_P384_ALGORITHM: &'static [u8; 10usize] = b"ECDH_P384\0"; pub const NCRYPT_ECDH_P521_ALGORITHM: &'static [u8; 10usize] = b"ECDH_P521\0"; pub const NCRYPT_AES_ALGORITHM: &'static [u8; 4usize] = b"AES\0"; pub const NCRYPT_RC2_ALGORITHM: &'static [u8; 4usize] = b"RC2\0"; pub const NCRYPT_3DES_ALGORITHM: &'static [u8; 5usize] = b"3DES\0"; pub const NCRYPT_DES_ALGORITHM: &'static [u8; 4usize] = b"DES\0"; pub const NCRYPT_DESX_ALGORITHM: &'static [u8; 5usize] = b"DESX\0"; pub const NCRYPT_3DES_112_ALGORITHM: &'static [u8; 9usize] = b"3DES_112\0"; pub const NCRYPT_SP800108_CTR_HMAC_ALGORITHM: &'static [u8; 19usize] = b"SP800_108_CTR_HMAC\0"; pub const NCRYPT_SP80056A_CONCAT_ALGORITHM: &'static [u8; 17usize] = b"SP800_56A_CONCAT\0"; pub const NCRYPT_PBKDF2_ALGORITHM: &'static [u8; 7usize] = b"PBKDF2\0"; pub const NCRYPT_CAPI_KDF_ALGORITHM: &'static [u8; 9usize] = b"CAPI_KDF\0"; pub const NCRYPT_ECDSA_ALGORITHM: &'static [u8; 6usize] = b"ECDSA\0"; pub const NCRYPT_ECDH_ALGORITHM: &'static [u8; 5usize] = b"ECDH\0"; pub const NCRYPT_KEY_STORAGE_ALGORITHM: &'static [u8; 12usize] = b"KEY_STORAGE\0"; pub const NCRYPT_HMAC_SHA256_ALGORITHM: &'static [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: &'static [u8; 4usize] = b"RSA\0"; pub const NCRYPT_DH_ALGORITHM_GROUP: &'static [u8; 3usize] = b"DH\0"; pub const NCRYPT_DSA_ALGORITHM_GROUP: &'static [u8; 4usize] = b"DSA\0"; pub const NCRYPT_ECDSA_ALGORITHM_GROUP: &'static [u8; 6usize] = b"ECDSA\0"; pub const NCRYPT_ECDH_ALGORITHM_GROUP: &'static [u8; 5usize] = b"ECDH\0"; pub const NCRYPT_AES_ALGORITHM_GROUP: &'static [u8; 4usize] = b"AES\0"; pub const NCRYPT_RC2_ALGORITHM_GROUP: &'static [u8; 4usize] = b"RC2\0"; pub const NCRYPT_DES_ALGORITHM_GROUP: &'static [u8; 4usize] = b"DES\0"; pub const NCRYPT_KEY_DERIVATION_GROUP: &'static [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: &'static [u8; 5usize] = b"Name\0"; pub const NCRYPT_UNIQUE_NAME_PROPERTY: &'static [u8; 12usize] = b"Unique Name\0"; pub const NCRYPT_ALGORITHM_PROPERTY: &'static [u8; 15usize] = b"Algorithm Name\0"; pub const NCRYPT_LENGTH_PROPERTY: &'static [u8; 7usize] = b"Length\0"; pub const NCRYPT_LENGTHS_PROPERTY: &'static [u8; 8usize] = b"Lengths\0"; pub const NCRYPT_BLOCK_LENGTH_PROPERTY: &'static [u8; 13usize] = b"Block Length\0"; pub const NCRYPT_PUBLIC_LENGTH_PROPERTY: &'static [u8; 16usize] = b"PublicKeyLength\0"; pub const NCRYPT_SIGNATURE_LENGTH_PROPERTY: &'static [u8; 16usize] = b"SignatureLength\0"; pub const NCRYPT_CHAINING_MODE_PROPERTY: &'static [u8; 14usize] = b"Chaining Mode\0"; pub const NCRYPT_AUTH_TAG_LENGTH: &'static [u8; 14usize] = b"AuthTagLength\0"; pub const NCRYPT_UI_POLICY_PROPERTY: &'static [u8; 10usize] = b"UI Policy\0"; pub const NCRYPT_EXPORT_POLICY_PROPERTY: &'static [u8; 14usize] = b"Export Policy\0"; pub const NCRYPT_WINDOW_HANDLE_PROPERTY: &'static [u8; 12usize] = b"HWND Handle\0"; pub const NCRYPT_USE_CONTEXT_PROPERTY: &'static [u8; 12usize] = b"Use Context\0"; pub const NCRYPT_IMPL_TYPE_PROPERTY: &'static [u8; 10usize] = b"Impl Type\0"; pub const NCRYPT_KEY_USAGE_PROPERTY: &'static [u8; 10usize] = b"Key Usage\0"; pub const NCRYPT_KEY_TYPE_PROPERTY: &'static [u8; 9usize] = b"Key Type\0"; pub const NCRYPT_VERSION_PROPERTY: &'static [u8; 8usize] = b"Version\0"; pub const NCRYPT_SECURITY_DESCR_SUPPORT_PROPERTY: &'static [u8; 23usize] = b"Security Descr Support\0"; pub const NCRYPT_SECURITY_DESCR_PROPERTY: &'static [u8; 15usize] = b"Security Descr\0"; pub const NCRYPT_USE_COUNT_ENABLED_PROPERTY: &'static [u8; 18usize] = b"Enabled Use Count\0"; pub const NCRYPT_USE_COUNT_PROPERTY: &'static [u8; 10usize] = b"Use Count\0"; pub const NCRYPT_LAST_MODIFIED_PROPERTY: &'static [u8; 9usize] = b"Modified\0"; pub const NCRYPT_MAX_NAME_LENGTH_PROPERTY: &'static [u8; 16usize] = b"Max Name Length\0"; pub const NCRYPT_ALGORITHM_GROUP_PROPERTY: &'static [u8; 16usize] = b"Algorithm Group\0"; pub const NCRYPT_DH_PARAMETERS_PROPERTY: &'static [u8; 13usize] = b"DHParameters\0"; pub const NCRYPT_ECC_PARAMETERS_PROPERTY: &'static [u8; 14usize] = b"ECCParameters\0"; pub const NCRYPT_ECC_CURVE_NAME_PROPERTY: &'static [u8; 13usize] = b"ECCCurveName\0"; pub const NCRYPT_ECC_CURVE_NAME_LIST_PROPERTY: &'static [u8; 17usize] = b"ECCCurveNameList\0"; pub const NCRYPT_USE_VIRTUAL_ISOLATION_PROPERTY: &'static [u8; 12usize] = b"Virtual Iso\0"; pub const NCRYPT_USE_PER_BOOT_KEY_PROPERTY: &'static [u8; 13usize] = b"Per Boot Key\0"; pub const NCRYPT_PROVIDER_HANDLE_PROPERTY: &'static [u8; 16usize] = b"Provider Handle\0"; pub const NCRYPT_PIN_PROPERTY: &'static [u8; 13usize] = b"SmartCardPin\0"; pub const NCRYPT_READER_PROPERTY: &'static [u8; 16usize] = b"SmartCardReader\0"; pub const NCRYPT_SMARTCARD_GUID_PROPERTY: &'static [u8; 14usize] = b"SmartCardGuid\0"; pub const NCRYPT_CERTIFICATE_PROPERTY: &'static [u8; 24usize] = b"SmartCardKeyCertificate\0"; pub const NCRYPT_PIN_PROMPT_PROPERTY: &'static [u8; 19usize] = b"SmartCardPinPrompt\0"; pub const NCRYPT_USER_CERTSTORE_PROPERTY: &'static [u8; 23usize] = b"SmartCardUserCertStore\0"; pub const NCRYPT_ROOT_CERTSTORE_PROPERTY: &'static [u8; 23usize] = b"SmartcardRootCertStore\0"; pub const NCRYPT_SECURE_PIN_PROPERTY: &'static [u8; 19usize] = b"SmartCardSecurePin\0"; pub const NCRYPT_ASSOCIATED_ECDH_KEY: &'static [u8; 27usize] = b"SmartCardAssociatedECDHKey\0"; pub const NCRYPT_SCARD_PIN_ID: &'static [u8; 15usize] = b"SmartCardPinId\0"; pub const NCRYPT_SCARD_PIN_INFO: &'static [u8; 17usize] = b"SmartCardPinInfo\0"; pub const NCRYPT_READER_ICON_PROPERTY: &'static [u8; 20usize] = b"SmartCardReaderIcon\0"; pub const NCRYPT_KDF_SECRET_VALUE: &'static [u8; 13usize] = b"KDFKeySecret\0"; pub const NCRYPT_DISMISS_UI_TIMEOUT_SEC_PROPERTY: &'static [u8; 33usize] = b"SmartCardDismissUITimeoutSeconds\0"; pub const NCRYPT_PCP_PLATFORM_TYPE_PROPERTY: &'static [u8; 18usize] = b"PCP_PLATFORM_TYPE\0"; pub const NCRYPT_PCP_PROVIDER_VERSION_PROPERTY: &'static [u8; 21usize] = b"PCP_PROVIDER_VERSION\0"; pub const NCRYPT_PCP_EKPUB_PROPERTY: &'static [u8; 10usize] = b"PCP_EKPUB\0"; pub const NCRYPT_PCP_EKCERT_PROPERTY: &'static [u8; 11usize] = b"PCP_EKCERT\0"; pub const NCRYPT_PCP_EKNVCERT_PROPERTY: &'static [u8; 13usize] = b"PCP_EKNVCERT\0"; pub const NCRYPT_PCP_RSA_EKPUB_PROPERTY: &'static [u8; 14usize] = b"PCP_RSA_EKPUB\0"; pub const NCRYPT_PCP_RSA_EKCERT_PROPERTY: &'static [u8; 15usize] = b"PCP_RSA_EKCERT\0"; pub const NCRYPT_PCP_RSA_EKNVCERT_PROPERTY: &'static [u8; 17usize] = b"PCP_RSA_EKNVCERT\0"; pub const NCRYPT_PCP_ECC_EKPUB_PROPERTY: &'static [u8; 14usize] = b"PCP_ECC_EKPUB\0"; pub const NCRYPT_PCP_ECC_EKCERT_PROPERTY: &'static [u8; 15usize] = b"PCP_ECC_EKCERT\0"; pub const NCRYPT_PCP_ECC_EKNVCERT_PROPERTY: &'static [u8; 17usize] = b"PCP_ECC_EKNVCERT\0"; pub const NCRYPT_PCP_SRKPUB_PROPERTY: &'static [u8; 11usize] = b"PCP_SRKPUB\0"; pub const NCRYPT_PCP_PCRTABLE_PROPERTY: &'static [u8; 13usize] = b"PCP_PCRTABLE\0"; pub const NCRYPT_PCP_CHANGEPASSWORD_PROPERTY: &'static [u8; 19usize] = b"PCP_CHANGEPASSWORD\0"; pub const NCRYPT_PCP_PASSWORD_REQUIRED_PROPERTY: &'static [u8; 22usize] = b"PCP_PASSWORD_REQUIRED\0"; pub const NCRYPT_PCP_USAGEAUTH_PROPERTY: &'static [u8; 14usize] = b"PCP_USAGEAUTH\0"; pub const NCRYPT_PCP_MIGRATIONPASSWORD_PROPERTY: &'static [u8; 22usize] = b"PCP_MIGRATIONPASSWORD\0"; pub const NCRYPT_PCP_EXPORT_ALLOWED_PROPERTY: &'static [u8; 19usize] = b"PCP_EXPORT_ALLOWED\0"; pub const NCRYPT_PCP_STORAGEPARENT_PROPERTY: &'static [u8; 18usize] = b"PCP_STORAGEPARENT\0"; pub const NCRYPT_PCP_PROVIDERHANDLE_PROPERTY: &'static [u8; 20usize] = b"PCP_PROVIDERMHANDLE\0"; pub const NCRYPT_PCP_PLATFORMHANDLE_PROPERTY: &'static [u8; 19usize] = b"PCP_PLATFORMHANDLE\0"; pub const NCRYPT_PCP_PLATFORM_BINDING_PCRMASK_PROPERTY: &'static [u8; 29usize] = b"PCP_PLATFORM_BINDING_PCRMASK\0"; pub const NCRYPT_PCP_PLATFORM_BINDING_PCRDIGESTLIST_PROPERTY: &'static [u8; 35usize] = b"PCP_PLATFORM_BINDING_PCRDIGESTLIST\0"; pub const NCRYPT_PCP_PLATFORM_BINDING_PCRDIGEST_PROPERTY: &'static [u8; 31usize] = b"PCP_PLATFORM_BINDING_PCRDIGEST\0"; pub const NCRYPT_PCP_KEY_USAGE_POLICY_PROPERTY: &'static [u8; 21usize] = b"PCP_KEY_USAGE_POLICY\0"; pub const NCRYPT_PCP_RSA_SCHEME_PROPERTY: &'static [u8; 15usize] = b"PCP_RSA_SCHEME\0"; pub const NCRYPT_PCP_RSA_SCHEME_HASH_ALG_PROPERTY: &'static [u8; 24usize] = b"PCP_RSA_SCHEME_HASH_ALG\0"; pub const NCRYPT_PCP_TPM12_IDBINDING_PROPERTY: &'static [u8; 20usize] = b"PCP_TPM12_IDBINDING\0"; pub const NCRYPT_PCP_TPM12_IDBINDING_DYNAMIC_PROPERTY: &'static [u8; 28usize] = b"PCP_TPM12_IDBINDING_DYNAMIC\0"; pub const NCRYPT_PCP_TPM12_IDACTIVATION_PROPERTY: &'static [u8; 23usize] = b"PCP_TPM12_IDACTIVATION\0"; pub const NCRYPT_PCP_KEYATTESTATION_PROPERTY: &'static [u8; 25usize] = b"PCP_TPM12_KEYATTESTATION\0"; pub const NCRYPT_PCP_ALTERNATE_KEY_STORAGE_LOCATION_PROPERTY: &'static [u8; 35usize] = b"PCP_ALTERNATE_KEY_STORAGE_LOCATION\0"; pub const NCRYPT_PCP_TPM_IFX_RSA_KEYGEN_PROHIBITED_PROPERTY: &'static [u8; 34usize] = b"PCP_TPM_IFX_RSA_KEYGEN_PROHIBITED\0"; pub const NCRYPT_PCP_TPM_IFX_RSA_KEYGEN_VULNERABILITY_PROPERTY: &'static [u8; 37usize] = b"PCP_TPM_IFX_RSA_KEYGEN_VULNERABILITY\0"; pub const NCRYPT_PCP_HMAC_AUTH_POLICYREF: &'static [u8; 24usize] = b"PCP_HMAC_AUTH_POLICYREF\0"; pub const NCRYPT_PCP_HMAC_AUTH_POLICYINFO: &'static [u8; 25usize] = b"PCP_HMAC_AUTH_POLICYINFO\0"; pub const NCRYPT_PCP_HMAC_AUTH_NONCE: &'static [u8; 20usize] = b"PCP_HMAC_AUTH_NONCE\0"; pub const NCRYPT_PCP_HMAC_AUTH_SIGNATURE: &'static [u8; 24usize] = b"PCP_HMAC_AUTH_SIGNATURE\0"; pub const NCRYPT_PCP_HMAC_AUTH_TICKET: &'static [u8; 21usize] = b"PCP_HMAC_AUTH_TICKET\0"; pub const NCRYPT_PCP_NO_DA_PROTECTION_PROPERTY: &'static [u8; 21usize] = b"PCP_NO_DA_PROTECTION\0"; pub const NCRYPT_PCP_TPM_MANUFACTURER_ID_PROPERTY: &'static [u8; 24usize] = b"PCP_TPM_MANUFACTURER_ID\0"; pub const NCRYPT_PCP_TPM_FW_VERSION_PROPERTY: &'static [u8; 19usize] = b"PCP_TPM_FW_VERSION\0"; pub const NCRYPT_PCP_TPM2BNAME_PROPERTY: &'static [u8; 14usize] = b"PCP_TPM2BNAME\0"; pub const NCRYPT_PCP_TPM_VERSION_PROPERTY: &'static [u8; 16usize] = b"PCP_TPM_VERSION\0"; pub const NCRYPT_PCP_RAW_POLICYDIGEST_PROPERTY: &'static [u8; 21usize] = b"PCP_RAW_POLICYDIGEST\0"; pub const NCRYPT_PCP_KEY_CREATIONHASH_PROPERTY: &'static [u8; 21usize] = b"PCP_KEY_CREATIONHASH\0"; pub const NCRYPT_PCP_KEY_CREATIONTICKET_PROPERTY: &'static [u8; 23usize] = b"PCP_KEY_CREATIONTICKET\0"; pub const NCRYPT_PCP_SESSIONID_PROPERTY: &'static [u8; 14usize] = b"PCP_SESSIONID\0"; pub const NCRYPT_PCP_PSS_SALT_SIZE_PROPERTY: &'static [u8; 14usize] = b"PSS Salt Size\0"; pub const NCRYPT_TPM_PSS_SALT_SIZE_UNKNOWN: u32 = 0; pub const NCRYPT_TPM_PSS_SALT_SIZE_MAXIMUM: u32 = 1; pub const NCRYPT_TPM_PSS_SALT_SIZE_HASHSIZE: u32 = 2; pub const NCRYPT_TPM_PAD_PSS_IGNORE_SALT: u32 = 32; pub const IFX_RSA_KEYGEN_VUL_NOT_AFFECTED: u32 = 0; pub const IFX_RSA_KEYGEN_VUL_AFFECTED_LEVEL_1: u32 = 1; pub const IFX_RSA_KEYGEN_VUL_AFFECTED_LEVEL_2: u32 = 2; pub const NCRYPT_TPM12_PROVIDER: u32 = 65536; pub const NCRYPT_PCP_SIGNATURE_KEY: u32 = 1; pub const NCRYPT_PCP_ENCRYPTION_KEY: u32 = 2; pub const NCRYPT_PCP_GENERIC_KEY: u32 = 3; pub const NCRYPT_PCP_STORAGE_KEY: u32 = 4; pub const NCRYPT_PCP_IDENTITY_KEY: u32 = 8; pub const NCRYPT_PCP_HMACVERIFICATION_KEY: u32 = 16; pub const NCRYPT_SCARD_NGC_KEY_NAME: &'static [u8; 20usize] = b"SmartCardNgcKeyName\0"; pub const NCRYPT_PCP_PLATFORM_BINDING_PCRALGID_PROPERTY: &'static [u8; 30usize] = b"PCP_PLATFORM_BINDING_PCRALGID\0"; pub const NCRYPT_INITIALIZATION_VECTOR: &'static [u8; 3usize] = b"IV\0"; pub const NCRYPT_CHANGEPASSWORD_PROPERTY: &'static [u8; 19usize] = b"PCP_CHANGEPASSWORD\0"; pub const NCRYPT_ALTERNATE_KEY_STORAGE_LOCATION_PROPERTY: &'static [u8; 35usize] = b"PCP_ALTERNATE_KEY_STORAGE_LOCATION\0"; pub const NCRYPT_KEY_ACCESS_POLICY_PROPERTY: &'static [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: &'static [u8; 30usize] = b"PinCacheFreeApplicationTicket\0"; pub const NCRYPT_PIN_CACHE_FLAGS_PROPERTY: &'static [u8; 14usize] = b"PinCacheFlags\0"; pub const NCRYPT_PIN_CACHE_DISABLE_DPL_FLAG: u32 = 1; pub const NCRYPT_PIN_CACHE_APPLICATION_TICKET_PROPERTY: &'static [u8; 26usize] = b"PinCacheApplicationTicket\0"; pub const NCRYPT_PIN_CACHE_APPLICATION_IMAGE_PROPERTY: &'static [u8; 25usize] = b"PinCacheApplicationImage\0"; pub const NCRYPT_PIN_CACHE_APPLICATION_STATUS_PROPERTY: &'static [u8; 26usize] = b"PinCacheApplicationStatus\0"; pub const NCRYPT_PIN_CACHE_PIN_PROPERTY: &'static [u8; 12usize] = b"PinCachePin\0"; pub const NCRYPT_PIN_CACHE_IS_GESTURE_REQUIRED_PROPERTY: &'static [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: &'static [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: &'static [u8; 14usize] = b"CipherKeyBlob\0"; pub const NCRYPT_KDF_KEY_BLOB: &'static [u8; 11usize] = b"KDFKeyBlob\0"; pub const NCRYPT_PROTECTED_KEY_BLOB: &'static [u8; 17usize] = b"ProtectedKeyBlob\0"; pub const NCRYPT_TPM_LOADABLE_KEY_BLOB: &'static [u8; 23usize] = b"PcpTpmProtectedKeyBlob\0"; pub const NCRYPT_TPM_LOADABLE_KEY_BLOB_MAGIC: u32 = 1297371211; pub const NCRYPT_PKCS7_ENVELOPE_BLOB: &'static [u8; 15usize] = b"PKCS7_ENVELOPE\0"; pub const NCRYPT_PKCS8_PRIVATE_KEY_BLOB: &'static [u8; 17usize] = b"PKCS8_PRIVATEKEY\0"; pub const NCRYPT_OPAQUETRANSPORT_BLOB: &'static [u8; 16usize] = b"OpaqueTransport\0"; pub const NCRYPT_ISOLATED_KEY_ENVELOPE_BLOB: &'static [u8; 22usize] = b"ISOLATED_KEY_ENVELOPE\0"; pub const szOID_RSA: &'static [u8; 15usize] = b"1.2.840.113549\0"; pub const szOID_PKCS: &'static [u8; 17usize] = b"1.2.840.113549.1\0"; pub const szOID_RSA_HASH: &'static [u8; 17usize] = b"1.2.840.113549.2\0"; pub const szOID_RSA_ENCRYPT: &'static [u8; 17usize] = b"1.2.840.113549.3\0"; pub const szOID_PKCS_1: &'static [u8; 19usize] = b"1.2.840.113549.1.1\0"; pub const szOID_PKCS_2: &'static [u8; 19usize] = b"1.2.840.113549.1.2\0"; pub const szOID_PKCS_3: &'static [u8; 19usize] = b"1.2.840.113549.1.3\0"; pub const szOID_PKCS_4: &'static [u8; 19usize] = b"1.2.840.113549.1.4\0"; pub const szOID_PKCS_5: &'static [u8; 19usize] = b"1.2.840.113549.1.5\0"; pub const szOID_PKCS_6: &'static [u8; 19usize] = b"1.2.840.113549.1.6\0"; pub const szOID_PKCS_7: &'static [u8; 19usize] = b"1.2.840.113549.1.7\0"; pub const szOID_PKCS_8: &'static [u8; 19usize] = b"1.2.840.113549.1.8\0"; pub const szOID_PKCS_9: &'static [u8; 19usize] = b"1.2.840.113549.1.9\0"; pub const szOID_PKCS_10: &'static [u8; 20usize] = b"1.2.840.113549.1.10\0"; pub const szOID_PKCS_12: &'static [u8; 20usize] = b"1.2.840.113549.1.12\0"; pub const szOID_RSA_RSA: &'static [u8; 21usize] = b"1.2.840.113549.1.1.1\0"; pub const szOID_RSA_MD2RSA: &'static [u8; 21usize] = b"1.2.840.113549.1.1.2\0"; pub const szOID_RSA_MD4RSA: &'static [u8; 21usize] = b"1.2.840.113549.1.1.3\0"; pub const szOID_RSA_MD5RSA: &'static [u8; 21usize] = b"1.2.840.113549.1.1.4\0"; pub const szOID_RSA_SHA1RSA: &'static [u8; 21usize] = b"1.2.840.113549.1.1.5\0"; pub const szOID_RSA_SETOAEP_RSA: &'static [u8; 21usize] = b"1.2.840.113549.1.1.6\0"; pub const szOID_RSAES_OAEP: &'static [u8; 21usize] = b"1.2.840.113549.1.1.7\0"; pub const szOID_RSA_MGF1: &'static [u8; 21usize] = b"1.2.840.113549.1.1.8\0"; pub const szOID_RSA_PSPECIFIED: &'static [u8; 21usize] = b"1.2.840.113549.1.1.9\0"; pub const szOID_RSA_SSA_PSS: &'static [u8; 22usize] = b"1.2.840.113549.1.1.10\0"; pub const szOID_RSA_SHA256RSA: &'static [u8; 22usize] = b"1.2.840.113549.1.1.11\0"; pub const szOID_RSA_SHA384RSA: &'static [u8; 22usize] = b"1.2.840.113549.1.1.12\0"; pub const szOID_RSA_SHA512RSA: &'static [u8; 22usize] = b"1.2.840.113549.1.1.13\0"; pub const szOID_RSA_DH: &'static [u8; 21usize] = b"1.2.840.113549.1.3.1\0"; pub const szOID_RSA_data: &'static [u8; 21usize] = b"1.2.840.113549.1.7.1\0"; pub const szOID_RSA_signedData: &'static [u8; 21usize] = b"1.2.840.113549.1.7.2\0"; pub const szOID_RSA_envelopedData: &'static [u8; 21usize] = b"1.2.840.113549.1.7.3\0"; pub const szOID_RSA_signEnvData: &'static [u8; 21usize] = b"1.2.840.113549.1.7.4\0"; pub const szOID_RSA_digestedData: &'static [u8; 21usize] = b"1.2.840.113549.1.7.5\0"; pub const szOID_RSA_hashedData: &'static [u8; 21usize] = b"1.2.840.113549.1.7.5\0"; pub const szOID_RSA_encryptedData: &'static [u8; 21usize] = b"1.2.840.113549.1.7.6\0"; pub const szOID_RSA_emailAddr: &'static [u8; 21usize] = b"1.2.840.113549.1.9.1\0"; pub const szOID_RSA_unstructName: &'static [u8; 21usize] = b"1.2.840.113549.1.9.2\0"; pub const szOID_RSA_contentType: &'static [u8; 21usize] = b"1.2.840.113549.1.9.3\0"; pub const szOID_RSA_messageDigest: &'static [u8; 21usize] = b"1.2.840.113549.1.9.4\0"; pub const szOID_RSA_signingTime: &'static [u8; 21usize] = b"1.2.840.113549.1.9.5\0"; pub const szOID_RSA_counterSign: &'static [u8; 21usize] = b"1.2.840.113549.1.9.6\0"; pub const szOID_RSA_challengePwd: &'static [u8; 21usize] = b"1.2.840.113549.1.9.7\0"; pub const szOID_RSA_unstructAddr: &'static [u8; 21usize] = b"1.2.840.113549.1.9.8\0"; pub const szOID_RSA_extCertAttrs: &'static [u8; 21usize] = b"1.2.840.113549.1.9.9\0"; pub const szOID_RSA_certExtensions: &'static [u8; 22usize] = b"1.2.840.113549.1.9.14\0"; pub const szOID_RSA_SMIMECapabilities: &'static [u8; 22usize] = b"1.2.840.113549.1.9.15\0"; pub const szOID_RSA_preferSignedData: &'static [u8; 24usize] = b"1.2.840.113549.1.9.15.1\0"; pub const szOID_TIMESTAMP_TOKEN: &'static [u8; 26usize] = b"1.2.840.113549.1.9.16.1.4\0"; pub const szOID_RFC3161_counterSign: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.3.3.1\0"; pub const szOID_RSA_SMIMEalg: &'static [u8; 24usize] = b"1.2.840.113549.1.9.16.3\0"; pub const szOID_RSA_SMIMEalgESDH: &'static [u8; 26usize] = b"1.2.840.113549.1.9.16.3.5\0"; pub const szOID_RSA_SMIMEalgCMS3DESwrap: &'static [u8; 26usize] = b"1.2.840.113549.1.9.16.3.6\0"; pub const szOID_RSA_SMIMEalgCMSRC2wrap: &'static [u8; 26usize] = b"1.2.840.113549.1.9.16.3.7\0"; pub const szOID_RSA_MD2: &'static [u8; 19usize] = b"1.2.840.113549.2.2\0"; pub const szOID_RSA_MD4: &'static [u8; 19usize] = b"1.2.840.113549.2.4\0"; pub const szOID_RSA_MD5: &'static [u8; 19usize] = b"1.2.840.113549.2.5\0"; pub const szOID_RSA_RC2CBC: &'static [u8; 19usize] = b"1.2.840.113549.3.2\0"; pub const szOID_RSA_RC4: &'static [u8; 19usize] = b"1.2.840.113549.3.4\0"; pub const szOID_RSA_DES_EDE3_CBC: &'static [u8; 19usize] = b"1.2.840.113549.3.7\0"; pub const szOID_RSA_RC5_CBCPad: &'static [u8; 19usize] = b"1.2.840.113549.3.9\0"; pub const szOID_ANSI_X942: &'static [u8; 14usize] = b"1.2.840.10046\0"; pub const szOID_ANSI_X942_DH: &'static [u8; 18usize] = b"1.2.840.10046.2.1\0"; pub const szOID_X957: &'static [u8; 14usize] = b"1.2.840.10040\0"; pub const szOID_X957_DSA: &'static [u8; 18usize] = b"1.2.840.10040.4.1\0"; pub const szOID_X957_SHA1DSA: &'static [u8; 18usize] = b"1.2.840.10040.4.3\0"; pub const szOID_ECC_PUBLIC_KEY: &'static [u8; 18usize] = b"1.2.840.10045.2.1\0"; pub const szOID_ECC_CURVE_P256: &'static [u8; 20usize] = b"1.2.840.10045.3.1.7\0"; pub const szOID_ECC_CURVE_P384: &'static [u8; 13usize] = b"1.3.132.0.34\0"; pub const szOID_ECC_CURVE_P521: &'static [u8; 13usize] = b"1.3.132.0.35\0"; pub const szOID_ECC_CURVE_BRAINPOOLP160R1: &'static [u8; 21usize] = b"1.3.36.3.3.2.8.1.1.1\0"; pub const szOID_ECC_CURVE_BRAINPOOLP160T1: &'static [u8; 21usize] = b"1.3.36.3.3.2.8.1.1.2\0"; pub const szOID_ECC_CURVE_BRAINPOOLP192R1: &'static [u8; 21usize] = b"1.3.36.3.3.2.8.1.1.3\0"; pub const szOID_ECC_CURVE_BRAINPOOLP192T1: &'static [u8; 21usize] = b"1.3.36.3.3.2.8.1.1.4\0"; pub const szOID_ECC_CURVE_BRAINPOOLP224R1: &'static [u8; 21usize] = b"1.3.36.3.3.2.8.1.1.5\0"; pub const szOID_ECC_CURVE_BRAINPOOLP224T1: &'static [u8; 21usize] = b"1.3.36.3.3.2.8.1.1.6\0"; pub const szOID_ECC_CURVE_BRAINPOOLP256R1: &'static [u8; 21usize] = b"1.3.36.3.3.2.8.1.1.7\0"; pub const szOID_ECC_CURVE_BRAINPOOLP256T1: &'static [u8; 21usize] = b"1.3.36.3.3.2.8.1.1.8\0"; pub const szOID_ECC_CURVE_BRAINPOOLP320R1: &'static [u8; 21usize] = b"1.3.36.3.3.2.8.1.1.9\0"; pub const szOID_ECC_CURVE_BRAINPOOLP320T1: &'static [u8; 22usize] = b"1.3.36.3.3.2.8.1.1.10\0"; pub const szOID_ECC_CURVE_BRAINPOOLP384R1: &'static [u8; 22usize] = b"1.3.36.3.3.2.8.1.1.11\0"; pub const szOID_ECC_CURVE_BRAINPOOLP384T1: &'static [u8; 22usize] = b"1.3.36.3.3.2.8.1.1.12\0"; pub const szOID_ECC_CURVE_BRAINPOOLP512R1: &'static [u8; 22usize] = b"1.3.36.3.3.2.8.1.1.13\0"; pub const szOID_ECC_CURVE_BRAINPOOLP512T1: &'static [u8; 22usize] = b"1.3.36.3.3.2.8.1.1.14\0"; pub const szOID_ECC_CURVE_EC192WAPI: &'static [u8; 22usize] = b"1.2.156.11235.1.1.2.1\0"; pub const szOID_CN_ECDSA_SHA256: &'static [u8; 20usize] = b"1.2.156.11235.1.1.1\0"; pub const szOID_ECC_CURVE_NISTP192: &'static [u8; 20usize] = b"1.2.840.10045.3.1.1\0"; pub const szOID_ECC_CURVE_NISTP224: &'static [u8; 13usize] = b"1.3.132.0.33\0"; pub const szOID_ECC_CURVE_NISTP256: &'static [u8; 20usize] = b"1.2.840.10045.3.1.7\0"; pub const szOID_ECC_CURVE_NISTP384: &'static [u8; 13usize] = b"1.3.132.0.34\0"; pub const szOID_ECC_CURVE_NISTP521: &'static [u8; 13usize] = b"1.3.132.0.35\0"; pub const szOID_ECC_CURVE_SECP160K1: &'static [u8; 12usize] = b"1.3.132.0.9\0"; pub const szOID_ECC_CURVE_SECP160R1: &'static [u8; 12usize] = b"1.3.132.0.8\0"; pub const szOID_ECC_CURVE_SECP160R2: &'static [u8; 13usize] = b"1.3.132.0.30\0"; pub const szOID_ECC_CURVE_SECP192K1: &'static [u8; 13usize] = b"1.3.132.0.31\0"; pub const szOID_ECC_CURVE_SECP192R1: &'static [u8; 20usize] = b"1.2.840.10045.3.1.1\0"; pub const szOID_ECC_CURVE_SECP224K1: &'static [u8; 13usize] = b"1.3.132.0.32\0"; pub const szOID_ECC_CURVE_SECP224R1: &'static [u8; 13usize] = b"1.3.132.0.33\0"; pub const szOID_ECC_CURVE_SECP256K1: &'static [u8; 13usize] = b"1.3.132.0.10\0"; pub const szOID_ECC_CURVE_SECP256R1: &'static [u8; 20usize] = b"1.2.840.10045.3.1.7\0"; pub const szOID_ECC_CURVE_SECP384R1: &'static [u8; 13usize] = b"1.3.132.0.34\0"; pub const szOID_ECC_CURVE_SECP521R1: &'static [u8; 13usize] = b"1.3.132.0.35\0"; pub const szOID_ECC_CURVE_WTLS7: &'static [u8; 13usize] = b"1.3.132.0.30\0"; pub const szOID_ECC_CURVE_WTLS9: &'static [u8; 14usize] = b"2.23.43.1.4.9\0"; pub const szOID_ECC_CURVE_WTLS12: &'static [u8; 13usize] = b"1.3.132.0.33\0"; pub const szOID_ECC_CURVE_X962P192V1: &'static [u8; 20usize] = b"1.2.840.10045.3.1.1\0"; pub const szOID_ECC_CURVE_X962P192V2: &'static [u8; 20usize] = b"1.2.840.10045.3.1.2\0"; pub const szOID_ECC_CURVE_X962P192V3: &'static [u8; 20usize] = b"1.2.840.10045.3.1.3\0"; pub const szOID_ECC_CURVE_X962P239V1: &'static [u8; 20usize] = b"1.2.840.10045.3.1.4\0"; pub const szOID_ECC_CURVE_X962P239V2: &'static [u8; 20usize] = b"1.2.840.10045.3.1.5\0"; pub const szOID_ECC_CURVE_X962P239V3: &'static [u8; 20usize] = b"1.2.840.10045.3.1.6\0"; pub const szOID_ECC_CURVE_X962P256V1: &'static [u8; 20usize] = b"1.2.840.10045.3.1.7\0"; pub const szOID_ECDSA_SHA1: &'static [u8; 18usize] = b"1.2.840.10045.4.1\0"; pub const szOID_ECDSA_SPECIFIED: &'static [u8; 18usize] = b"1.2.840.10045.4.3\0"; pub const szOID_ECDSA_SHA256: &'static [u8; 20usize] = b"1.2.840.10045.4.3.2\0"; pub const szOID_ECDSA_SHA384: &'static [u8; 20usize] = b"1.2.840.10045.4.3.3\0"; pub const szOID_ECDSA_SHA512: &'static [u8; 20usize] = b"1.2.840.10045.4.3.4\0"; pub const szOID_NIST_AES128_CBC: &'static [u8; 23usize] = b"2.16.840.1.101.3.4.1.2\0"; pub const szOID_NIST_AES192_CBC: &'static [u8; 24usize] = b"2.16.840.1.101.3.4.1.22\0"; pub const szOID_NIST_AES256_CBC: &'static [u8; 24usize] = b"2.16.840.1.101.3.4.1.42\0"; pub const szOID_NIST_AES128_WRAP: &'static [u8; 23usize] = b"2.16.840.1.101.3.4.1.5\0"; pub const szOID_NIST_AES192_WRAP: &'static [u8; 24usize] = b"2.16.840.1.101.3.4.1.25\0"; pub const szOID_NIST_AES256_WRAP: &'static [u8; 24usize] = b"2.16.840.1.101.3.4.1.45\0"; pub const szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF: &'static [u8; 22usize] = b"1.3.133.16.840.63.0.2\0"; pub const szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF: &'static [u8; 15usize] = b"1.3.132.1.11.1\0"; pub const szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF: &'static [u8; 15usize] = b"1.3.132.1.11.2\0"; pub const szOID_DS: &'static [u8; 4usize] = b"2.5\0"; pub const szOID_DSALG: &'static [u8; 6usize] = b"2.5.8\0"; pub const szOID_DSALG_CRPT: &'static [u8; 8usize] = b"2.5.8.1\0"; pub const szOID_DSALG_HASH: &'static [u8; 8usize] = b"2.5.8.2\0"; pub const szOID_DSALG_SIGN: &'static [u8; 8usize] = b"2.5.8.3\0"; pub const szOID_DSALG_RSA: &'static [u8; 10usize] = b"2.5.8.1.1\0"; pub const szOID_OIW: &'static [u8; 7usize] = b"1.3.14\0"; pub const szOID_OIWSEC: &'static [u8; 11usize] = b"1.3.14.3.2\0"; pub const szOID_OIWSEC_md4RSA: &'static [u8; 13usize] = b"1.3.14.3.2.2\0"; pub const szOID_OIWSEC_md5RSA: &'static [u8; 13usize] = b"1.3.14.3.2.3\0"; pub const szOID_OIWSEC_md4RSA2: &'static [u8; 13usize] = b"1.3.14.3.2.4\0"; pub const szOID_OIWSEC_desECB: &'static [u8; 13usize] = b"1.3.14.3.2.6\0"; pub const szOID_OIWSEC_desCBC: &'static [u8; 13usize] = b"1.3.14.3.2.7\0"; pub const szOID_OIWSEC_desOFB: &'static [u8; 13usize] = b"1.3.14.3.2.8\0"; pub const szOID_OIWSEC_desCFB: &'static [u8; 13usize] = b"1.3.14.3.2.9\0"; pub const szOID_OIWSEC_desMAC: &'static [u8; 14usize] = b"1.3.14.3.2.10\0"; pub const szOID_OIWSEC_rsaSign: &'static [u8; 14usize] = b"1.3.14.3.2.11\0"; pub const szOID_OIWSEC_dsa: &'static [u8; 14usize] = b"1.3.14.3.2.12\0"; pub const szOID_OIWSEC_shaDSA: &'static [u8; 14usize] = b"1.3.14.3.2.13\0"; pub const szOID_OIWSEC_mdc2RSA: &'static [u8; 14usize] = b"1.3.14.3.2.14\0"; pub const szOID_OIWSEC_shaRSA: &'static [u8; 14usize] = b"1.3.14.3.2.15\0"; pub const szOID_OIWSEC_dhCommMod: &'static [u8; 14usize] = b"1.3.14.3.2.16\0"; pub const szOID_OIWSEC_desEDE: &'static [u8; 14usize] = b"1.3.14.3.2.17\0"; pub const szOID_OIWSEC_sha: &'static [u8; 14usize] = b"1.3.14.3.2.18\0"; pub const szOID_OIWSEC_mdc2: &'static [u8; 14usize] = b"1.3.14.3.2.19\0"; pub const szOID_OIWSEC_dsaComm: &'static [u8; 14usize] = b"1.3.14.3.2.20\0"; pub const szOID_OIWSEC_dsaCommSHA: &'static [u8; 14usize] = b"1.3.14.3.2.21\0"; pub const szOID_OIWSEC_rsaXchg: &'static [u8; 14usize] = b"1.3.14.3.2.22\0"; pub const szOID_OIWSEC_keyHashSeal: &'static [u8; 14usize] = b"1.3.14.3.2.23\0"; pub const szOID_OIWSEC_md2RSASign: &'static [u8; 14usize] = b"1.3.14.3.2.24\0"; pub const szOID_OIWSEC_md5RSASign: &'static [u8; 14usize] = b"1.3.14.3.2.25\0"; pub const szOID_OIWSEC_sha1: &'static [u8; 14usize] = b"1.3.14.3.2.26\0"; pub const szOID_OIWSEC_dsaSHA1: &'static [u8; 14usize] = b"1.3.14.3.2.27\0"; pub const szOID_OIWSEC_dsaCommSHA1: &'static [u8; 14usize] = b"1.3.14.3.2.28\0"; pub const szOID_OIWSEC_sha1RSASign: &'static [u8; 14usize] = b"1.3.14.3.2.29\0"; pub const szOID_OIWDIR: &'static [u8; 11usize] = b"1.3.14.7.2\0"; pub const szOID_OIWDIR_CRPT: &'static [u8; 13usize] = b"1.3.14.7.2.1\0"; pub const szOID_OIWDIR_HASH: &'static [u8; 13usize] = b"1.3.14.7.2.2\0"; pub const szOID_OIWDIR_SIGN: &'static [u8; 13usize] = b"1.3.14.7.2.3\0"; pub const szOID_OIWDIR_md2: &'static [u8; 15usize] = b"1.3.14.7.2.2.1\0"; pub const szOID_OIWDIR_md2RSA: &'static [u8; 15usize] = b"1.3.14.7.2.3.1\0"; pub const szOID_INFOSEC: &'static [u8; 19usize] = b"2.16.840.1.101.2.1\0"; pub const szOID_INFOSEC_sdnsSignature: &'static [u8; 23usize] = b"2.16.840.1.101.2.1.1.1\0"; pub const szOID_INFOSEC_mosaicSignature: &'static [u8; 23usize] = b"2.16.840.1.101.2.1.1.2\0"; pub const szOID_INFOSEC_sdnsConfidentiality: &'static [u8; 23usize] = b"2.16.840.1.101.2.1.1.3\0"; pub const szOID_INFOSEC_mosaicConfidentiality: &'static [u8; 23usize] = b"2.16.840.1.101.2.1.1.4\0"; pub const szOID_INFOSEC_sdnsIntegrity: &'static [u8; 23usize] = b"2.16.840.1.101.2.1.1.5\0"; pub const szOID_INFOSEC_mosaicIntegrity: &'static [u8; 23usize] = b"2.16.840.1.101.2.1.1.6\0"; pub const szOID_INFOSEC_sdnsTokenProtection: &'static [u8; 23usize] = b"2.16.840.1.101.2.1.1.7\0"; pub const szOID_INFOSEC_mosaicTokenProtection: &'static [u8; 23usize] = b"2.16.840.1.101.2.1.1.8\0"; pub const szOID_INFOSEC_sdnsKeyManagement: &'static [u8; 23usize] = b"2.16.840.1.101.2.1.1.9\0"; pub const szOID_INFOSEC_mosaicKeyManagement: &'static [u8; 24usize] = b"2.16.840.1.101.2.1.1.10\0"; pub const szOID_INFOSEC_sdnsKMandSig: &'static [u8; 24usize] = b"2.16.840.1.101.2.1.1.11\0"; pub const szOID_INFOSEC_mosaicKMandSig: &'static [u8; 24usize] = b"2.16.840.1.101.2.1.1.12\0"; pub const szOID_INFOSEC_SuiteASignature: &'static [u8; 24usize] = b"2.16.840.1.101.2.1.1.13\0"; pub const szOID_INFOSEC_SuiteAConfidentiality: &'static [u8; 24usize] = b"2.16.840.1.101.2.1.1.14\0"; pub const szOID_INFOSEC_SuiteAIntegrity: &'static [u8; 24usize] = b"2.16.840.1.101.2.1.1.15\0"; pub const szOID_INFOSEC_SuiteATokenProtection: &'static [u8; 24usize] = b"2.16.840.1.101.2.1.1.16\0"; pub const szOID_INFOSEC_SuiteAKeyManagement: &'static [u8; 24usize] = b"2.16.840.1.101.2.1.1.17\0"; pub const szOID_INFOSEC_SuiteAKMandSig: &'static [u8; 24usize] = b"2.16.840.1.101.2.1.1.18\0"; pub const szOID_INFOSEC_mosaicUpdatedSig: &'static [u8; 24usize] = b"2.16.840.1.101.2.1.1.19\0"; pub const szOID_INFOSEC_mosaicKMandUpdSig: &'static [u8; 24usize] = b"2.16.840.1.101.2.1.1.20\0"; pub const szOID_INFOSEC_mosaicUpdatedInteg: &'static [u8; 24usize] = b"2.16.840.1.101.2.1.1.21\0"; pub const szOID_NIST_sha256: &'static [u8; 23usize] = b"2.16.840.1.101.3.4.2.1\0"; pub const szOID_NIST_sha384: &'static [u8; 23usize] = b"2.16.840.1.101.3.4.2.2\0"; pub const szOID_NIST_sha512: &'static [u8; 23usize] = b"2.16.840.1.101.3.4.2.3\0"; pub const szOID_COMMON_NAME: &'static [u8; 8usize] = b"2.5.4.3\0"; pub const szOID_SUR_NAME: &'static [u8; 8usize] = b"2.5.4.4\0"; pub const szOID_DEVICE_SERIAL_NUMBER: &'static [u8; 8usize] = b"2.5.4.5\0"; pub const szOID_COUNTRY_NAME: &'static [u8; 8usize] = b"2.5.4.6\0"; pub const szOID_LOCALITY_NAME: &'static [u8; 8usize] = b"2.5.4.7\0"; pub const szOID_STATE_OR_PROVINCE_NAME: &'static [u8; 8usize] = b"2.5.4.8\0"; pub const szOID_STREET_ADDRESS: &'static [u8; 8usize] = b"2.5.4.9\0"; pub const szOID_ORGANIZATION_NAME: &'static [u8; 9usize] = b"2.5.4.10\0"; pub const szOID_ORGANIZATIONAL_UNIT_NAME: &'static [u8; 9usize] = b"2.5.4.11\0"; pub const szOID_TITLE: &'static [u8; 9usize] = b"2.5.4.12\0"; pub const szOID_DESCRIPTION: &'static [u8; 9usize] = b"2.5.4.13\0"; pub const szOID_SEARCH_GUIDE: &'static [u8; 9usize] = b"2.5.4.14\0"; pub const szOID_BUSINESS_CATEGORY: &'static [u8; 9usize] = b"2.5.4.15\0"; pub const szOID_POSTAL_ADDRESS: &'static [u8; 9usize] = b"2.5.4.16\0"; pub const szOID_POSTAL_CODE: &'static [u8; 9usize] = b"2.5.4.17\0"; pub const szOID_POST_OFFICE_BOX: &'static [u8; 9usize] = b"2.5.4.18\0"; pub const szOID_PHYSICAL_DELIVERY_OFFICE_NAME: &'static [u8; 9usize] = b"2.5.4.19\0"; pub const szOID_TELEPHONE_NUMBER: &'static [u8; 9usize] = b"2.5.4.20\0"; pub const szOID_TELEX_NUMBER: &'static [u8; 9usize] = b"2.5.4.21\0"; pub const szOID_TELETEXT_TERMINAL_IDENTIFIER: &'static [u8; 9usize] = b"2.5.4.22\0"; pub const szOID_FACSIMILE_TELEPHONE_NUMBER: &'static [u8; 9usize] = b"2.5.4.23\0"; pub const szOID_X21_ADDRESS: &'static [u8; 9usize] = b"2.5.4.24\0"; pub const szOID_INTERNATIONAL_ISDN_NUMBER: &'static [u8; 9usize] = b"2.5.4.25\0"; pub const szOID_REGISTERED_ADDRESS: &'static [u8; 9usize] = b"2.5.4.26\0"; pub const szOID_DESTINATION_INDICATOR: &'static [u8; 9usize] = b"2.5.4.27\0"; pub const szOID_PREFERRED_DELIVERY_METHOD: &'static [u8; 9usize] = b"2.5.4.28\0"; pub const szOID_PRESENTATION_ADDRESS: &'static [u8; 9usize] = b"2.5.4.29\0"; pub const szOID_SUPPORTED_APPLICATION_CONTEXT: &'static [u8; 9usize] = b"2.5.4.30\0"; pub const szOID_MEMBER: &'static [u8; 9usize] = b"2.5.4.31\0"; pub const szOID_OWNER: &'static [u8; 9usize] = b"2.5.4.32\0"; pub const szOID_ROLE_OCCUPANT: &'static [u8; 9usize] = b"2.5.4.33\0"; pub const szOID_SEE_ALSO: &'static [u8; 9usize] = b"2.5.4.34\0"; pub const szOID_USER_PASSWORD: &'static [u8; 9usize] = b"2.5.4.35\0"; pub const szOID_USER_CERTIFICATE: &'static [u8; 9usize] = b"2.5.4.36\0"; pub const szOID_CA_CERTIFICATE: &'static [u8; 9usize] = b"2.5.4.37\0"; pub const szOID_AUTHORITY_REVOCATION_LIST: &'static [u8; 9usize] = b"2.5.4.38\0"; pub const szOID_CERTIFICATE_REVOCATION_LIST: &'static [u8; 9usize] = b"2.5.4.39\0"; pub const szOID_CROSS_CERTIFICATE_PAIR: &'static [u8; 9usize] = b"2.5.4.40\0"; pub const szOID_GIVEN_NAME: &'static [u8; 9usize] = b"2.5.4.42\0"; pub const szOID_INITIALS: &'static [u8; 9usize] = b"2.5.4.43\0"; pub const szOID_DN_QUALIFIER: &'static [u8; 9usize] = b"2.5.4.46\0"; pub const szOID_DOMAIN_COMPONENT: &'static [u8; 27usize] = b"0.9.2342.19200300.100.1.25\0"; pub const szOID_PKCS_12_FRIENDLY_NAME_ATTR: &'static [u8; 22usize] = b"1.2.840.113549.1.9.20\0"; pub const szOID_PKCS_12_LOCAL_KEY_ID: &'static [u8; 22usize] = b"1.2.840.113549.1.9.21\0"; pub const szOID_PKCS_12_KEY_PROVIDER_NAME_ATTR: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.17.1\0"; pub const szOID_LOCAL_MACHINE_KEYSET: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.17.2\0"; pub const szOID_PKCS_12_EXTENDED_ATTRIBUTES: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.17.3\0"; pub const szOID_PKCS_12_PROTECTED_PASSWORD_SECRET_BAG_TYPE_ID: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.17.4\0"; pub const szOID_KEYID_RDN: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.7.1\0"; pub const szOID_EV_RDN_LOCALE: &'static [u8; 25usize] = b"1.3.6.1.4.1.311.60.2.1.1\0"; pub const szOID_EV_RDN_STATE_OR_PROVINCE: &'static [u8; 25usize] = b"1.3.6.1.4.1.311.60.2.1.2\0"; pub const szOID_EV_RDN_COUNTRY: &'static [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: &'static [u8; 21usize] = b"1.2.840.113549.1.1.1\0"; pub const CERT_DEFAULT_OID_PUBLIC_KEY_SIGN: &'static [u8; 21usize] = b"1.2.840.113549.1.1.1\0"; pub const CERT_DEFAULT_OID_PUBLIC_KEY_XCHG: &'static [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: &'static [u8; 9usize] = b"2.5.29.1\0"; pub const szOID_KEY_ATTRIBUTES: &'static [u8; 9usize] = b"2.5.29.2\0"; pub const szOID_CERT_POLICIES_95: &'static [u8; 9usize] = b"2.5.29.3\0"; pub const szOID_KEY_USAGE_RESTRICTION: &'static [u8; 9usize] = b"2.5.29.4\0"; pub const szOID_SUBJECT_ALT_NAME: &'static [u8; 9usize] = b"2.5.29.7\0"; pub const szOID_ISSUER_ALT_NAME: &'static [u8; 9usize] = b"2.5.29.8\0"; pub const szOID_BASIC_CONSTRAINTS: &'static [u8; 10usize] = b"2.5.29.10\0"; pub const szOID_KEY_USAGE: &'static [u8; 10usize] = b"2.5.29.15\0"; pub const szOID_PRIVATEKEY_USAGE_PERIOD: &'static [u8; 10usize] = b"2.5.29.16\0"; pub const szOID_BASIC_CONSTRAINTS2: &'static [u8; 10usize] = b"2.5.29.19\0"; pub const szOID_CERT_POLICIES: &'static [u8; 10usize] = b"2.5.29.32\0"; pub const szOID_ANY_CERT_POLICY: &'static [u8; 12usize] = b"2.5.29.32.0\0"; pub const szOID_INHIBIT_ANY_POLICY: &'static [u8; 10usize] = b"2.5.29.54\0"; pub const szOID_AUTHORITY_KEY_IDENTIFIER2: &'static [u8; 10usize] = b"2.5.29.35\0"; pub const szOID_SUBJECT_KEY_IDENTIFIER: &'static [u8; 10usize] = b"2.5.29.14\0"; pub const szOID_SUBJECT_ALT_NAME2: &'static [u8; 10usize] = b"2.5.29.17\0"; pub const szOID_ISSUER_ALT_NAME2: &'static [u8; 10usize] = b"2.5.29.18\0"; pub const szOID_CRL_REASON_CODE: &'static [u8; 10usize] = b"2.5.29.21\0"; pub const szOID_REASON_CODE_HOLD: &'static [u8; 10usize] = b"2.5.29.23\0"; pub const szOID_CRL_DIST_POINTS: &'static [u8; 10usize] = b"2.5.29.31\0"; pub const szOID_ENHANCED_KEY_USAGE: &'static [u8; 10usize] = b"2.5.29.37\0"; pub const szOID_ANY_ENHANCED_KEY_USAGE: &'static [u8; 12usize] = b"2.5.29.37.0\0"; pub const szOID_CRL_NUMBER: &'static [u8; 10usize] = b"2.5.29.20\0"; pub const szOID_DELTA_CRL_INDICATOR: &'static [u8; 10usize] = b"2.5.29.27\0"; pub const szOID_ISSUING_DIST_POINT: &'static [u8; 10usize] = b"2.5.29.28\0"; pub const szOID_FRESHEST_CRL: &'static [u8; 10usize] = b"2.5.29.46\0"; pub const szOID_NAME_CONSTRAINTS: &'static [u8; 10usize] = b"2.5.29.30\0"; pub const szOID_POLICY_MAPPINGS: &'static [u8; 10usize] = b"2.5.29.33\0"; pub const szOID_LEGACY_POLICY_MAPPINGS: &'static [u8; 9usize] = b"2.5.29.5\0"; pub const szOID_POLICY_CONSTRAINTS: &'static [u8; 10usize] = b"2.5.29.36\0"; pub const szOID_RENEWAL_CERTIFICATE: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.13.1\0"; pub const szOID_ENROLLMENT_NAME_VALUE_PAIR: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.13.2.1\0"; pub const szOID_ENROLLMENT_CSP_PROVIDER: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.13.2.2\0"; pub const szOID_OS_VERSION: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.13.2.3\0"; pub const szOID_ENROLLMENT_AGENT: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.20.2.1\0"; pub const szOID_PKIX: &'static [u8; 14usize] = b"1.3.6.1.5.5.7\0"; pub const szOID_PKIX_PE: &'static [u8; 16usize] = b"1.3.6.1.5.5.7.1\0"; pub const szOID_AUTHORITY_INFO_ACCESS: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.1.1\0"; pub const szOID_SUBJECT_INFO_ACCESS: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.1.11\0"; pub const szOID_BIOMETRIC_EXT: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.1.2\0"; pub const szOID_QC_STATEMENTS_EXT: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.1.3\0"; pub const szOID_LOGOTYPE_EXT: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.1.12\0"; pub const szOID_TLS_FEATURES_EXT: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.1.24\0"; pub const szOID_CERT_EXTENSIONS: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.2.1.14\0"; pub const szOID_NEXT_UPDATE_LOCATION: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.10.2\0"; pub const szOID_REMOVE_CERTIFICATE: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.8.1\0"; pub const szOID_CROSS_CERT_DIST_POINTS: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.9.1\0"; pub const szOID_CTL: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.10.1\0"; pub const szOID_SORTED_CTL: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.1.1\0"; pub const szOID_SERIALIZED: &'static [u8; 25usize] = b"1.3.6.1.4.1.311.10.3.3.1\0"; pub const szOID_NT_PRINCIPAL_NAME: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.20.2.3\0"; pub const szOID_INTERNATIONALIZED_EMAIL_ADDRESS: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.20.2.4\0"; pub const szOID_PRODUCT_UPDATE: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.31.1\0"; pub const szOID_ANY_APPLICATION_POLICY: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.12.1\0"; pub const szOID_AUTO_ENROLL_CTL_USAGE: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.20.1\0"; pub const szOID_ENROLL_CERTTYPE_EXTENSION: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.20.2\0"; pub const szOID_CERT_MANIFOLD: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.20.3\0"; pub const szOID_CERTSRV_CA_VERSION: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.21.1\0"; pub const szOID_CERTSRV_PREVIOUS_CERT_HASH: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.21.2\0"; pub const szOID_CRL_VIRTUAL_BASE: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.21.3\0"; pub const szOID_CRL_NEXT_PUBLISH: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.21.4\0"; pub const szOID_KP_CA_EXCHANGE: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.21.5\0"; pub const szOID_KP_PRIVACY_CA: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.36\0"; pub const szOID_KP_KEY_RECOVERY_AGENT: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.21.6\0"; pub const szOID_CERTIFICATE_TEMPLATE: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.21.7\0"; pub const szOID_ENTERPRISE_OID_ROOT: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.21.8\0"; pub const szOID_RDN_DUMMY_SIGNER: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.21.9\0"; pub const szOID_APPLICATION_CERT_POLICIES: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.10\0"; pub const szOID_APPLICATION_POLICY_MAPPINGS: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.11\0"; pub const szOID_APPLICATION_POLICY_CONSTRAINTS: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.12\0"; pub const szOID_ARCHIVED_KEY_ATTR: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.13\0"; pub const szOID_CRL_SELF_CDP: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.14\0"; pub const szOID_REQUIRE_CERT_CHAIN_POLICY: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.15\0"; pub const szOID_ARCHIVED_KEY_CERT_HASH: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.16\0"; pub const szOID_ISSUED_CERT_HASH: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.17\0"; pub const szOID_DS_EMAIL_REPLICATION: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.19\0"; pub const szOID_REQUEST_CLIENT_INFO: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.20\0"; pub const szOID_ENCRYPTED_KEY_HASH: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.21\0"; pub const szOID_CERTSRV_CROSSCA_VERSION: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.22\0"; pub const szOID_NTDS_REPLICATION: &'static [u8; 21usize] = b"1.3.6.1.4.1.311.25.1\0"; pub const szOID_SUBJECT_DIR_ATTRS: &'static [u8; 9usize] = b"2.5.29.9\0"; pub const szOID_PKIX_KP: &'static [u8; 16usize] = b"1.3.6.1.5.5.7.3\0"; pub const szOID_PKIX_KP_SERVER_AUTH: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.3.1\0"; pub const szOID_PKIX_KP_CLIENT_AUTH: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.3.2\0"; pub const szOID_PKIX_KP_CODE_SIGNING: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.3.3\0"; pub const szOID_PKIX_KP_EMAIL_PROTECTION: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.3.4\0"; pub const szOID_PKIX_KP_IPSEC_END_SYSTEM: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.3.5\0"; pub const szOID_PKIX_KP_IPSEC_TUNNEL: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.3.6\0"; pub const szOID_PKIX_KP_IPSEC_USER: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.3.7\0"; pub const szOID_PKIX_KP_TIMESTAMP_SIGNING: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.3.8\0"; pub const szOID_PKIX_KP_OCSP_SIGNING: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.3.9\0"; pub const szOID_PKIX_OCSP_NOCHECK: &'static [u8; 21usize] = b"1.3.6.1.5.5.7.48.1.5\0"; pub const szOID_PKIX_OCSP_NONCE: &'static [u8; 21usize] = b"1.3.6.1.5.5.7.48.1.2\0"; pub const szOID_IPSEC_KP_IKE_INTERMEDIATE: &'static [u8; 18usize] = b"1.3.6.1.5.5.8.2.2\0"; pub const szOID_PKINIT_KP_KDC: &'static [u8; 16usize] = b"1.3.6.1.5.2.3.5\0"; pub const szOID_KP_CTL_USAGE_SIGNING: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.3.1\0"; pub const szOID_KP_TIME_STAMP_SIGNING: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.3.2\0"; pub const szOID_SERVER_GATED_CRYPTO: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.3.3\0"; pub const szOID_SGC_NETSCAPE: &'static [u8; 22usize] = b"2.16.840.1.113730.4.1\0"; pub const szOID_KP_EFS: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.3.4\0"; pub const szOID_EFS_RECOVERY: &'static [u8; 25usize] = b"1.3.6.1.4.1.311.10.3.4.1\0"; pub const szOID_WHQL_CRYPTO: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.3.5\0"; pub const szOID_ATTEST_WHQL_CRYPTO: &'static [u8; 25usize] = b"1.3.6.1.4.1.311.10.3.5.1\0"; pub const szOID_NT5_CRYPTO: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.3.6\0"; pub const szOID_OEM_WHQL_CRYPTO: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.3.7\0"; pub const szOID_EMBEDDED_NT_CRYPTO: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.3.8\0"; pub const szOID_ROOT_LIST_SIGNER: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.3.9\0"; pub const szOID_KP_QUALIFIED_SUBORDINATION: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.10\0"; pub const szOID_KP_KEY_RECOVERY: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.11\0"; pub const szOID_KP_DOCUMENT_SIGNING: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.12\0"; pub const szOID_KP_LIFETIME_SIGNING: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.13\0"; pub const szOID_KP_MOBILE_DEVICE_SOFTWARE: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.14\0"; pub const szOID_KP_SMART_DISPLAY: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.15\0"; pub const szOID_KP_CSP_SIGNATURE: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.16\0"; pub const szOID_KP_FLIGHT_SIGNING: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.27\0"; pub const szOID_PLATFORM_MANIFEST_BINARY_ID: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.28\0"; pub const szOID_DRM: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.5.1\0"; pub const szOID_DRM_INDIVIDUALIZATION: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.5.2\0"; pub const szOID_LICENSES: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.6.1\0"; pub const szOID_LICENSE_SERVER: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.6.2\0"; pub const szOID_KP_SMARTCARD_LOGON: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.20.2.2\0"; pub const szOID_KP_KERNEL_MODE_CODE_SIGNING: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.61.1.1\0"; pub const szOID_KP_KERNEL_MODE_TRUSTED_BOOT_SIGNING: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.61.4.1\0"; pub const szOID_REVOKED_LIST_SIGNER: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.19\0"; pub const szOID_WINDOWS_KITS_SIGNER: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.20\0"; pub const szOID_WINDOWS_RT_SIGNER: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.21\0"; pub const szOID_PROTECTED_PROCESS_LIGHT_SIGNER: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.22\0"; pub const szOID_WINDOWS_TCB_SIGNER: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.23\0"; pub const szOID_PROTECTED_PROCESS_SIGNER: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.24\0"; pub const szOID_WINDOWS_THIRD_PARTY_COMPONENT_SIGNER: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.25\0"; pub const szOID_WINDOWS_SOFTWARE_EXTENSION_SIGNER: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.26\0"; pub const szOID_DISALLOWED_LIST: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.30\0"; pub const szOID_PIN_RULES_SIGNER: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.31\0"; pub const szOID_PIN_RULES_CTL: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.32\0"; pub const szOID_PIN_RULES_EXT: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.33\0"; pub const szOID_PIN_RULES_DOMAIN_NAME: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.34\0"; pub const szOID_PIN_RULES_LOG_END_DATE_EXT: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.35\0"; pub const szOID_IUM_SIGNING: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.37\0"; pub const szOID_EV_WHQL_CRYPTO: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.39\0"; pub const szOID_BIOMETRIC_SIGNING: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.41\0"; pub const szOID_ENCLAVE_SIGNING: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.42\0"; pub const szOID_SYNC_ROOT_CTL_EXT: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.50\0"; pub const szOID_HPKP_DOMAIN_NAME_CTL: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.60\0"; pub const szOID_HPKP_HEADER_VALUE_CTL: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.3.61\0"; pub const szOID_KP_KERNEL_MODE_HAL_EXTENSION_SIGNING: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.61.5.1\0"; pub const szOID_WINDOWS_STORE_SIGNER: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.76.3.1\0"; pub const szOID_DYNAMIC_CODE_GEN_SIGNER: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.76.5.1\0"; pub const szOID_MICROSOFT_PUBLISHER_SIGNER: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.76.8.1\0"; pub const szOID_YESNO_TRUST_ATTR: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.4.1\0"; pub const szOID_SITE_PIN_RULES_INDEX_ATTR: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.4.2\0"; pub const szOID_SITE_PIN_RULES_FLAGS_ATTR: &'static [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: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.2.1\0"; pub const szOID_PKIX_POLICY_QUALIFIER_USERNOTICE: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.2.2\0"; pub const szOID_ROOT_PROGRAM_FLAGS: &'static [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: &'static [u8; 26usize] = b"2.16.840.1.113733.1.7.1.1\0"; pub const szOID_RDN_TPM_MANUFACTURER: &'static [u8; 13usize] = b"2.23.133.2.1\0"; pub const szOID_RDN_TPM_MODEL: &'static [u8; 13usize] = b"2.23.133.2.2\0"; pub const szOID_RDN_TPM_VERSION: &'static [u8; 13usize] = b"2.23.133.2.3\0"; pub const szOID_RDN_TCG_PLATFORM_MANUFACTURER: &'static [u8; 13usize] = b"2.23.133.2.4\0"; pub const szOID_RDN_TCG_PLATFORM_MODEL: &'static [u8; 13usize] = b"2.23.133.2.5\0"; pub const szOID_RDN_TCG_PLATFORM_VERSION: &'static [u8; 13usize] = b"2.23.133.2.6\0"; pub const szOID_CT_CERT_SCTLIST: &'static [u8; 24usize] = b"1.3.6.1.4.1.11129.2.4.2\0"; pub const szOID_ENROLL_EK_INFO: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.23\0"; pub const szOID_ENROLL_AIK_INFO: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.39\0"; pub const szOID_ENROLL_ATTESTATION_STATEMENT: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.24\0"; pub const szOID_ENROLL_KSP_NAME: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.25\0"; pub const szOID_ENROLL_EKPUB_CHALLENGE: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.26\0"; pub const szOID_ENROLL_CAXCHGCERT_HASH: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.27\0"; pub const szOID_ENROLL_ATTESTATION_CHALLENGE: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.28\0"; pub const szOID_ENROLL_ENCRYPTION_ALGORITHM: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.29\0"; pub const szOID_KP_TPM_EK_CERTIFICATE: &'static [u8; 13usize] = b"2.23.133.8.1\0"; pub const szOID_KP_TPM_PLATFORM_CERTIFICATE: &'static [u8; 13usize] = b"2.23.133.8.2\0"; pub const szOID_KP_TPM_AIK_CERTIFICATE: &'static [u8; 13usize] = b"2.23.133.8.3\0"; pub const szOID_ENROLL_EKVERIFYKEY: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.30\0"; pub const szOID_ENROLL_EKVERIFYCERT: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.31\0"; pub const szOID_ENROLL_EKVERIFYCREDS: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.32\0"; pub const szOID_ENROLL_SCEP_ERROR: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.33\0"; pub const szOID_ENROLL_SCEP_SERVER_STATE: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.34\0"; pub const szOID_ENROLL_SCEP_CHALLENGE_ANSWER: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.35\0"; pub const szOID_ENROLL_SCEP_CLIENT_REQUEST: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.37\0"; pub const szOID_ENROLL_SCEP_SERVER_MESSAGE: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.38\0"; pub const szOID_ENROLL_SCEP_SERVER_SECRET: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.40\0"; pub const szOID_ENROLL_KEY_AFFINITY: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.41\0"; pub const szOID_ENROLL_SCEP_SIGNER_HASH: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.42\0"; pub const szOID_ENROLL_EK_CA_KEYID: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.21.43\0"; pub const szOID_ATTR_SUPPORTED_ALGORITHMS: &'static [u8; 9usize] = b"2.5.4.52\0"; pub const szOID_ATTR_TPM_SPECIFICATION: &'static [u8; 14usize] = b"2.23.133.2.16\0"; pub const szOID_ATTR_PLATFORM_SPECIFICATION: &'static [u8; 14usize] = b"2.23.133.2.17\0"; pub const szOID_ATTR_TPM_SECURITY_ASSERTIONS: &'static [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: &'static [u8; 17usize] = b"1.3.6.1.5.5.7.48\0"; pub const szOID_PKIX_OCSP: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.48.1\0"; pub const szOID_PKIX_CA_ISSUERS: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.48.2\0"; pub const szOID_PKIX_TIME_STAMPING: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.48.3\0"; pub const szOID_PKIX_CA_REPOSITORY: &'static [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: &'static [u8; 15usize] = b"0.4.0.1862.1.1\0"; pub const szOID_QC_SSCD: &'static [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: &'static [u8; 24usize] = b"2.16.840.1.113733.1.6.9\0"; pub const szOID_VERISIGN_ONSITE_JURISDICTION_HASH: &'static [u8; 25usize] = b"2.16.840.1.113733.1.6.11\0"; pub const szOID_VERISIGN_BITSTRING_6_13: &'static [u8; 25usize] = b"2.16.840.1.113733.1.6.13\0"; pub const szOID_VERISIGN_ISS_STRONG_CRYPTO: &'static [u8; 24usize] = b"2.16.840.1.113733.1.8.1\0"; pub const szOIDVerisign_MessageType: &'static [u8; 24usize] = b"2.16.840.1.113733.1.9.2\0"; pub const szOIDVerisign_PkiStatus: &'static [u8; 24usize] = b"2.16.840.1.113733.1.9.3\0"; pub const szOIDVerisign_FailInfo: &'static [u8; 24usize] = b"2.16.840.1.113733.1.9.4\0"; pub const szOIDVerisign_SenderNonce: &'static [u8; 24usize] = b"2.16.840.1.113733.1.9.5\0"; pub const szOIDVerisign_RecipientNonce: &'static [u8; 24usize] = b"2.16.840.1.113733.1.9.6\0"; pub const szOIDVerisign_TransactionID: &'static [u8; 24usize] = b"2.16.840.1.113733.1.9.7\0"; pub const szOID_NETSCAPE: &'static [u8; 18usize] = b"2.16.840.1.113730\0"; pub const szOID_NETSCAPE_CERT_EXTENSION: &'static [u8; 20usize] = b"2.16.840.1.113730.1\0"; pub const szOID_NETSCAPE_CERT_TYPE: &'static [u8; 22usize] = b"2.16.840.1.113730.1.1\0"; pub const szOID_NETSCAPE_BASE_URL: &'static [u8; 22usize] = b"2.16.840.1.113730.1.2\0"; pub const szOID_NETSCAPE_REVOCATION_URL: &'static [u8; 22usize] = b"2.16.840.1.113730.1.3\0"; pub const szOID_NETSCAPE_CA_REVOCATION_URL: &'static [u8; 22usize] = b"2.16.840.1.113730.1.4\0"; pub const szOID_NETSCAPE_CERT_RENEWAL_URL: &'static [u8; 22usize] = b"2.16.840.1.113730.1.7\0"; pub const szOID_NETSCAPE_CA_POLICY_URL: &'static [u8; 22usize] = b"2.16.840.1.113730.1.8\0"; pub const szOID_NETSCAPE_SSL_SERVER_NAME: &'static [u8; 23usize] = b"2.16.840.1.113730.1.12\0"; pub const szOID_NETSCAPE_COMMENT: &'static [u8; 23usize] = b"2.16.840.1.113730.1.13\0"; pub const szOID_NETSCAPE_DATA_TYPE: &'static [u8; 20usize] = b"2.16.840.1.113730.2\0"; pub const szOID_NETSCAPE_CERT_SEQUENCE: &'static [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: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.12.2\0"; pub const szOID_CT_PKI_RESPONSE: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.12.3\0"; pub const szOID_PKIX_NO_SIGNATURE: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.6.2\0"; pub const szOID_CMC: &'static [u8; 16usize] = b"1.3.6.1.5.5.7.7\0"; pub const szOID_CMC_STATUS_INFO: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.7.1\0"; pub const szOID_CMC_IDENTIFICATION: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.7.2\0"; pub const szOID_CMC_IDENTITY_PROOF: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.7.3\0"; pub const szOID_CMC_DATA_RETURN: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.7.4\0"; pub const szOID_CMC_TRANSACTION_ID: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.7.5\0"; pub const szOID_CMC_SENDER_NONCE: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.7.6\0"; pub const szOID_CMC_RECIPIENT_NONCE: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.7.7\0"; pub const szOID_CMC_ADD_EXTENSIONS: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.7.8\0"; pub const szOID_CMC_ENCRYPTED_POP: &'static [u8; 18usize] = b"1.3.6.1.5.5.7.7.9\0"; pub const szOID_CMC_DECRYPTED_POP: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.7.10\0"; pub const szOID_CMC_LRA_POP_WITNESS: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.7.11\0"; pub const szOID_CMC_GET_CERT: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.7.15\0"; pub const szOID_CMC_GET_CRL: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.7.16\0"; pub const szOID_CMC_REVOKE_REQUEST: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.7.17\0"; pub const szOID_CMC_REG_INFO: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.7.18\0"; pub const szOID_CMC_RESPONSE_INFO: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.7.19\0"; pub const szOID_CMC_QUERY_PENDING: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.7.21\0"; pub const szOID_CMC_ID_POP_LINK_RANDOM: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.7.22\0"; pub const szOID_CMC_ID_POP_LINK_WITNESS: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.7.23\0"; pub const szOID_CMC_ID_CONFIRM_CERT_ACCEPTANCE: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.7.24\0"; pub const szOID_CMC_ADD_ATTRIBUTES: &'static [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: &'static [u8; 19usize] = b"1.3.6.1.5.5.7.20.1\0"; pub const szOID_BACKGROUND_OTHER_LOGOTYPE: &'static [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: &'static [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: &'static [u8; 21usize] = b"CryptDllEncodeObject\0"; pub const CRYPT_OID_DECODE_OBJECT_FUNC: &'static [u8; 21usize] = b"CryptDllDecodeObject\0"; pub const CRYPT_OID_ENCODE_OBJECT_EX_FUNC: &'static [u8; 23usize] = b"CryptDllEncodeObjectEx\0"; pub const CRYPT_OID_DECODE_OBJECT_EX_FUNC: &'static [u8; 23usize] = b"CryptDllDecodeObjectEx\0"; pub const CRYPT_OID_CREATE_COM_OBJECT_FUNC: &'static [u8; 24usize] = b"CryptDllCreateCOMObject\0"; pub const CRYPT_OID_VERIFY_REVOCATION_FUNC: &'static [u8; 24usize] = b"CertDllVerifyRevocation\0"; pub const CRYPT_OID_VERIFY_CTL_USAGE_FUNC: &'static [u8; 22usize] = b"CertDllVerifyCTLUsage\0"; pub const CRYPT_OID_FORMAT_OBJECT_FUNC: &'static [u8; 21usize] = b"CryptDllFormatObject\0"; pub const CRYPT_OID_FIND_OID_INFO_FUNC: &'static [u8; 20usize] = b"CryptDllFindOIDInfo\0"; pub const CRYPT_OID_FIND_LOCALIZED_NAME_FUNC: &'static [u8; 26usize] = b"CryptDllFindLocalizedName\0"; pub const CRYPT_OID_REGPATH: &'static [u8; 36usize] = b"Software\\Microsoft\\Cryptography\\OID\0"; pub const CRYPT_OID_REG_ENCODING_TYPE_PREFIX: &'static [u8; 14usize] = b"EncodingType \0"; pub const CRYPT_OID_REG_DLL_VALUE_NAME: &'static [u8; 4usize] = b"Dll\0"; pub const CRYPT_OID_REG_FUNC_NAME_VALUE_NAME: &'static [u8; 9usize] = b"FuncName\0"; pub const CRYPT_OID_REG_FUNC_NAME_VALUE_NAME_A: &'static [u8; 9usize] = b"FuncName\0"; pub const CRYPT_OID_REG_FLAGS_VALUE_NAME: &'static [u8; 11usize] = b"CryptFlags\0"; pub const CRYPT_DEFAULT_OID: &'static [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: &'static [u8; 27usize] = b"CryptOIDInfoHashParameters\0"; pub const CRYPT_OID_INFO_ECC_PARAMETERS_ALGORITHM: &'static [u8; 26usize] = b"CryptOIDInfoECCParameters\0"; pub const CRYPT_OID_INFO_MGF1_PARAMETERS_ALGORITHM: &'static [u8; 27usize] = b"CryptOIDInfoMgf1Parameters\0"; pub const CRYPT_OID_INFO_NO_SIGN_ALGORITHM: &'static [u8; 19usize] = b"CryptOIDInfoNoSign\0"; pub const CRYPT_OID_INFO_OAEP_PARAMETERS_ALGORITHM: &'static [u8; 27usize] = b"CryptOIDInfoOAEPParameters\0"; pub const CRYPT_OID_INFO_ECC_WRAP_PARAMETERS_ALGORITHM: &'static [u8; 30usize] = b"CryptOIDInfoECCWrapParameters\0"; pub const CRYPT_OID_INFO_NO_PARAMETERS_ALGORITHM: &'static [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: &'static [u8; 15usize] = b"LocalizedNames\0"; pub const CERT_STRONG_SIGN_ECDSA_ALGORITHM: &'static [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: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.72.1.\0"; pub const szOID_CERT_STRONG_SIGN_OS_1: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.72.1.1\0"; pub const szOID_CERT_STRONG_SIGN_OS_CURRENT: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.72.1.1\0"; pub const szOID_CERT_STRONG_KEY_OS_PREFIX: &'static [u8; 22usize] = b"1.3.6.1.4.1.311.72.2.\0"; pub const szOID_CERT_STRONG_KEY_OS_1: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.72.2.1\0"; pub const szOID_CERT_STRONG_KEY_OS_CURRENT: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.72.2.1\0"; pub const szOID_PKCS_7_DATA: &'static [u8; 21usize] = b"1.2.840.113549.1.7.1\0"; pub const szOID_PKCS_7_SIGNED: &'static [u8; 21usize] = b"1.2.840.113549.1.7.2\0"; pub const szOID_PKCS_7_ENVELOPED: &'static [u8; 21usize] = b"1.2.840.113549.1.7.3\0"; pub const szOID_PKCS_7_SIGNEDANDENVELOPED: &'static [u8; 21usize] = b"1.2.840.113549.1.7.4\0"; pub const szOID_PKCS_7_DIGESTED: &'static [u8; 21usize] = b"1.2.840.113549.1.7.5\0"; pub const szOID_PKCS_7_ENCRYPTED: &'static [u8; 21usize] = b"1.2.840.113549.1.7.6\0"; pub const szOID_PKCS_9_CONTENT_TYPE: &'static [u8; 21usize] = b"1.2.840.113549.1.9.3\0"; pub const szOID_PKCS_9_MESSAGE_DIGEST: &'static [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: &'static [u8; 25usize] = b"CryptMsgDllGenEncryptKey\0"; pub const CMSG_OID_EXPORT_ENCRYPT_KEY_FUNC: &'static [u8; 28usize] = b"CryptMsgDllExportEncryptKey\0"; pub const CMSG_OID_IMPORT_ENCRYPT_KEY_FUNC: &'static [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: &'static [u8; 32usize] = b"CryptMsgDllGenContentEncryptKey\0"; pub const CMSG_OID_CAPI1_GEN_CONTENT_ENCRYPT_KEY_FUNC: &'static [u8; 32usize] = b"CryptMsgDllGenContentEncryptKey\0"; pub const CMSG_OID_CNG_GEN_CONTENT_ENCRYPT_KEY_FUNC: &'static [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: &'static [u8; 26usize] = b"CryptMsgDllExportKeyTrans\0"; pub const CMSG_OID_CAPI1_EXPORT_KEY_TRANS_FUNC: &'static [u8; 26usize] = b"CryptMsgDllExportKeyTrans\0"; pub const CMSG_OID_CNG_EXPORT_KEY_TRANS_FUNC: &'static [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: &'static [u8; 26usize] = b"CryptMsgDllExportKeyAgree\0"; pub const CMSG_OID_CAPI1_EXPORT_KEY_AGREE_FUNC: &'static [u8; 26usize] = b"CryptMsgDllExportKeyAgree\0"; pub const CMSG_OID_CNG_EXPORT_KEY_AGREE_FUNC: &'static [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: &'static [u8; 26usize] = b"CryptMsgDllExportMailList\0"; pub const CMSG_OID_CAPI1_EXPORT_MAIL_LIST_FUNC: &'static [u8; 26usize] = b"CryptMsgDllExportMailList\0"; pub const CMSG_OID_IMPORT_KEY_TRANS_FUNC: &'static [u8; 26usize] = b"CryptMsgDllImportKeyTrans\0"; pub const CMSG_OID_CAPI1_IMPORT_KEY_TRANS_FUNC: &'static [u8; 26usize] = b"CryptMsgDllImportKeyTrans\0"; pub const CMSG_OID_IMPORT_KEY_AGREE_FUNC: &'static [u8; 26usize] = b"CryptMsgDllImportKeyAgree\0"; pub const CMSG_OID_CAPI1_IMPORT_KEY_AGREE_FUNC: &'static [u8; 26usize] = b"CryptMsgDllImportKeyAgree\0"; pub const CMSG_OID_IMPORT_MAIL_LIST_FUNC: &'static [u8; 26usize] = b"CryptMsgDllImportMailList\0"; pub const CMSG_OID_CAPI1_IMPORT_MAIL_LIST_FUNC: &'static [u8; 26usize] = b"CryptMsgDllImportMailList\0"; pub const CMSG_OID_CNG_IMPORT_KEY_TRANS_FUNC: &'static [u8; 29usize] = b"CryptMsgDllCNGImportKeyTrans\0"; pub const CMSG_OID_CNG_IMPORT_KEY_AGREE_FUNC: &'static [u8; 29usize] = b"CryptMsgDllCNGImportKeyAgree\0"; pub const CMSG_OID_CNG_IMPORT_CONTENT_ENCRYPT_KEY_FUNC: &'static [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: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.10.11.\0"; pub const szOID_CERT_KEY_IDENTIFIER_PROP_ID: &'static [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: &'static [u8; 25usize] = b"1.3.6.1.4.1.311.10.11.28\0"; pub const szOID_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: &'static [u8; 25usize] = b"1.3.6.1.4.1.311.10.11.29\0"; pub const szOID_CERT_MD5_HASH_PROP_ID: &'static [u8; 24usize] = b"1.3.6.1.4.1.311.10.11.4\0"; pub const szOID_CERT_SIGNATURE_HASH_PROP_ID: &'static [u8; 25usize] = b"1.3.6.1.4.1.311.10.11.15\0"; pub const szOID_DISALLOWED_HASH: &'static [u8; 25usize] = b"1.3.6.1.4.1.311.10.11.15\0"; pub const szOID_CERT_DISALLOWED_FILETIME_PROP_ID: &'static [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: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.60.3.1\0"; pub const szOID_ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION: &'static [u8; 23usize] = b"1.3.6.1.4.1.311.60.3.2\0"; pub const szOID_ROOT_PROGRAM_NO_OCSP_FAILOVER_TO_CRL: &'static [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: &'static [u8; 7usize] = b"Memory\0"; pub const sz_CERT_STORE_PROV_FILENAME_W: &'static [u8; 5usize] = b"File\0"; pub const sz_CERT_STORE_PROV_FILENAME: &'static [u8; 5usize] = b"File\0"; pub const sz_CERT_STORE_PROV_SYSTEM_W: &'static [u8; 7usize] = b"System\0"; pub const sz_CERT_STORE_PROV_SYSTEM: &'static [u8; 7usize] = b"System\0"; pub const sz_CERT_STORE_PROV_PKCS7: &'static [u8; 6usize] = b"PKCS7\0"; pub const sz_CERT_STORE_PROV_PKCS12: &'static [u8; 7usize] = b"PKCS12\0"; pub const sz_CERT_STORE_PROV_SERIALIZED: &'static [u8; 11usize] = b"Serialized\0"; pub const sz_CERT_STORE_PROV_COLLECTION: &'static [u8; 11usize] = b"Collection\0"; pub const sz_CERT_STORE_PROV_SYSTEM_REGISTRY_W: &'static [u8; 15usize] = b"SystemRegistry\0"; pub const sz_CERT_STORE_PROV_SYSTEM_REGISTRY: &'static [u8; 15usize] = b"SystemRegistry\0"; pub const sz_CERT_STORE_PROV_PHYSICAL_W: &'static [u8; 9usize] = b"Physical\0"; pub const sz_CERT_STORE_PROV_PHYSICAL: &'static [u8; 9usize] = b"Physical\0"; pub const sz_CERT_STORE_PROV_SMART_CARD_W: &'static [u8; 10usize] = b"SmartCard\0"; pub const sz_CERT_STORE_PROV_SMART_CARD: &'static [u8; 10usize] = b"SmartCard\0"; pub const sz_CERT_STORE_PROV_LDAP_W: &'static [u8; 5usize] = b"Ldap\0"; pub const sz_CERT_STORE_PROV_LDAP: &'static [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: &'static [u8; 47usize] = b"Software\\Policies\\Microsoft\\SystemCertificates\0"; pub const CERT_EFSBLOB_REGPATH: &'static [u8; 51usize] = b"Software\\Policies\\Microsoft\\SystemCertificates\\EFS\0"; pub const CERT_EFSBLOB_VALUE_NAME: &'static [u8; 8usize] = b"EFSBlob\0"; pub const CERT_PROT_ROOT_FLAGS_REGPATH: &'static [u8; 67usize] = b"Software\\Policies\\Microsoft\\SystemCertificates\\Root\\ProtectedRoots\0"; pub const CERT_PROT_ROOT_FLAGS_VALUE_NAME: &'static [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: &'static [u8; 11usize] = b"PeerUsages\0"; pub const CERT_PROT_ROOT_PEER_USAGES_VALUE_NAME_A: &'static [u8; 11usize] = b"PeerUsages\0"; pub const CERT_PROT_ROOT_PEER_USAGES_DEFAULT_A: &'static [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: &'static [u8; 70usize] = b"Software\\Policies\\Microsoft\\SystemCertificates\\TrustedPublisher\\Safer\0"; pub const CERT_LOCAL_MACHINE_SYSTEM_STORE_REGPATH: &'static [u8; 38usize] = b"Software\\Microsoft\\SystemCertificates\0"; pub const CERT_TRUST_PUB_SAFER_LOCAL_MACHINE_REGPATH: &'static [u8; 61usize] = b"Software\\Microsoft\\SystemCertificates\\TrustedPublisher\\Safer\0"; pub const CERT_TRUST_PUB_AUTHENTICODE_FLAGS_VALUE_NAME: &'static [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: &'static [u8; 73usize] = b"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager\\Subcomponents\0"; pub const CERT_OCM_SUBCOMPONENTS_ROOT_AUTO_UPDATE_VALUE_NAME: &'static [u8; 15usize] = b"RootAutoUpdate\0"; pub const CERT_DISABLE_ROOT_AUTO_UPDATE_REGPATH: &'static [u8; 56usize] = b"Software\\Policies\\Microsoft\\SystemCertificates\\AuthRoot\0"; pub const CERT_DISABLE_ROOT_AUTO_UPDATE_VALUE_NAME: &'static [u8; 22usize] = b"DisableRootAutoUpdate\0"; pub const CERT_ENABLE_DISALLOWED_CERT_AUTO_UPDATE_VALUE_NAME: &'static [u8; 31usize] = b"EnableDisallowedCertAutoUpdate\0"; pub const CERT_DISABLE_PIN_RULES_AUTO_UPDATE_VALUE_NAME: &'static [u8; 26usize] = b"DisablePinRulesAutoUpdate\0"; pub const CERT_AUTO_UPDATE_LOCAL_MACHINE_REGPATH: &'static [u8; 58usize] = b"Software\\Microsoft\\SystemCertificates\\AuthRoot\\AutoUpdate\0"; pub const CERT_AUTO_UPDATE_ROOT_DIR_URL_VALUE_NAME: &'static [u8; 11usize] = b"RootDirUrl\0"; pub const CERT_AUTO_UPDATE_SYNC_FROM_DIR_URL_VALUE_NAME: &'static [u8; 15usize] = b"SyncFromDirUrl\0"; pub const CERT_AUTH_ROOT_AUTO_UPDATE_LOCAL_MACHINE_REGPATH: &'static [u8; 58usize] = b"Software\\Microsoft\\SystemCertificates\\AuthRoot\\AutoUpdate\0"; pub const CERT_AUTH_ROOT_AUTO_UPDATE_ROOT_DIR_URL_VALUE_NAME: &'static [u8; 11usize] = b"RootDirUrl\0"; pub const CERT_AUTH_ROOT_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME: &'static [u8; 14usize] = b"SyncDeltaTime\0"; pub const CERT_AUTH_ROOT_AUTO_UPDATE_FLAGS_VALUE_NAME: &'static [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: &'static [u8; 13usize] = b"LastSyncTime\0"; pub const CERT_AUTH_ROOT_AUTO_UPDATE_ENCODED_CTL_VALUE_NAME: &'static [u8; 11usize] = b"EncodedCtl\0"; pub const CERT_AUTH_ROOT_CTL_FILENAME: &'static [u8; 13usize] = b"authroot.stl\0"; pub const CERT_AUTH_ROOT_CTL_FILENAME_A: &'static [u8; 13usize] = b"authroot.stl\0"; pub const CERT_AUTH_ROOT_CAB_FILENAME: &'static [u8; 16usize] = b"authrootstl.cab\0"; pub const CERT_AUTH_ROOT_SEQ_FILENAME: &'static [u8; 16usize] = b"authrootseq.txt\0"; pub const CERT_AUTH_ROOT_CERT_EXT: &'static [u8; 5usize] = b".crt\0"; pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME: &'static [u8; 28usize] = b"DisallowedCertSyncDeltaTime\0"; pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_LAST_SYNC_TIME_VALUE_NAME: &'static [u8; 27usize] = b"DisallowedCertLastSyncTime\0"; pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_ENCODED_CTL_VALUE_NAME: &'static [u8; 25usize] = b"DisallowedCertEncodedCtl\0"; pub const CERT_DISALLOWED_CERT_CTL_FILENAME: &'static [u8; 19usize] = b"disallowedcert.stl\0"; pub const CERT_DISALLOWED_CERT_CTL_FILENAME_A: &'static [u8; 19usize] = b"disallowedcert.stl\0"; pub const CERT_DISALLOWED_CERT_CAB_FILENAME: &'static [u8; 22usize] = b"disallowedcertstl.cab\0"; pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_LIST_IDENTIFIER: &'static [u8; 28usize] = b"DisallowedCert_AutoUpdate_1\0"; pub const CERT_PIN_RULES_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME: &'static [u8; 22usize] = b"PinRulesSyncDeltaTime\0"; pub const CERT_PIN_RULES_AUTO_UPDATE_LAST_SYNC_TIME_VALUE_NAME: &'static [u8; 21usize] = b"PinRulesLastSyncTime\0"; pub const CERT_PIN_RULES_AUTO_UPDATE_ENCODED_CTL_VALUE_NAME: &'static [u8; 19usize] = b"PinRulesEncodedCtl\0"; pub const CERT_PIN_RULES_CTL_FILENAME: &'static [u8; 13usize] = b"pinrules.stl\0"; pub const CERT_PIN_RULES_CTL_FILENAME_A: &'static [u8; 13usize] = b"pinrules.stl\0"; pub const CERT_PIN_RULES_CAB_FILENAME: &'static [u8; 16usize] = b"pinrulesstl.cab\0"; pub const CERT_PIN_RULES_AUTO_UPDATE_LIST_IDENTIFIER: &'static [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: &'static [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: &'static [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: &'static [u8; 9usize] = b".Default\0"; pub const CERT_PHYSICAL_STORE_GROUP_POLICY_NAME: &'static [u8; 13usize] = b".GroupPolicy\0"; pub const CERT_PHYSICAL_STORE_LOCAL_MACHINE_NAME: &'static [u8; 14usize] = b".LocalMachine\0"; pub const CERT_PHYSICAL_STORE_DS_USER_CERTIFICATE_NAME: &'static [u8; 17usize] = b".UserCertificate\0"; pub const CERT_PHYSICAL_STORE_LOCAL_MACHINE_GROUP_POLICY_NAME: &'static [u8; 25usize] = b".LocalMachineGroupPolicy\0"; pub const CERT_PHYSICAL_STORE_ENTERPRISE_NAME: &'static [u8; 12usize] = b".Enterprise\0"; pub const CERT_PHYSICAL_STORE_AUTH_ROOT_NAME: &'static [u8; 10usize] = b".AuthRoot\0"; pub const CERT_PHYSICAL_STORE_SMART_CARD_NAME: &'static [u8; 11usize] = b".SmartCard\0"; pub const CRYPT_OID_OPEN_SYSTEM_STORE_PROV_FUNC: &'static [u8; 27usize] = b"CertDllOpenSystemStoreProv\0"; pub const CRYPT_OID_REGISTER_SYSTEM_STORE_FUNC: &'static [u8; 27usize] = b"CertDllRegisterSystemStore\0"; pub const CRYPT_OID_UNREGISTER_SYSTEM_STORE_FUNC: &'static [u8; 29usize] = b"CertDllUnregisterSystemStore\0"; pub const CRYPT_OID_ENUM_SYSTEM_STORE_FUNC: &'static [u8; 23usize] = b"CertDllEnumSystemStore\0"; pub const CRYPT_OID_REGISTER_PHYSICAL_STORE_FUNC: &'static [u8; 29usize] = b"CertDllRegisterPhysicalStore\0"; pub const CRYPT_OID_UNREGISTER_PHYSICAL_STORE_FUNC: &'static [u8; 31usize] = b"CertDllUnregisterPhysicalStore\0"; pub const CRYPT_OID_ENUM_PHYSICAL_STORE_FUNC: &'static [u8; 25usize] = b"CertDllEnumPhysicalStore\0"; pub const CRYPT_OID_SYSTEM_STORE_LOCATION_VALUE_NAME: &'static [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: &'static [u8; 42usize] = b"CryptDllExtractEncodedSignatureParameters\0"; pub const CRYPT_OID_SIGN_AND_ENCODE_HASH_FUNC: &'static [u8; 26usize] = b"CryptDllSignAndEncodeHash\0"; pub const CRYPT_OID_VERIFY_ENCODED_SIGNATURE_FUNC: &'static [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: &'static [u8; 30usize] = b"CryptDllExportPublicKeyInfoEx\0"; pub const CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC: &'static [u8; 31usize] = b"CryptDllExportPublicKeyInfoEx2\0"; pub const CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_FROM_BCRYPT_HANDLE_FUNC: &'static [u8; 47usize] = b"CryptDllExportPublicKeyInfoFromBCryptKeyHandle\0"; pub const CRYPT_OID_IMPORT_PUBLIC_KEY_INFO_FUNC: &'static [u8; 30usize] = b"CryptDllImportPublicKeyInfoEx\0"; pub const CRYPT_OID_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC: &'static [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: &'static [u8; 31usize] = b"CryptDllImportPrivateKeyInfoEx\0"; pub const CRYPT_OID_EXPORT_PRIVATE_KEY_INFO_FUNC: &'static [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: &'static [u8; 31usize] = b"SchemeDllRetrieveEncodedObject\0"; pub const SCHEME_OID_RETRIEVE_ENCODED_OBJECTW_FUNC: &'static [u8; 32usize] = b"SchemeDllRetrieveEncodedObjectW\0"; pub const CONTEXT_OID_CREATE_OBJECT_CONTEXT_FUNC: &'static [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: &'static [u8; 19usize] = b"UrlDllGetObjectUrl\0"; pub const TIME_VALID_OID_GET_OBJECT_FUNC: &'static [u8; 22usize] = b"TimeValidDllGetObject\0"; pub const TIME_VALID_OID_FLUSH_OBJECT_FUNC: &'static [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 : & 'static [u8 ; 94usize] = b"Software\\Microsoft\\Cryptography\\OID\\EncodingType 0\\CertDllCreateCertificateChainEngine\\Config\0" ; pub const CERT_CHAIN_MAX_URL_RETRIEVAL_BYTE_COUNT_VALUE_NAME: &'static [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: &'static [u8; 25usize] = b"ChainCacheResyncFiletime\0"; pub const CERT_CHAIN_DISABLE_MANDATORY_BASIC_CONSTRAINTS_VALUE_NAME: &'static [u8; 33usize] = b"DisableMandatoryBasicConstraints\0"; pub const CERT_CHAIN_DISABLE_CA_NAME_CONSTRAINTS_VALUE_NAME: &'static [u8; 25usize] = b"DisableCANameConstraints\0"; pub const CERT_CHAIN_DISABLE_UNSUPPORTED_CRITICAL_EXTENSIONS_VALUE_NAME: &'static [u8; 37usize] = b"DisableUnsupportedCriticalExtensions\0"; pub const CERT_CHAIN_MAX_AIA_URL_COUNT_IN_CERT_VALUE_NAME: &'static [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: &'static [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: &'static [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: &'static [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: &'static [u8; 20usize] = b"OcspValiditySeconds\0"; pub const CERT_CHAIN_OCSP_VALIDITY_SECONDS_DEFAULT: u32 = 43200; pub const CERT_CHAIN_DISABLE_SERIAL_CHAIN_VALUE_NAME: &'static [u8; 19usize] = b"DisableSerialChain\0"; pub const CERT_CHAIN_SERIAL_CHAIN_LOG_FILE_NAME_VALUE_NAME: &'static [u8; 23usize] = b"SerialChainLogFileName\0"; pub const CERT_CHAIN_DISABLE_SYNC_WITH_SSL_TIME_VALUE_NAME: &'static [u8; 23usize] = b"DisableSyncWithSslTime\0"; pub const CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_VALUE_NAME: &'static [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: &'static [u8; 24usize] = b"SslHandshakeLogFileName\0"; pub const CERT_CHAIN_ENABLE_WEAK_SIGNATURE_FLAGS_VALUE_NAME: &'static [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: &'static [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: &'static [u8; 18usize] = b"WeakRsaPubKeyTime\0"; pub const CERT_CHAIN_WEAK_SIGNATURE_LOG_DIR_VALUE_NAME: &'static [u8; 20usize] = b"WeakSignatureLogDir\0"; pub const CERT_CHAIN_DEFAULT_CONFIG_SUBDIR: &'static [u8; 8usize] = b"Default\0"; pub const CERT_CHAIN_WEAK_PREFIX_NAME: &'static [u8; 5usize] = b"Weak\0"; pub const CERT_CHAIN_WEAK_THIRD_PARTY_CONFIG_NAME: &'static [u8; 11usize] = b"ThirdParty\0"; pub const CERT_CHAIN_WEAK_ALL_CONFIG_NAME: &'static [u8; 4usize] = b"All\0"; pub const CERT_CHAIN_WEAK_FLAGS_NAME: &'static [u8; 6usize] = b"Flags\0"; pub const CERT_CHAIN_WEAK_HYGIENE_NAME: &'static [u8; 8usize] = b"Hygiene\0"; pub const CERT_CHAIN_WEAK_AFTER_TIME_NAME: &'static [u8; 10usize] = b"AfterTime\0"; pub const CERT_CHAIN_WEAK_FILE_HASH_AFTER_TIME_NAME: &'static [u8; 18usize] = b"FileHashAfterTime\0"; pub const CERT_CHAIN_WEAK_TIMESTAMP_HASH_AFTER_TIME_NAME: &'static [u8; 23usize] = b"TimestampHashAfterTime\0"; pub const CERT_CHAIN_WEAK_MIN_BIT_LENGTH_NAME: &'static [u8; 13usize] = b"MinBitLength\0"; pub const CERT_CHAIN_WEAK_SHA256_ALLOW_NAME: &'static [u8; 12usize] = b"Sha256Allow\0"; pub const CERT_CHAIN_MIN_PUB_KEY_BIT_LENGTH_DISABLE: u32 = 4294967295; pub const CERT_CHAIN_ENABLE_WEAK_SETTINGS_FLAG: u32 = 2147483648; pub const CERT_CHAIN_DISABLE_ALL_EKU_WEAK_FLAG: u32 = 65536; pub const CERT_CHAIN_ENABLE_ALL_EKU_HYGIENE_FLAG: u32 = 131072; pub const CERT_CHAIN_DISABLE_OPT_IN_SERVER_AUTH_WEAK_FLAG: u32 = 262144; pub const CERT_CHAIN_DISABLE_SERVER_AUTH_WEAK_FLAG: u32 = 1048576; pub const CERT_CHAIN_ENABLE_SERVER_AUTH_HYGIENE_FLAG: u32 = 2097152; pub const CERT_CHAIN_DISABLE_CODE_SIGNING_WEAK_FLAG: u32 = 4194304; pub const CERT_CHAIN_DISABLE_MOTW_CODE_SIGNING_WEAK_FLAG: u32 = 8388608; pub const CERT_CHAIN_ENABLE_CODE_SIGNING_HYGIENE_FLAG: u32 = 16777216; pub const CERT_CHAIN_ENABLE_MOTW_CODE_SIGNING_HYGIENE_FLAG: u32 = 33554432; pub const CERT_CHAIN_DISABLE_TIMESTAMP_WEAK_FLAG: u32 = 67108864; pub const CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_WEAK_FLAG: u32 = 134217728; pub const CERT_CHAIN_ENABLE_TIMESTAMP_HYGIENE_FLAG: u32 = 268435456; pub const CERT_CHAIN_ENABLE_MOTW_TIMESTAMP_HYGIENE_FLAG: u32 = 536870912; pub const CERT_CHAIN_MOTW_IGNORE_AFTER_TIME_WEAK_FLAG: u32 = 1073741824; pub const CERT_CHAIN_DISABLE_FILE_HASH_WEAK_FLAG: u32 = 4096; pub const CERT_CHAIN_DISABLE_MOTW_FILE_HASH_WEAK_FLAG: u32 = 8192; pub const CERT_CHAIN_DISABLE_TIMESTAMP_HASH_WEAK_FLAG: u32 = 16384; pub const CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_HASH_WEAK_FLAG: u32 = 32768; pub const CERT_CHAIN_DISABLE_WEAK_FLAGS: u32 = 215285760; pub const CERT_CHAIN_DISABLE_FILE_HASH_WEAK_FLAGS: u32 = 12288; pub const CERT_CHAIN_DISABLE_TIMESTAMP_HASH_WEAK_FLAGS: u32 = 49152; pub const CERT_CHAIN_ENABLE_HYGIENE_FLAGS: u32 = 857866240; pub const CERT_CHAIN_MOTW_WEAK_FLAGS: u32 = 1786773504; pub const CERT_CHAIN_OPT_IN_WEAK_FLAGS: u32 = 262144; pub const CERT_CHAIN_AUTO_CURRENT_USER: u32 = 1; pub const CERT_CHAIN_AUTO_LOCAL_MACHINE: u32 = 2; pub const CERT_CHAIN_AUTO_IMPERSONATED: u32 = 3; pub const CERT_CHAIN_AUTO_PROCESS_INFO: u32 = 4; pub const CERT_CHAIN_AUTO_PINRULE_INFO: u32 = 5; pub const CERT_CHAIN_AUTO_NETWORK_INFO: u32 = 6; pub const CERT_CHAIN_AUTO_SERIAL_LOCAL_MACHINE: u32 = 7; pub const CERT_CHAIN_AUTO_HPKP_RULE_INFO: u32 = 8; pub const CERT_CHAIN_AUTO_FLAGS_VALUE_NAME: &'static [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: &'static [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: &'static [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: &'static [u8; 16usize] = b"AutoLogFileName\0"; pub const CERT_CHAIN_DISABLE_AUTO_FLUSH_PROCESS_NAME_LIST_VALUE_NAME: &'static [u8; 32usize] = b"DisableAutoFlushProcessNameList\0"; pub const CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_VALUE_NAME: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [u8; 40usize] = b"CryptnetPreFetchRetrievalTimeoutSeconds\0"; pub const CRYPTNET_PRE_FETCH_RETRIEVAL_TIMEOUT_SECONDS_DEFAULT: u32 = 300; pub const CRYPTNET_CRL_PRE_FETCH_CONFIG_REGPATH : & 'static [u8 ; 106usize] = b"Software\\Microsoft\\Cryptography\\OID\\EncodingType 0\\CertDllCreateCertificateChainEngine\\Config\\CrlPreFetch\0" ; pub const CRYPTNET_CRL_PRE_FETCH_PROCESS_NAME_LIST_VALUE_NAME: &'static [u8; 16usize] = b"ProcessNameList\0"; pub const CRYPTNET_CRL_PRE_FETCH_URL_LIST_VALUE_NAME: &'static [u8; 16usize] = b"PreFetchUrlList\0"; pub const CRYPTNET_CRL_PRE_FETCH_DISABLE_INFORMATION_EVENTS_VALUE_NAME: &'static [u8; 25usize] = b"DisableInformationEvents\0"; pub const CRYPTNET_CRL_PRE_FETCH_LOG_FILE_NAME_VALUE_NAME: &'static [u8; 12usize] = b"LogFileName\0"; pub const CRYPTNET_CRL_PRE_FETCH_TIMEOUT_SECONDS_VALUE_NAME: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [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: &'static [u8; 66usize] = b"Software\\Policies\\Microsoft\\SystemCertificates\\ChainEngine\\Config\0"; pub const CERT_CHAIN_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME: &'static [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: &'static [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: &'static [u8; 22usize] = b"EnableInetUnknownAuth\0"; pub const CERT_RETR_BEHAVIOR_INET_STATUS_VALUE_NAME: &'static [u8; 16usize] = b"EnableInetLocal\0"; pub const CERT_RETR_BEHAVIOR_FILE_VALUE_NAME: &'static [u8; 19usize] = b"AllowFileUrlScheme\0"; pub const CERT_RETR_BEHAVIOR_LDAP_VALUE_NAME: &'static [u8; 26usize] = b"DisableLDAPSignAndEncrypt\0"; pub const CRYPTNET_CACHED_OCSP_SWITCH_TO_CRL_COUNT_VALUE_NAME: &'static [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: &'static [u8; 23usize] = b"DisableAIAUrlRetrieval\0"; pub const CERT_CHAIN_OPTIONS_VALUE_NAME: &'static [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: &'static [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: &'static [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: &'static [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: &'static [u8; 22usize] = b"1.2.840.113549.1.12.1\0"; pub const szOID_PKCS_12_pbeWithSHA1And128BitRC4: &'static [u8; 24usize] = b"1.2.840.113549.1.12.1.1\0"; pub const szOID_PKCS_12_pbeWithSHA1And40BitRC4: &'static [u8; 24usize] = b"1.2.840.113549.1.12.1.2\0"; pub const szOID_PKCS_12_pbeWithSHA1And3KeyTripleDES: &'static [u8; 24usize] = b"1.2.840.113549.1.12.1.3\0"; pub const szOID_PKCS_12_pbeWithSHA1And2KeyTripleDES: &'static [u8; 24usize] = b"1.2.840.113549.1.12.1.4\0"; pub const szOID_PKCS_12_pbeWithSHA1And128BitRC2: &'static [u8; 24usize] = b"1.2.840.113549.1.12.1.5\0"; pub const szOID_PKCS_12_pbeWithSHA1And40BitRC2: &'static [u8; 24usize] = b"1.2.840.113549.1.12.1.6\0"; pub const szOID_PKCS_5_PBKDF2: &'static [u8; 22usize] = b"1.2.840.113549.1.5.12\0"; pub const szOID_PKCS_5_PBES2: &'static [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: &'static [u8; 12usize] = b"PfxProvider\0"; pub const PKCS12_ONLY_CERTIFICATES_CONTAINER_NAME: &'static [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: &'static [u8; 19usize] = b"1.2.840.113549.2.7\0"; pub const PKCS12_PBKDF2_ID_HMAC_SHA256: &'static [u8; 19usize] = b"1.2.840.113549.2.9\0"; pub const PKCS12_PBKDF2_ID_HMAC_SHA384: &'static [u8; 20usize] = b"1.2.840.113549.2.10\0"; pub const PKCS12_PBKDF2_ID_HMAC_SHA512: &'static [u8; 20usize] = b"1.2.840.113549.2.11\0"; pub const PKCS12_PBES2_ALG_AES256_SHA256: &'static [u8; 14usize] = b"AES256-SHA256\0"; pub const PKCS12_CONFIG_REGPATH: &'static [u8; 46usize] = b"Software\\Microsoft\\Windows\\CurrentVersion\\PFX\0"; pub const PKCS12_ENCRYPT_CERTIFICATES_VALUE_NAME: &'static [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: &'static [u8; 30usize] = b"SslObjectLocatorInitializePfx\0"; pub const SSL_OBJECT_LOCATOR_ISSUER_LIST_FUNC: &'static [u8; 37usize] = b"SslObjectLocatorInitializeIssuerList\0"; pub const SSL_OBJECT_LOCATOR_CERT_VALIDATION_CONFIG_FUNC: &'static [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: &'static [u8; 19usize] = b"ForceKeyProtection\0"; pub const dwFORCE_KEY_PROTECTION_DISABLED: u32 = 0; pub const dwFORCE_KEY_PROTECTION_USER_SELECT: u32 = 1; pub const dwFORCE_KEY_PROTECTION_HIGH: u32 = 2; pub const CRYPTPROTECT_PROMPT_ON_UNPROTECT: u32 = 1; pub const CRYPTPROTECT_PROMPT_ON_PROTECT: u32 = 2; pub const CRYPTPROTECT_PROMPT_RESERVED: u32 = 4; pub const CRYPTPROTECT_PROMPT_STRONG: u32 = 8; pub const CRYPTPROTECT_PROMPT_REQUIRE_STRONG: u32 = 16; pub const CRYPTPROTECT_UI_FORBIDDEN: u32 = 1; pub const CRYPTPROTECT_LOCAL_MACHINE: u32 = 4; pub const CRYPTPROTECT_CRED_SYNC: u32 = 8; pub const CRYPTPROTECT_AUDIT: u32 = 16; pub const CRYPTPROTECT_NO_RECOVERY: u32 = 32; pub const CRYPTPROTECT_VERIFY_PROTECTION: u32 = 64; pub const CRYPTPROTECT_CRED_REGENERATE: u32 = 128; pub const CRYPTPROTECT_FIRST_RESERVED_FLAGVAL: u32 = 268435455; pub const CRYPTPROTECT_LAST_RESERVED_FLAGVAL: u32 = 4294967295; pub const CRYPTPROTECTMEMORY_BLOCK_SIZE: u32 = 16; pub const CRYPTPROTECTMEMORY_SAME_PROCESS: u32 = 0; pub const CRYPTPROTECTMEMORY_CROSS_PROCESS: u32 = 1; pub const CRYPTPROTECTMEMORY_SAME_LOGON: u32 = 2; pub const WINEFS_SETUSERKEY_SET_CAPABILITIES: u32 = 1; pub const EFS_COMPATIBILITY_VERSION_NCRYPT_PROTECTOR: u32 = 5; pub const EFS_COMPATIBILITY_VERSION_PFILE_PROTECTOR: u32 = 6; pub const EFS_SUBVER_UNKNOWN: u32 = 0; pub const EFS_EFS_SUBVER_EFS_CERT: u32 = 1; pub const EFS_PFILE_SUBVER_RMS: u32 = 2; pub const EFS_PFILE_SUBVER_APPX: u32 = 3; pub const MAX_SID_SIZE: u32 = 256; pub const EFS_METADATA_ADD_USER: u32 = 1; pub const EFS_METADATA_REMOVE_USER: u32 = 2; pub const EFS_METADATA_REPLACE_USER: u32 = 4; pub const EFS_METADATA_GENERAL_OP: u32 = 8; pub const __REQUIRED_RPCNDR_H_VERSION__: u32 = 500; pub const __REQUIRED_RPCSAL_H_VERSION__: u32 = 100; pub const __RPCNDR_H_VERSION__: u32 = 500; pub const __RPCSAL_H_VERSION__: u32 = 100; pub const TARGET_IS_NT100_OR_LATER: u32 = 1; pub const TARGET_IS_NT63_OR_LATER: u32 = 1; pub const TARGET_IS_NT62_OR_LATER: u32 = 1; pub const TARGET_IS_NT61_OR_LATER: u32 = 1; pub const TARGET_IS_NT60_OR_LATER: u32 = 1; pub const TARGET_IS_NT51_OR_LATER: u32 = 1; pub const TARGET_IS_NT50_OR_LATER: u32 = 1; pub const TARGET_IS_NT40_OR_LATER: u32 = 1; pub const TARGET_IS_NT351_OR_WIN95_OR_LATER: u32 = 1; pub const cbNDRContext: u32 = 20; pub const USER_CALL_IS_ASYNC: u32 = 256; pub const USER_CALL_NEW_CORRELATION_DESC: u32 = 512; pub const USER_MARSHAL_FC_BYTE: u32 = 1; pub const USER_MARSHAL_FC_CHAR: u32 = 2; pub const USER_MARSHAL_FC_SMALL: u32 = 3; pub const USER_MARSHAL_FC_USMALL: u32 = 4; pub const USER_MARSHAL_FC_WCHAR: u32 = 5; pub const USER_MARSHAL_FC_SHORT: u32 = 6; pub const USER_MARSHAL_FC_USHORT: u32 = 7; pub const USER_MARSHAL_FC_LONG: u32 = 8; pub const USER_MARSHAL_FC_ULONG: u32 = 9; pub const USER_MARSHAL_FC_FLOAT: u32 = 10; pub const USER_MARSHAL_FC_HYPER: u32 = 11; pub const USER_MARSHAL_FC_DOUBLE: u32 = 12; pub const ROTREGFLAGS_ALLOWANYCLIENT: u32 = 1; pub const APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP: u32 = 1; pub const APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND: u32 = 2; pub const APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY: u32 = 4; pub const APPIDREGFLAGS_IUSERVER_UNMODIFIED_LOGON_TOKEN: u32 = 8; pub const APPIDREGFLAGS_IUSERVER_SELF_SID_IN_LAUNCH_PERMISSION: u32 = 16; pub const APPIDREGFLAGS_IUSERVER_ACTIVATE_IN_CLIENT_SESSION_ONLY: u32 = 32; pub const APPIDREGFLAGS_RESERVED1: u32 = 64; pub const APPIDREGFLAGS_RESERVED2: u32 = 128; pub const APPIDREGFLAGS_RESERVED3: u32 = 256; pub const APPIDREGFLAGS_RESERVED4: u32 = 512; pub const APPIDREGFLAGS_RESERVED5: u32 = 1024; pub const APPIDREGFLAGS_AAA_NO_IMPLICIT_ACTIVATE_AS_IU: u32 = 2048; pub const APPIDREGFLAGS_RESERVED7: u32 = 4096; pub const APPIDREGFLAGS_RESERVED8: u32 = 8192; pub const APPIDREGFLAGS_RESERVED9: u32 = 16384; pub const DCOMSCM_ACTIVATION_USE_ALL_AUTHNSERVICES: u32 = 1; pub const DCOMSCM_ACTIVATION_DISALLOW_UNSECURE_CALL: u32 = 2; pub const DCOMSCM_RESOLVE_USE_ALL_AUTHNSERVICES: u32 = 4; pub const DCOMSCM_RESOLVE_DISALLOW_UNSECURE_CALL: u32 = 8; pub const DCOMSCM_PING_USE_MID_AUTHNSERVICE: u32 = 16; pub const DCOMSCM_PING_DISALLOW_UNSECURE_CALL: u32 = 32; pub const ROTFLAGS_REGISTRATIONKEEPSALIVE: u32 = 1; pub const ROTFLAGS_ALLOWANYCLIENT: u32 = 2; pub const ROT_COMPARE_MAX: u32 = 2048; pub const WDT_INPROC_CALL: u32 = 1215587415; pub const WDT_REMOTE_CALL: u32 = 1383359575; pub const WDT_INPROC64_CALL: u32 = 1349805143; pub const FILE_DEVICE_BEEP: u32 = 1; pub const FILE_DEVICE_CD_ROM: u32 = 2; pub const FILE_DEVICE_CD_ROM_FILE_SYSTEM: u32 = 3; pub const FILE_DEVICE_CONTROLLER: u32 = 4; pub const FILE_DEVICE_DATALINK: u32 = 5; pub const FILE_DEVICE_DFS: u32 = 6; pub const FILE_DEVICE_DISK: u32 = 7; pub const FILE_DEVICE_DISK_FILE_SYSTEM: u32 = 8; pub const FILE_DEVICE_FILE_SYSTEM: u32 = 9; pub const FILE_DEVICE_INPORT_PORT: u32 = 10; pub const FILE_DEVICE_KEYBOARD: u32 = 11; pub const FILE_DEVICE_MAILSLOT: u32 = 12; pub const FILE_DEVICE_MIDI_IN: u32 = 13; pub const FILE_DEVICE_MIDI_OUT: u32 = 14; pub const FILE_DEVICE_MOUSE: u32 = 15; pub const FILE_DEVICE_MULTI_UNC_PROVIDER: u32 = 16; pub const FILE_DEVICE_NAMED_PIPE: u32 = 17; pub const FILE_DEVICE_NETWORK: u32 = 18; pub const FILE_DEVICE_NETWORK_BROWSER: u32 = 19; pub const FILE_DEVICE_NETWORK_FILE_SYSTEM: u32 = 20; pub const FILE_DEVICE_NULL: u32 = 21; pub const FILE_DEVICE_PARALLEL_PORT: u32 = 22; pub const FILE_DEVICE_PHYSICAL_NETCARD: u32 = 23; pub const FILE_DEVICE_PRINTER: u32 = 24; pub const FILE_DEVICE_SCANNER: u32 = 25; pub const FILE_DEVICE_SERIAL_MOUSE_PORT: u32 = 26; pub const FILE_DEVICE_SERIAL_PORT: u32 = 27; pub const FILE_DEVICE_SCREEN: u32 = 28; pub const FILE_DEVICE_SOUND: u32 = 29; pub const FILE_DEVICE_STREAMS: u32 = 30; pub const FILE_DEVICE_TAPE: u32 = 31; pub const FILE_DEVICE_TAPE_FILE_SYSTEM: u32 = 32; pub const FILE_DEVICE_TRANSPORT: u32 = 33; pub const FILE_DEVICE_UNKNOWN: u32 = 34; pub const FILE_DEVICE_VIDEO: u32 = 35; pub const FILE_DEVICE_VIRTUAL_DISK: u32 = 36; pub const FILE_DEVICE_WAVE_IN: u32 = 37; pub const FILE_DEVICE_WAVE_OUT: u32 = 38; pub const FILE_DEVICE_8042_PORT: u32 = 39; pub const FILE_DEVICE_NETWORK_REDIRECTOR: u32 = 40; pub const FILE_DEVICE_BATTERY: u32 = 41; pub const FILE_DEVICE_BUS_EXTENDER: u32 = 42; pub const FILE_DEVICE_MODEM: u32 = 43; pub const FILE_DEVICE_VDM: u32 = 44; pub const FILE_DEVICE_MASS_STORAGE: u32 = 45; pub const FILE_DEVICE_SMB: u32 = 46; pub const FILE_DEVICE_KS: u32 = 47; pub const FILE_DEVICE_CHANGER: u32 = 48; pub const FILE_DEVICE_SMARTCARD: u32 = 49; pub const FILE_DEVICE_ACPI: u32 = 50; pub const FILE_DEVICE_DVD: u32 = 51; pub const FILE_DEVICE_FULLSCREEN_VIDEO: u32 = 52; pub const FILE_DEVICE_DFS_FILE_SYSTEM: u32 = 53; pub const FILE_DEVICE_DFS_VOLUME: u32 = 54; pub const FILE_DEVICE_SERENUM: u32 = 55; pub const FILE_DEVICE_TERMSRV: u32 = 56; pub const FILE_DEVICE_KSEC: u32 = 57; pub const FILE_DEVICE_FIPS: u32 = 58; pub const FILE_DEVICE_INFINIBAND: u32 = 59; pub const FILE_DEVICE_VMBUS: u32 = 62; pub const FILE_DEVICE_CRYPT_PROVIDER: u32 = 63; pub const FILE_DEVICE_WPD: u32 = 64; pub const FILE_DEVICE_BLUETOOTH: u32 = 65; pub const FILE_DEVICE_MT_COMPOSITE: u32 = 66; pub const FILE_DEVICE_MT_TRANSPORT: u32 = 67; pub const FILE_DEVICE_BIOMETRIC: u32 = 68; pub const FILE_DEVICE_PMI: u32 = 69; pub const FILE_DEVICE_EHSTOR: u32 = 70; pub const FILE_DEVICE_DEVAPI: u32 = 71; pub const FILE_DEVICE_GPIO: u32 = 72; pub const FILE_DEVICE_USBEX: u32 = 73; pub const FILE_DEVICE_CONSOLE: u32 = 80; pub const FILE_DEVICE_NFP: u32 = 81; pub const FILE_DEVICE_SYSENV: u32 = 82; pub const FILE_DEVICE_VIRTUAL_BLOCK: u32 = 83; pub const FILE_DEVICE_POINT_OF_SERVICE: u32 = 84; pub const FILE_DEVICE_STORAGE_REPLICATION: u32 = 85; pub const FILE_DEVICE_TRUST_ENV: u32 = 86; pub const FILE_DEVICE_UCM: u32 = 87; pub const FILE_DEVICE_UCMTCPCI: u32 = 88; pub const FILE_DEVICE_PERSISTENT_MEMORY: u32 = 89; pub const FILE_DEVICE_NVDIMM: u32 = 90; pub const FILE_DEVICE_HOLOGRAPHIC: u32 = 91; pub const FILE_DEVICE_SDFXHCI: u32 = 92; pub const FILE_DEVICE_UCMUCSI: u32 = 93; pub const METHOD_BUFFERED: u32 = 0; pub const METHOD_IN_DIRECT: u32 = 1; pub const METHOD_OUT_DIRECT: u32 = 2; pub const METHOD_NEITHER: u32 = 3; pub const METHOD_DIRECT_TO_HARDWARE: u32 = 1; pub const METHOD_DIRECT_FROM_HARDWARE: u32 = 2; pub const FILE_ANY_ACCESS: u32 = 0; pub const FILE_SPECIAL_ACCESS: u32 = 0; pub const FILE_READ_ACCESS: u32 = 1; pub const FILE_WRITE_ACCESS: u32 = 2; pub const IOCTL_STORAGE_BASE: u32 = 45; pub const STORAGE_DEVICE_FLAGS_RANDOM_DEVICEGUID_REASON_CONFLICT: u32 = 1; pub const STORAGE_DEVICE_FLAGS_RANDOM_DEVICEGUID_REASON_NOHWID: u32 = 2; pub const STORAGE_DEVICE_FLAGS_PAGE_83_DEVICEGUID: u32 = 4; pub const RECOVERED_WRITES_VALID: u32 = 1; pub const UNRECOVERED_WRITES_VALID: u32 = 2; pub const RECOVERED_READS_VALID: u32 = 4; pub const UNRECOVERED_READS_VALID: u32 = 8; pub const WRITE_COMPRESSION_INFO_VALID: u32 = 16; pub const READ_COMPRESSION_INFO_VALID: u32 = 32; pub const TAPE_RETURN_STATISTICS: u32 = 0; pub const TAPE_RETURN_ENV_INFO: u32 = 1; pub const TAPE_RESET_STATISTICS: u32 = 2; pub const MEDIA_ERASEABLE: u32 = 1; pub const MEDIA_WRITE_ONCE: u32 = 2; pub const MEDIA_READ_ONLY: u32 = 4; pub const MEDIA_READ_WRITE: u32 = 8; pub const MEDIA_WRITE_PROTECTED: u32 = 256; pub const MEDIA_CURRENTLY_MOUNTED: u32 = 2147483648; pub const STORAGE_FAILURE_PREDICTION_CONFIG_V1: u32 = 1; pub const SRB_TYPE_SCSI_REQUEST_BLOCK: u32 = 0; pub const SRB_TYPE_STORAGE_REQUEST_BLOCK: u32 = 1; pub const STORAGE_ADDRESS_TYPE_BTL8: u32 = 0; pub const STORAGE_RPMB_DESCRIPTOR_VERSION_1: u32 = 1; pub const STORAGE_RPMB_MINIMUM_RELIABLE_WRITE_SIZE: u32 = 512; pub const STORAGE_CRYPTO_CAPABILITY_VERSION_1: u32 = 1; pub const STORAGE_CRYPTO_DESCRIPTOR_VERSION_1: u32 = 1; pub const STORAGE_TIER_NAME_LENGTH: u32 = 256; pub const STORAGE_TIER_DESCRIPTION_LENGTH: u32 = 512; pub const STORAGE_TIER_FLAG_NO_SEEK_PENALTY: u32 = 131072; pub const STORAGE_TIER_FLAG_WRITE_BACK_CACHE: u32 = 2097152; pub const STORAGE_TIER_FLAG_READ_CACHE: u32 = 4194304; pub const STORAGE_TIER_FLAG_PARITY: u32 = 8388608; pub const STORAGE_TIER_FLAG_SMR: u32 = 16777216; pub const STORAGE_TEMPERATURE_VALUE_NOT_REPORTED: u32 = 32768; pub const STORAGE_TEMPERATURE_THRESHOLD_FLAG_ADAPTER_REQUEST: u32 = 1; pub const STORAGE_COMPONENT_ROLE_CACHE: u32 = 1; pub const STORAGE_COMPONENT_ROLE_TIERING: u32 = 2; pub const STORAGE_COMPONENT_ROLE_DATA: u32 = 4; pub const STORAGE_ATTRIBUTE_BYTE_ADDRESSABLE_IO: u32 = 1; pub const STORAGE_ATTRIBUTE_BLOCK_IO: u32 = 2; pub const STORAGE_ATTRIBUTE_DYNAMIC_PERSISTENCE: u32 = 4; pub const STORAGE_ATTRIBUTE_VOLATILE: u32 = 8; pub const STORAGE_ATTRIBUTE_ASYNC_EVENT_NOTIFICATION: u32 = 16; pub const STORAGE_ATTRIBUTE_PERF_SIZE_INDEPENDENT: u32 = 32; pub const STORAGE_DEVICE_MAX_OPERATIONAL_STATUS: u32 = 16; pub const STORAGE_ADAPTER_SERIAL_NUMBER_V1_MAX_LENGTH: u32 = 128; pub const STORAGE_DEVICE_NUMA_NODE_UNKNOWN: u32 = 4294967295; pub const DeviceDsmActionFlag_NonDestructive: u32 = 2147483648; pub const DeviceDsmAction_None: u32 = 0; pub const DeviceDsmAction_Trim: u32 = 1; pub const DeviceDsmAction_Notification: u32 = 2147483650; pub const DeviceDsmAction_OffloadRead: u32 = 2147483651; pub const DeviceDsmAction_OffloadWrite: u32 = 4; pub const DeviceDsmAction_Allocation: u32 = 2147483653; pub const DeviceDsmAction_Repair: u32 = 2147483654; pub const DeviceDsmAction_Scrub: u32 = 2147483655; pub const DeviceDsmAction_DrtQuery: u32 = 2147483656; pub const DeviceDsmAction_DrtClear: u32 = 2147483657; pub const DeviceDsmAction_DrtDisable: u32 = 2147483658; pub const DeviceDsmAction_TieringQuery: u32 = 2147483659; pub const DeviceDsmAction_Map: u32 = 2147483660; pub const DeviceDsmAction_RegenerateParity: u32 = 2147483661; pub const DeviceDsmAction_NvCache_Change_Priority: u32 = 2147483662; pub const DeviceDsmAction_NvCache_Evict: u32 = 2147483663; pub const DeviceDsmAction_TopologyIdQuery: u32 = 2147483664; pub const DeviceDsmAction_GetPhysicalAddresses: u32 = 2147483665; pub const DeviceDsmAction_ScopeRegen: u32 = 2147483666; pub const DeviceDsmAction_ReportZones: u32 = 2147483667; pub const DeviceDsmAction_OpenZone: u32 = 2147483668; pub const DeviceDsmAction_FinishZone: u32 = 2147483669; pub const DeviceDsmAction_CloseZone: u32 = 2147483670; pub const DeviceDsmAction_ResetWritePointer: u32 = 23; pub const DeviceDsmAction_GetRangeErrorInfo: u32 = 2147483672; pub const DeviceDsmAction_WriteZeroes: u32 = 25; pub const DeviceDsmAction_LostQuery: u32 = 2147483674; pub const DeviceDsmAction_GetFreeSpace: u32 = 2147483675; pub const DeviceDsmAction_ConversionQuery: u32 = 2147483676; pub const 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 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: &'static [u8; 81usize] = b"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\CrashControl\\StorageTelemetry\0"; pub const STORAGE_DEVICE_TELEMETRY_REGKEY: &'static [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: &'static [u8; 14usize] = b"ATAGPLogPages\0"; pub const TC_PUBLIC_DATA_TYPE_ATASMART: &'static [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 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_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_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER: i64 = -9223372036854775808; pub const GPT_BASIC_DATA_ATTRIBUTE_HIDDEN: u64 = 4611686018427387904; pub const GPT_BASIC_DATA_ATTRIBUTE_SHADOW_COPY: u64 = 2305843009213693952; pub const GPT_BASIC_DATA_ATTRIBUTE_READ_ONLY: u64 = 1152921504606846976; pub const GPT_BASIC_DATA_ATTRIBUTE_OFFLINE: u64 = 576460752303423488; pub const GPT_BASIC_DATA_ATTRIBUTE_DAX: u64 = 288230376151711744; pub const GPT_BASIC_DATA_ATTRIBUTE_SERVICE: u64 = 144115188075855872; pub const GPT_SPACES_ATTRIBUTE_NO_METADATA: i64 = -9223372036854775808; pub const HIST_NO_OF_BUCKETS: u32 = 24; pub const DISK_LOGGING_START: u32 = 0; pub const DISK_LOGGING_STOP: u32 = 1; pub const DISK_LOGGING_DUMP: u32 = 2; pub const DISK_BINNING: u32 = 3; pub const CAP_ATA_ID_CMD: u32 = 1; pub const CAP_ATAPI_ID_CMD: u32 = 2; pub const CAP_SMART_CMD: u32 = 4; pub const ATAPI_ID_CMD: u32 = 161; pub const ID_CMD: u32 = 236; pub const SMART_CMD: u32 = 176; pub const SMART_CYL_LOW: u32 = 79; pub const SMART_CYL_HI: u32 = 194; pub const SMART_NO_ERROR: u32 = 0; pub const SMART_IDE_ERROR: u32 = 1; pub const SMART_INVALID_FLAG: u32 = 2; pub const SMART_INVALID_COMMAND: u32 = 3; pub const SMART_INVALID_BUFFER: u32 = 4; pub const SMART_INVALID_DRIVE: u32 = 5; pub const SMART_INVALID_IOCTL: u32 = 6; pub const SMART_ERROR_NO_MEM: u32 = 7; pub const SMART_INVALID_REGISTER: u32 = 8; pub const SMART_NOT_SUPPORTED: u32 = 9; pub const SMART_NO_IDE_DEVICE: u32 = 10; pub const SMART_OFFLINE_ROUTINE_OFFLINE: u32 = 0; pub const SMART_SHORT_SELFTEST_OFFLINE: u32 = 1; pub const SMART_EXTENDED_SELFTEST_OFFLINE: u32 = 2; pub const SMART_ABORT_OFFLINE_SELFTEST: u32 = 127; pub const SMART_SHORT_SELFTEST_CAPTIVE: u32 = 129; pub const SMART_EXTENDED_SELFTEST_CAPTIVE: u32 = 130; pub const READ_ATTRIBUTE_BUFFER_SIZE: u32 = 512; pub const IDENTIFY_BUFFER_SIZE: u32 = 512; pub const READ_THRESHOLD_BUFFER_SIZE: u32 = 512; pub const SMART_LOG_SECTOR_SIZE: u32 = 512; pub const READ_ATTRIBUTES: u32 = 208; pub const READ_THRESHOLDS: u32 = 209; pub const ENABLE_DISABLE_AUTOSAVE: u32 = 210; pub const SAVE_ATTRIBUTE_VALUES: u32 = 211; pub const EXECUTE_OFFLINE_DIAGS: u32 = 212; pub const SMART_READ_LOG: u32 = 213; pub const SMART_WRITE_LOG: u32 = 214; pub const ENABLE_SMART: u32 = 216; pub const DISABLE_SMART: u32 = 217; pub const RETURN_SMART_STATUS: u32 = 218; pub const ENABLE_DISABLE_AUTO_OFFLINE: u32 = 219; pub const DISK_ATTRIBUTE_OFFLINE: u32 = 1; pub const DISK_ATTRIBUTE_READ_ONLY: u32 = 2; pub const IOCTL_CHANGER_BASE: u32 = 48; pub const MAX_VOLUME_ID_SIZE: u32 = 36; pub const MAX_VOLUME_TEMPLATE_SIZE: u32 = 40; pub const VENDOR_ID_LENGTH: u32 = 8; pub const PRODUCT_ID_LENGTH: u32 = 16; pub const REVISION_LENGTH: u32 = 4; pub const SERIAL_NUMBER_LENGTH: u32 = 32; pub const CHANGER_BAR_CODE_SCANNER_INSTALLED: u32 = 1; pub const CHANGER_INIT_ELEM_STAT_WITH_RANGE: u32 = 2; pub const CHANGER_CLOSE_IEPORT: u32 = 4; pub const CHANGER_OPEN_IEPORT: u32 = 8; pub const CHANGER_STATUS_NON_VOLATILE: u32 = 16; pub const CHANGER_EXCHANGE_MEDIA: u32 = 32; pub const CHANGER_CLEANER_SLOT: u32 = 64; pub const CHANGER_LOCK_UNLOCK: u32 = 128; pub const CHANGER_CARTRIDGE_MAGAZINE: u32 = 256; pub const CHANGER_MEDIUM_FLIP: u32 = 512; pub const CHANGER_POSITION_TO_ELEMENT: u32 = 1024; pub const CHANGER_REPORT_IEPORT_STATE: u32 = 2048; pub const CHANGER_STORAGE_DRIVE: u32 = 4096; pub const CHANGER_STORAGE_IEPORT: u32 = 8192; pub const CHANGER_STORAGE_SLOT: u32 = 16384; pub const CHANGER_STORAGE_TRANSPORT: u32 = 32768; pub const CHANGER_DRIVE_CLEANING_REQUIRED: u32 = 65536; pub const CHANGER_PREDISMOUNT_EJECT_REQUIRED: u32 = 131072; pub const CHANGER_CLEANER_ACCESS_NOT_VALID: u32 = 262144; pub const CHANGER_PREMOUNT_EJECT_REQUIRED: u32 = 524288; pub const CHANGER_VOLUME_IDENTIFICATION: u32 = 1048576; pub const CHANGER_VOLUME_SEARCH: u32 = 2097152; pub const CHANGER_VOLUME_ASSERT: u32 = 4194304; pub const CHANGER_VOLUME_REPLACE: u32 = 8388608; pub const CHANGER_VOLUME_UNDEFINE: u32 = 16777216; pub const CHANGER_SERIAL_NUMBER_VALID: u32 = 67108864; pub const CHANGER_DEVICE_REINITIALIZE_CAPABLE: u32 = 134217728; pub const CHANGER_KEYPAD_ENABLE_DISABLE: u32 = 268435456; pub const CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS: u32 = 536870912; pub const CHANGER_RESERVED_BIT: u32 = 2147483648; pub const CHANGER_PREDISMOUNT_ALIGN_TO_SLOT: u32 = 2147483649; pub const CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE: u32 = 2147483650; pub const CHANGER_CLEANER_AUTODISMOUNT: u32 = 2147483652; pub const CHANGER_TRUE_EXCHANGE_CAPABLE: u32 = 2147483656; pub const CHANGER_SLOTS_USE_TRAYS: u32 = 2147483664; pub const CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR: u32 = 2147483680; pub const CHANGER_CLEANER_OPS_NOT_SUPPORTED: u32 = 2147483712; pub const CHANGER_IEPORT_USER_CONTROL_OPEN: u32 = 2147483776; pub const CHANGER_IEPORT_USER_CONTROL_CLOSE: u32 = 2147483904; pub const CHANGER_MOVE_EXTENDS_IEPORT: u32 = 2147484160; pub const CHANGER_MOVE_RETRACTS_IEPORT: u32 = 2147484672; pub const CHANGER_TO_TRANSPORT: u32 = 1; pub const CHANGER_TO_SLOT: u32 = 2; pub const CHANGER_TO_IEPORT: u32 = 4; pub const CHANGER_TO_DRIVE: u32 = 8; pub const LOCK_UNLOCK_IEPORT: u32 = 1; pub const LOCK_UNLOCK_DOOR: u32 = 2; pub const LOCK_UNLOCK_KEYPAD: u32 = 4; pub const LOCK_ELEMENT: u32 = 0; pub const UNLOCK_ELEMENT: u32 = 1; pub const EXTEND_IEPORT: u32 = 2; pub const RETRACT_IEPORT: u32 = 3; pub const ELEMENT_STATUS_FULL: u32 = 1; pub const ELEMENT_STATUS_IMPEXP: u32 = 2; pub const ELEMENT_STATUS_EXCEPT: u32 = 4; pub const ELEMENT_STATUS_ACCESS: u32 = 8; pub const ELEMENT_STATUS_EXENAB: u32 = 16; pub const ELEMENT_STATUS_INENAB: u32 = 32; pub const ELEMENT_STATUS_PRODUCT_DATA: u32 = 64; pub const ELEMENT_STATUS_LUN_VALID: u32 = 4096; pub const ELEMENT_STATUS_ID_VALID: u32 = 8192; pub const ELEMENT_STATUS_NOT_BUS: u32 = 32768; pub const ELEMENT_STATUS_INVERT: u32 = 4194304; pub const ELEMENT_STATUS_SVALID: u32 = 8388608; pub const ELEMENT_STATUS_PVOLTAG: u32 = 268435456; pub const ELEMENT_STATUS_AVOLTAG: u32 = 536870912; pub const ERROR_LABEL_UNREADABLE: u32 = 1; pub const ERROR_LABEL_QUESTIONABLE: u32 = 2; pub const ERROR_SLOT_NOT_PRESENT: u32 = 4; pub const ERROR_DRIVE_NOT_INSTALLED: u32 = 8; pub const ERROR_TRAY_MALFUNCTION: u32 = 16; pub const ERROR_INIT_STATUS_NEEDED: u32 = 17; pub const ERROR_UNHANDLED_ERROR: u32 = 4294967295; pub const SEARCH_ALL: u32 = 0; pub const SEARCH_PRIMARY: u32 = 1; pub const SEARCH_ALTERNATE: u32 = 2; pub const SEARCH_ALL_NO_SEQ: u32 = 4; pub const SEARCH_PRI_NO_SEQ: u32 = 5; pub const SEARCH_ALT_NO_SEQ: u32 = 6; pub const ASSERT_PRIMARY: u32 = 8; pub const ASSERT_ALTERNATE: u32 = 9; pub const REPLACE_PRIMARY: u32 = 10; pub const REPLACE_ALTERNATE: u32 = 11; pub const UNDEFINE_PRIMARY: u32 = 12; pub const UNDEFINE_ALTERNATE: u32 = 13; pub const GET_VOLUME_BITMAP_FLAG_MASK_METADATA: u32 = 1; pub const FLAG_USN_TRACK_MODIFIED_RANGES_ENABLE: u32 = 1; pub const USN_PAGE_SIZE: u32 = 4096; pub const USN_REASON_DATA_OVERWRITE: u32 = 1; pub const USN_REASON_DATA_EXTEND: u32 = 2; pub const USN_REASON_DATA_TRUNCATION: u32 = 4; pub const USN_REASON_NAMED_DATA_OVERWRITE: u32 = 16; pub const USN_REASON_NAMED_DATA_EXTEND: u32 = 32; pub const USN_REASON_NAMED_DATA_TRUNCATION: u32 = 64; pub const USN_REASON_FILE_CREATE: u32 = 256; pub const USN_REASON_FILE_DELETE: u32 = 512; pub const USN_REASON_EA_CHANGE: u32 = 1024; pub const USN_REASON_SECURITY_CHANGE: u32 = 2048; pub const USN_REASON_RENAME_OLD_NAME: u32 = 4096; pub const USN_REASON_RENAME_NEW_NAME: u32 = 8192; pub const USN_REASON_INDEXABLE_CHANGE: u32 = 16384; pub const USN_REASON_BASIC_INFO_CHANGE: u32 = 32768; pub const USN_REASON_HARD_LINK_CHANGE: u32 = 65536; pub const USN_REASON_COMPRESSION_CHANGE: u32 = 131072; pub const USN_REASON_ENCRYPTION_CHANGE: u32 = 262144; pub const USN_REASON_OBJECT_ID_CHANGE: u32 = 524288; pub const USN_REASON_REPARSE_POINT_CHANGE: u32 = 1048576; pub const USN_REASON_STREAM_CHANGE: u32 = 2097152; pub const USN_REASON_TRANSACTED_CHANGE: u32 = 4194304; pub const USN_REASON_INTEGRITY_CHANGE: u32 = 8388608; pub const USN_REASON_DESIRED_STORAGE_CLASS_CHANGE: u32 = 16777216; pub const USN_REASON_CLOSE: u32 = 2147483648; pub const USN_DELETE_FLAG_DELETE: u32 = 1; pub const USN_DELETE_FLAG_NOTIFY: u32 = 2; pub const USN_DELETE_VALID_FLAGS: u32 = 3; pub const USN_SOURCE_DATA_MANAGEMENT: u32 = 1; pub const USN_SOURCE_AUXILIARY_DATA: u32 = 2; pub const USN_SOURCE_REPLICATION_MANAGEMENT: u32 = 4; pub const USN_SOURCE_CLIENT_REPLICATION_MANAGEMENT: u32 = 8; pub const USN_SOURCE_VALID_FLAGS: u32 = 15; pub const MARK_HANDLE_PROTECT_CLUSTERS: u32 = 1; pub const MARK_HANDLE_TXF_SYSTEM_LOG: u32 = 4; pub const MARK_HANDLE_NOT_TXF_SYSTEM_LOG: u32 = 8; pub const MARK_HANDLE_REALTIME: u32 = 32; pub const MARK_HANDLE_NOT_REALTIME: u32 = 64; pub const MARK_HANDLE_FILTER_METADATA: u32 = 512; pub const MARK_HANDLE_CLOUD_SYNC: u32 = 2048; pub const MARK_HANDLE_READ_COPY: u32 = 128; pub const MARK_HANDLE_NOT_READ_COPY: u32 = 256; pub const MARK_HANDLE_RETURN_PURGE_FAILURE: u32 = 1024; pub const MARK_HANDLE_DISABLE_FILE_METADATA_OPTIMIZATION: u32 = 4096; pub const MARK_HANDLE_ENABLE_USN_SOURCE_ON_PAGING_IO: u32 = 8192; pub const MARK_HANDLE_SKIP_COHERENCY_SYNC_DISALLOW_WRITES: u32 = 16384; pub const MARK_HANDLE_ENABLE_CPU_CACHE: u32 = 268435456; pub const VOLUME_IS_DIRTY: u32 = 1; pub const VOLUME_UPGRADE_SCHEDULED: u32 = 2; pub const VOLUME_SESSION_OPEN: u32 = 4; pub const FILE_PREFETCH_TYPE_FOR_CREATE: u32 = 1; pub const FILE_PREFETCH_TYPE_FOR_DIRENUM: u32 = 2; pub const FILE_PREFETCH_TYPE_FOR_CREATE_EX: u32 = 3; pub const FILE_PREFETCH_TYPE_FOR_DIRENUM_EX: u32 = 4; pub const FILE_PREFETCH_TYPE_MAX: u32 = 4; pub const FILESYSTEM_STATISTICS_TYPE_NTFS: u32 = 1; pub const FILESYSTEM_STATISTICS_TYPE_FAT: u32 = 2; pub const FILESYSTEM_STATISTICS_TYPE_EXFAT: u32 = 3; pub const FILESYSTEM_STATISTICS_TYPE_REFS: u32 = 4; pub const FILE_ZERO_DATA_INFORMATION_FLAG_PRESERVE_CACHED_DATA: u32 = 1; pub const FILE_SET_ENCRYPTION: u32 = 1; pub const FILE_CLEAR_ENCRYPTION: u32 = 2; pub const STREAM_SET_ENCRYPTION: u32 = 3; pub const STREAM_CLEAR_ENCRYPTION: u32 = 4; pub const MAXIMUM_ENCRYPTION_VALUE: u32 = 4; pub const ENCRYPTION_FORMAT_DEFAULT: u32 = 1; pub const ENCRYPTED_DATA_INFO_SPARSE_FILE: u32 = 1; pub const COPYFILE_SIS_LINK: u32 = 1; pub const COPYFILE_SIS_REPLACE: u32 = 2; pub const COPYFILE_SIS_FLAGS: u32 = 3; pub const SET_REPAIR_ENABLED: u32 = 1; pub const SET_REPAIR_WARN_ABOUT_DATA_LOSS: u32 = 8; pub const SET_REPAIR_DISABLED_AND_BUGCHECK_ON_CORRUPT: u32 = 16; pub const SET_REPAIR_VALID_MASK: u32 = 25; pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_NOT_IN_USE: u32 = 1; pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_REUSED: u32 = 2; pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_NOT_EXIST: u32 = 4; pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_NOT_BASE_RECORD: u32 = 8; pub const FILE_INITIATE_REPAIR_HINT1_SYSTEM_FILE: u32 = 16; pub const FILE_INITIATE_REPAIR_HINT1_NOT_IMPLEMENTED: u32 = 32; pub const FILE_INITIATE_REPAIR_HINT1_UNABLE_TO_REPAIR: u32 = 64; pub const FILE_INITIATE_REPAIR_HINT1_REPAIR_DISABLED: u32 = 128; pub const FILE_INITIATE_REPAIR_HINT1_RECURSIVELY_CORRUPTED: u32 = 256; pub const FILE_INITIATE_REPAIR_HINT1_ORPHAN_GENERATED: u32 = 512; pub const FILE_INITIATE_REPAIR_HINT1_REPAIRED: u32 = 1024; pub const FILE_INITIATE_REPAIR_HINT1_NOTHING_WRONG: u32 = 2048; pub const FILE_INITIATE_REPAIR_HINT1_ATTRIBUTE_NOT_FOUND: u32 = 4096; pub const FILE_INITIATE_REPAIR_HINT1_POTENTIAL_CROSSLINK: u32 = 8192; pub const FILE_INITIATE_REPAIR_HINT1_STALE_INFORMATION: u32 = 16384; pub const FILE_INITIATE_REPAIR_HINT1_CLUSTERS_ALREADY_IN_USE: u32 = 32768; pub const FILE_INITIATE_REPAIR_HINT1_LCN_NOT_EXIST: u32 = 65536; pub const FILE_INITIATE_REPAIR_HINT1_INVALID_RUN_LENGTH: u32 = 131072; pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_NOT_ORPHAN: u32 = 262144; pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_IS_BASE_RECORD: u32 = 524288; pub const FILE_INITIATE_REPAIR_HINT1_INVALID_ARRAY_LENGTH_COUNT: u32 = 1048576; pub const FILE_INITIATE_REPAIR_HINT1_SID_VALID: u32 = 2097152; pub const FILE_INITIATE_REPAIR_HINT1_SID_MISMATCH: u32 = 4194304; pub const FILE_INITIATE_REPAIR_HINT1_INVALID_PARENT: u32 = 8388608; pub const FILE_INITIATE_REPAIR_HINT1_PARENT_FILE_RECORD_NOT_IN_USE: u32 = 16777216; pub const FILE_INITIATE_REPAIR_HINT1_PARENT_FILE_RECORD_REUSED: u32 = 33554432; pub const FILE_INITIATE_REPAIR_HINT1_PARENT_FILE_RECORD_NOT_EXIST: u32 = 67108864; pub const FILE_INITIATE_REPAIR_HINT1_PARENT_FILE_RECORD_NOT_BASE_RECORD: u32 = 134217728; pub const FILE_INITIATE_REPAIR_HINT1_PARENT_FILE_RECORD_NOT_INDEX: u32 = 268435456; pub const FILE_INITIATE_REPAIR_HINT1_VALID_INDEX_ENTRY: u32 = 536870912; pub const FILE_INITIATE_REPAIR_HINT1_OUT_OF_GENERIC_NAMES: u32 = 1073741824; pub const FILE_INITIATE_REPAIR_HINT1_OUT_OF_RESOURCE: u32 = 2147483648; pub const FILE_INITIATE_REPAIR_HINT1_INVALID_LCN: u64 = 4294967296; pub const FILE_INITIATE_REPAIR_HINT1_INVALID_VCN: u64 = 8589934592; pub const FILE_INITIATE_REPAIR_HINT1_NAME_CONFLICT: u64 = 17179869184; pub const FILE_INITIATE_REPAIR_HINT1_ORPHAN: u64 = 34359738368; pub const FILE_INITIATE_REPAIR_HINT1_ATTRIBUTE_TOO_SMALL: u64 = 68719476736; pub const FILE_INITIATE_REPAIR_HINT1_ATTRIBUTE_NON_RESIDENT: u64 = 137438953472; pub const FILE_INITIATE_REPAIR_HINT1_DENY_DEFRAG: u64 = 274877906944; pub const FILE_INITIATE_REPAIR_HINT1_PREVIOUS_PARENT_STILL_VALID: u64 = 549755813888; pub const FILE_INITIATE_REPAIR_HINT1_INDEX_ENTRY_MISMATCH: u64 = 1099511627776; pub const FILE_INITIATE_REPAIR_HINT1_INVALID_ORPHAN_RECOVERY_NAME: u64 = 2199023255552; pub const FILE_INITIATE_REPAIR_HINT1_MULTIPLE_FILE_NAME_ATTRIBUTES: u64 = 4398046511104; pub const TXFS_RM_FLAG_LOGGING_MODE: u32 = 1; pub const TXFS_RM_FLAG_RENAME_RM: u32 = 2; pub const TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MAX: u32 = 4; pub const TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MIN: u32 = 8; pub const TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS: u32 = 16; pub const TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT: u32 = 32; pub const TXFS_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE: u32 = 64; pub const TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX: u32 = 128; pub const TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN: u32 = 256; pub const TXFS_RM_FLAG_GROW_LOG: u32 = 1024; pub const TXFS_RM_FLAG_SHRINK_LOG: u32 = 2048; pub const TXFS_RM_FLAG_ENFORCE_MINIMUM_SIZE: u32 = 4096; pub const TXFS_RM_FLAG_PRESERVE_CHANGES: u32 = 8192; pub const TXFS_RM_FLAG_RESET_RM_AT_NEXT_START: u32 = 16384; pub const TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START: u32 = 32768; pub const TXFS_RM_FLAG_PREFER_CONSISTENCY: u32 = 65536; pub const TXFS_RM_FLAG_PREFER_AVAILABILITY: u32 = 131072; pub const TXFS_LOGGING_MODE_SIMPLE: u32 = 1; pub const TXFS_LOGGING_MODE_FULL: u32 = 2; pub const TXFS_TRANSACTION_STATE_NONE: u32 = 0; pub const TXFS_TRANSACTION_STATE_ACTIVE: u32 = 1; pub const TXFS_TRANSACTION_STATE_PREPARED: u32 = 2; pub const TXFS_TRANSACTION_STATE_NOTACTIVE: u32 = 3; pub const TXFS_MODIFY_RM_VALID_FLAGS: u32 = 261631; pub const TXFS_RM_STATE_NOT_STARTED: u32 = 0; pub const TXFS_RM_STATE_STARTING: u32 = 1; pub const TXFS_RM_STATE_ACTIVE: u32 = 2; pub const TXFS_RM_STATE_SHUTTING_DOWN: u32 = 3; pub const TXFS_QUERY_RM_INFORMATION_VALID_FLAGS: u32 = 246192; pub const TXFS_ROLLFORWARD_REDO_FLAG_USE_LAST_REDO_LSN: u32 = 1; pub const TXFS_ROLLFORWARD_REDO_FLAG_USE_LAST_VIRTUAL_CLOCK: u32 = 2; pub const TXFS_ROLLFORWARD_REDO_VALID_FLAGS: u32 = 3; pub const TXFS_START_RM_FLAG_LOG_CONTAINER_COUNT_MAX: u32 = 1; pub const TXFS_START_RM_FLAG_LOG_CONTAINER_COUNT_MIN: u32 = 2; pub const TXFS_START_RM_FLAG_LOG_CONTAINER_SIZE: u32 = 4; pub const TXFS_START_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS: u32 = 8; pub const TXFS_START_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT: u32 = 16; pub const TXFS_START_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE: u32 = 32; pub const TXFS_START_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX: u32 = 64; pub const TXFS_START_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN: u32 = 128; pub const TXFS_START_RM_FLAG_RECOVER_BEST_EFFORT: u32 = 512; pub const TXFS_START_RM_FLAG_LOGGING_MODE: u32 = 1024; pub const TXFS_START_RM_FLAG_PRESERVE_CHANGES: u32 = 2048; pub const TXFS_START_RM_FLAG_PREFER_CONSISTENCY: u32 = 4096; pub const TXFS_START_RM_FLAG_PREFER_AVAILABILITY: u32 = 8192; pub const TXFS_START_RM_VALID_FLAGS: u32 = 15999; pub const TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY_FLAG_CREATED: u32 = 1; pub const TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY_FLAG_DELETED: u32 = 2; pub const TXFS_TRANSACTED_VERSION_NONTRANSACTED: u32 = 4294967294; pub const TXFS_TRANSACTED_VERSION_UNCOMMITTED: u32 = 4294967295; pub const TXFS_SAVEPOINT_SET: u32 = 1; pub const TXFS_SAVEPOINT_ROLLBACK: u32 = 2; pub const TXFS_SAVEPOINT_CLEAR: u32 = 4; pub const TXFS_SAVEPOINT_CLEAR_ALL: u32 = 16; pub const PERSISTENT_VOLUME_STATE_SHORT_NAME_CREATION_DISABLED: u32 = 1; pub const PERSISTENT_VOLUME_STATE_VOLUME_SCRUB_DISABLED: u32 = 2; pub const PERSISTENT_VOLUME_STATE_GLOBAL_METADATA_NO_SEEK_PENALTY: u32 = 4; pub const PERSISTENT_VOLUME_STATE_LOCAL_METADATA_NO_SEEK_PENALTY: u32 = 8; pub const PERSISTENT_VOLUME_STATE_NO_HEAT_GATHERING: u32 = 16; pub const PERSISTENT_VOLUME_STATE_CONTAINS_BACKING_WIM: u32 = 32; pub const PERSISTENT_VOLUME_STATE_BACKED_BY_WIM: u32 = 64; pub const PERSISTENT_VOLUME_STATE_NO_WRITE_AUTO_TIERING: u32 = 128; pub const PERSISTENT_VOLUME_STATE_TXF_DISABLED: u32 = 256; pub const 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_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 DUPLICATE_EXTENTS_DATA_EX_SOURCE_ATOMIC: u32 = 1; pub const REFS_SMR_VOLUME_INFO_OUTPUT_VERSION_V1: u32 = 1; pub const REFS_SMR_VOLUME_GC_PARAMETERS_VERSION_V1: u32 = 1; pub const STREAMS_INVALID_ID: u32 = 0; pub const STREAMS_MAX_ID: u32 = 65535; pub const STREAMS_ASSOCIATE_ID_CLEAR: u32 = 1; pub const STREAMS_ASSOCIATE_ID_SET: u32 = 2; pub const DAX_ALLOC_ALIGNMENT_FLAG_MANDATORY: u32 = 1; pub const DAX_ALLOC_ALIGNMENT_FLAG_FALLBACK_SPECIFIED: u32 = 2; pub const WOF_CURRENT_VERSION: u32 = 1; pub const WOF_PROVIDER_WIM: u32 = 1; pub const WOF_PROVIDER_FILE: u32 = 2; pub const WOF_PROVIDER_CLOUD: u32 = 3; pub const WIM_PROVIDER_HASH_SIZE: u32 = 20; pub const WIM_PROVIDER_CURRENT_VERSION: u32 = 1; pub const WIM_PROVIDER_EXTERNAL_FLAG_NOT_ACTIVE: u32 = 1; pub const WIM_PROVIDER_EXTERNAL_FLAG_SUSPENDED: u32 = 2; pub const WIM_BOOT_OS_WIM: u32 = 1; pub const WIM_BOOT_NOT_OS_WIM: u32 = 0; pub const FILE_PROVIDER_CURRENT_VERSION: u32 = 1; pub const FILE_PROVIDER_SINGLE_FILE: u32 = 1; pub const FILE_PROVIDER_COMPRESSION_XPRESS4K: u32 = 0; pub const FILE_PROVIDER_COMPRESSION_LZX: u32 = 1; pub const FILE_PROVIDER_COMPRESSION_XPRESS8K: u32 = 2; pub const FILE_PROVIDER_COMPRESSION_XPRESS16K: u32 = 3; pub const FILE_PROVIDER_COMPRESSION_MAXIMUM: u32 = 4; pub const FILE_PROVIDER_FLAG_COMPRESS_ON_WRITE: u32 = 1; pub const CONTAINER_VOLUME_STATE_HOSTING_CONTAINER: u32 = 1; pub const CONTAINER_ROOT_INFO_FLAG_SCRATCH_ROOT: u32 = 1; pub const CONTAINER_ROOT_INFO_FLAG_LAYER_ROOT: u32 = 2; pub const CONTAINER_ROOT_INFO_FLAG_VIRTUALIZATION_ROOT: u32 = 4; pub const CONTAINER_ROOT_INFO_FLAG_VIRTUALIZATION_TARGET_ROOT: u32 = 8; pub const CONTAINER_ROOT_INFO_FLAG_VIRTUALIZATION_EXCEPTION_ROOT: u32 = 16; pub const CONTAINER_ROOT_INFO_FLAG_BIND_ROOT: u32 = 32; pub const CONTAINER_ROOT_INFO_FLAG_BIND_TARGET_ROOT: u32 = 64; pub const CONTAINER_ROOT_INFO_FLAG_BIND_EXCEPTION_ROOT: u32 = 128; pub const CONTAINER_ROOT_INFO_FLAG_BIND_DO_NOT_MAP_NAME: u32 = 256; pub const CONTAINER_ROOT_INFO_VALID_FLAGS: u32 = 511; pub const PROJFS_PROTOCOL_VERSION: u32 = 3; pub const IOCTL_VOLUME_BASE: u32 = 86; pub const EFS_TRACKED_OFFSET_HEADER_FLAG: u32 = 1; pub const SPACES_TRACKED_OFFSET_HEADER_FLAG: u32 = 2; pub const SCARD_ATR_LENGTH: u32 = 33; pub const SCARD_PROTOCOL_UNDEFINED: u32 = 0; pub const SCARD_PROTOCOL_T0: u32 = 1; pub const SCARD_PROTOCOL_T1: u32 = 2; pub const SCARD_PROTOCOL_RAW: u32 = 65536; pub const SCARD_PROTOCOL_Tx: u32 = 3; pub const SCARD_PROTOCOL_DEFAULT: u32 = 2147483648; pub const SCARD_PROTOCOL_OPTIMAL: u32 = 0; pub const SCARD_POWER_DOWN: u32 = 0; pub const SCARD_COLD_RESET: u32 = 1; pub const SCARD_WARM_RESET: u32 = 2; pub const MAXIMUM_ATTR_STRING_LENGTH: u32 = 32; pub const MAXIMUM_SMARTCARD_READERS: u32 = 10; pub const SCARD_CLASS_VENDOR_INFO: u32 = 1; pub const SCARD_CLASS_COMMUNICATIONS: u32 = 2; pub const SCARD_CLASS_PROTOCOL: u32 = 3; pub const SCARD_CLASS_POWER_MGMT: u32 = 4; pub const SCARD_CLASS_SECURITY: u32 = 5; pub const SCARD_CLASS_MECHANICAL: u32 = 6; pub const SCARD_CLASS_VENDOR_DEFINED: u32 = 7; pub const SCARD_CLASS_IFD_PROTOCOL: u32 = 8; pub const SCARD_CLASS_ICC_STATE: u32 = 9; pub const SCARD_CLASS_PERF: u32 = 32766; pub const SCARD_CLASS_SYSTEM: u32 = 32767; pub const SCARD_T0_HEADER_LENGTH: u32 = 7; pub const SCARD_T0_CMD_LENGTH: u32 = 5; pub const SCARD_T1_PROLOGUE_LENGTH: u32 = 3; pub const SCARD_T1_EPILOGUE_LENGTH: u32 = 2; pub const SCARD_T1_EPILOGUE_LENGTH_LRC: u32 = 1; pub const SCARD_T1_MAX_IFS: u32 = 254; pub const SCARD_UNKNOWN: u32 = 0; pub const SCARD_ABSENT: u32 = 1; pub const SCARD_PRESENT: u32 = 2; pub const SCARD_SWALLOWED: u32 = 3; pub const SCARD_POWERED: u32 = 4; pub const SCARD_NEGOTIABLE: u32 = 5; pub const SCARD_SPECIFIC: u32 = 6; pub const SCARD_READER_SWALLOWS: u32 = 1; pub const SCARD_READER_EJECTS: u32 = 2; pub const SCARD_READER_CONFISCATES: u32 = 4; pub const SCARD_READER_CONTACTLESS: u32 = 8; pub const SCARD_READER_TYPE_SERIAL: u32 = 1; pub const SCARD_READER_TYPE_PARALELL: u32 = 2; pub const SCARD_READER_TYPE_KEYBOARD: u32 = 4; pub const SCARD_READER_TYPE_SCSI: u32 = 8; pub const SCARD_READER_TYPE_IDE: u32 = 16; pub const SCARD_READER_TYPE_USB: u32 = 32; pub const SCARD_READER_TYPE_PCMCIA: u32 = 64; pub const SCARD_READER_TYPE_TPM: u32 = 128; pub const SCARD_READER_TYPE_NFC: u32 = 256; pub const SCARD_READER_TYPE_UICC: u32 = 512; pub const SCARD_READER_TYPE_NGC: u32 = 1024; pub const SCARD_READER_TYPE_EMBEDDEDSE: u32 = 2048; pub const SCARD_READER_TYPE_VENDOR: u32 = 240; pub const SCARD_SCOPE_USER: u32 = 0; pub const SCARD_SCOPE_TERMINAL: u32 = 1; pub const SCARD_SCOPE_SYSTEM: u32 = 2; pub const SCARD_PROVIDER_PRIMARY: u32 = 1; pub const SCARD_PROVIDER_CSP: u32 = 2; pub const SCARD_PROVIDER_KSP: u32 = 3; pub const SCARD_STATE_UNAWARE: u32 = 0; pub const SCARD_STATE_IGNORE: u32 = 1; pub const SCARD_STATE_CHANGED: u32 = 2; pub const SCARD_STATE_UNKNOWN: u32 = 4; pub const SCARD_STATE_UNAVAILABLE: u32 = 8; pub const SCARD_STATE_EMPTY: u32 = 16; pub const SCARD_STATE_PRESENT: u32 = 32; pub const SCARD_STATE_ATRMATCH: u32 = 64; pub const SCARD_STATE_EXCLUSIVE: u32 = 128; pub const SCARD_STATE_INUSE: u32 = 256; pub const SCARD_STATE_MUTE: u32 = 512; pub const SCARD_STATE_UNPOWERED: u32 = 1024; pub const SCARD_SHARE_EXCLUSIVE: u32 = 1; pub const SCARD_SHARE_SHARED: u32 = 2; pub const SCARD_SHARE_DIRECT: u32 = 3; pub const SCARD_LEAVE_CARD: u32 = 0; pub const SCARD_RESET_CARD: u32 = 1; pub const SCARD_UNPOWER_CARD: u32 = 2; pub const SCARD_EJECT_CARD: u32 = 3; pub const SC_DLG_MINIMAL_UI: u32 = 1; pub const SC_DLG_NO_UI: u32 = 2; pub const SC_DLG_FORCE_UI: u32 = 4; pub const SCERR_NOCARDNAME: u32 = 16384; pub const SCERR_NOGUIDS: u32 = 32768; pub const SCARD_AUDIT_CHV_FAILURE: u32 = 0; pub const SCARD_AUDIT_CHV_SUCCESS: u32 = 1; pub const MAXPROPPAGES: u32 = 100; pub const PSP_DEFAULT: u32 = 0; pub const PSP_DLGINDIRECT: u32 = 1; pub const PSP_USEHICON: u32 = 2; pub const PSP_USEICONID: u32 = 4; pub const PSP_USETITLE: u32 = 8; pub const PSP_RTLREADING: u32 = 16; pub const PSP_HASHELP: u32 = 32; pub const PSP_USEREFPARENT: u32 = 64; pub const PSP_USECALLBACK: u32 = 128; pub const PSP_PREMATURE: u32 = 1024; pub const PSP_HIDEHEADER: u32 = 2048; pub const PSP_USEHEADERTITLE: u32 = 4096; pub const PSP_USEHEADERSUBTITLE: u32 = 8192; pub const PSP_USEFUSIONCONTEXT: u32 = 16384; pub const PSPCB_ADDREF: u32 = 0; pub const PSPCB_RELEASE: u32 = 1; pub const PSPCB_CREATE: u32 = 2; pub const PSH_DEFAULT: u32 = 0; pub const PSH_PROPTITLE: u32 = 1; pub const PSH_USEHICON: u32 = 2; pub const PSH_USEICONID: u32 = 4; pub const PSH_PROPSHEETPAGE: u32 = 8; pub const PSH_WIZARDHASFINISH: u32 = 16; pub const PSH_WIZARD: u32 = 32; pub const PSH_USEPSTARTPAGE: u32 = 64; pub const PSH_NOAPPLYNOW: u32 = 128; pub const PSH_USECALLBACK: u32 = 256; pub const PSH_HASHELP: u32 = 512; pub const PSH_MODELESS: u32 = 1024; pub const PSH_RTLREADING: u32 = 2048; pub const PSH_WIZARDCONTEXTHELP: u32 = 4096; pub const PSH_WIZARD97: u32 = 16777216; pub const PSH_WATERMARK: u32 = 32768; pub const PSH_USEHBMWATERMARK: u32 = 65536; pub const PSH_USEHPLWATERMARK: u32 = 131072; pub const PSH_STRETCHWATERMARK: u32 = 262144; pub const PSH_HEADER: u32 = 524288; pub const PSH_USEHBMHEADER: u32 = 1048576; pub const PSH_USEPAGELANG: u32 = 2097152; pub const PSH_WIZARD_LITE: u32 = 4194304; pub const PSH_NOCONTEXTHELP: u32 = 33554432; pub const PSH_AEROWIZARD: u32 = 16384; pub const PSH_RESIZABLE: u32 = 67108864; pub const PSH_HEADERBITMAP: u32 = 134217728; pub const PSH_NOMARGIN: u32 = 268435456; pub const PSCB_INITIALIZED: u32 = 1; pub const PSCB_PRECREATE: u32 = 2; pub const PSCB_BUTTONPRESSED: u32 = 3; pub const PSN_FIRST: i32 = -200; pub const PSN_LAST: i32 = -299; pub const PSN_SETACTIVE: i32 = -200; pub const PSN_KILLACTIVE: i32 = -201; pub const PSN_APPLY: i32 = -202; pub const PSN_RESET: i32 = -203; pub const PSN_HELP: i32 = -205; pub const PSN_WIZBACK: i32 = -206; pub const PSN_WIZNEXT: i32 = -207; pub const PSN_WIZFINISH: i32 = -208; pub const PSN_QUERYCANCEL: i32 = -209; pub const PSN_GETOBJECT: i32 = -210; pub const PSN_TRANSLATEACCELERATOR: i32 = -212; pub const PSN_QUERYINITIALFOCUS: i32 = -213; pub const PSNRET_NOERROR: u32 = 0; pub const PSNRET_INVALID: u32 = 1; pub const PSNRET_INVALID_NOCHANGEPAGE: u32 = 2; pub const PSNRET_MESSAGEHANDLED: u32 = 3; pub const PSM_SETCURSEL: u32 = 1125; pub const PSM_REMOVEPAGE: u32 = 1126; pub const PSM_ADDPAGE: u32 = 1127; pub const PSM_CHANGED: u32 = 1128; pub const PSM_RESTARTWINDOWS: u32 = 1129; pub const PSM_REBOOTSYSTEM: u32 = 1130; pub const PSM_CANCELTOCLOSE: u32 = 1131; pub const PSM_QUERYSIBLINGS: u32 = 1132; pub const PSM_UNCHANGED: u32 = 1133; pub const PSM_APPLY: u32 = 1134; pub const PSM_SETTITLEA: u32 = 1135; pub const PSM_SETTITLEW: u32 = 1144; pub const PSM_SETTITLE: u32 = 1135; pub const PSM_SETWIZBUTTONS: u32 = 1136; pub const PSWIZB_BACK: u32 = 1; pub const PSWIZB_NEXT: u32 = 2; pub const PSWIZB_FINISH: u32 = 4; pub const PSWIZB_DISABLEDFINISH: u32 = 8; pub const PSWIZBF_ELEVATIONREQUIRED: u32 = 1; pub const PSWIZB_CANCEL: u32 = 16; pub const PSM_PRESSBUTTON: u32 = 1137; pub const PSBTN_BACK: u32 = 0; pub const PSBTN_NEXT: u32 = 1; pub const PSBTN_FINISH: u32 = 2; pub const PSBTN_OK: u32 = 3; pub const PSBTN_APPLYNOW: u32 = 4; pub const PSBTN_CANCEL: u32 = 5; pub const PSBTN_HELP: u32 = 6; pub const PSBTN_MAX: u32 = 6; pub const PSM_SETCURSELID: u32 = 1138; pub const PSM_SETFINISHTEXTA: u32 = 1139; pub const PSM_SETFINISHTEXTW: u32 = 1145; pub const PSM_SETFINISHTEXT: u32 = 1139; pub const PSM_GETTABCONTROL: u32 = 1140; pub const PSM_ISDIALOGMESSAGE: u32 = 1141; pub const PSM_GETCURRENTPAGEHWND: u32 = 1142; pub const PSM_INSERTPAGE: u32 = 1143; pub const PSM_SETHEADERTITLEA: u32 = 1149; pub const PSM_SETHEADERTITLEW: u32 = 1150; pub const PSM_SETHEADERTITLE: u32 = 1149; pub const PSM_SETHEADERSUBTITLEA: u32 = 1151; pub const PSM_SETHEADERSUBTITLEW: u32 = 1152; pub const PSM_SETHEADERSUBTITLE: u32 = 1151; pub const PSM_HWNDTOINDEX: u32 = 1153; pub const PSM_INDEXTOHWND: u32 = 1154; pub const PSM_PAGETOINDEX: u32 = 1155; pub const PSM_INDEXTOPAGE: u32 = 1156; pub const PSM_IDTOINDEX: u32 = 1157; pub const PSM_INDEXTOID: u32 = 1158; pub const PSM_GETRESULT: u32 = 1159; pub const PSM_RECALCPAGESIZES: u32 = 1160; pub const PSM_SETNEXTTEXTW: u32 = 1161; pub const PSM_SETNEXTTEXT: u32 = 1161; pub const PSWIZB_SHOW: u32 = 0; pub const PSWIZB_RESTORE: u32 = 1; pub const PSM_SHOWWIZBUTTONS: u32 = 1162; pub const PSM_ENABLEWIZBUTTONS: u32 = 1163; pub const PSM_SETBUTTONTEXTW: u32 = 1164; pub const PSM_SETBUTTONTEXT: u32 = 1164; pub const ID_PSRESTARTWINDOWS: u32 = 2; pub const ID_PSREBOOTSYSTEM: u32 = 3; pub const WIZ_CXDLG: u32 = 276; pub const WIZ_CYDLG: u32 = 140; pub const WIZ_CXBMP: u32 = 80; pub const WIZ_BODYX: u32 = 92; pub const WIZ_BODYCX: u32 = 184; pub const PROP_SM_CXDLG: u32 = 212; pub const PROP_SM_CYDLG: u32 = 188; pub const PROP_MED_CXDLG: u32 = 227; pub const PROP_MED_CYDLG: u32 = 215; pub const PROP_LG_CXDLG: u32 = 252; pub const PROP_LG_CYDLG: u32 = 218; pub const DSPRINT_PUBLISH: u32 = 1; pub const DSPRINT_UPDATE: u32 = 2; pub const DSPRINT_UNPUBLISH: u32 = 4; pub const DSPRINT_REPUBLISH: u32 = 8; pub const DSPRINT_PENDING: u32 = 2147483648; pub const PRINTER_CONTROL_PAUSE: u32 = 1; pub const PRINTER_CONTROL_RESUME: u32 = 2; pub const PRINTER_CONTROL_PURGE: u32 = 3; pub const PRINTER_CONTROL_SET_STATUS: u32 = 4; pub const PRINTER_STATUS_PAUSED: u32 = 1; pub const PRINTER_STATUS_ERROR: u32 = 2; pub const PRINTER_STATUS_PENDING_DELETION: u32 = 4; pub const PRINTER_STATUS_PAPER_JAM: u32 = 8; pub const PRINTER_STATUS_PAPER_OUT: u32 = 16; pub const PRINTER_STATUS_MANUAL_FEED: u32 = 32; pub const PRINTER_STATUS_PAPER_PROBLEM: u32 = 64; pub const PRINTER_STATUS_OFFLINE: u32 = 128; pub const PRINTER_STATUS_IO_ACTIVE: u32 = 256; pub const PRINTER_STATUS_BUSY: u32 = 512; pub const PRINTER_STATUS_PRINTING: u32 = 1024; pub const PRINTER_STATUS_OUTPUT_BIN_FULL: u32 = 2048; pub const PRINTER_STATUS_NOT_AVAILABLE: u32 = 4096; pub const PRINTER_STATUS_WAITING: u32 = 8192; pub const PRINTER_STATUS_PROCESSING: u32 = 16384; pub const PRINTER_STATUS_INITIALIZING: u32 = 32768; pub const PRINTER_STATUS_WARMING_UP: u32 = 65536; pub const PRINTER_STATUS_TONER_LOW: u32 = 131072; pub const PRINTER_STATUS_NO_TONER: u32 = 262144; pub const PRINTER_STATUS_PAGE_PUNT: u32 = 524288; pub const PRINTER_STATUS_USER_INTERVENTION: u32 = 1048576; pub const PRINTER_STATUS_OUT_OF_MEMORY: u32 = 2097152; pub const PRINTER_STATUS_DOOR_OPEN: u32 = 4194304; pub const PRINTER_STATUS_SERVER_UNKNOWN: u32 = 8388608; pub const PRINTER_STATUS_POWER_SAVE: u32 = 16777216; pub const PRINTER_STATUS_SERVER_OFFLINE: u32 = 33554432; pub const PRINTER_STATUS_DRIVER_UPDATE_NEEDED: u32 = 67108864; pub const PRINTER_ATTRIBUTE_QUEUED: u32 = 1; pub const PRINTER_ATTRIBUTE_DIRECT: u32 = 2; pub const PRINTER_ATTRIBUTE_DEFAULT: u32 = 4; pub const PRINTER_ATTRIBUTE_SHARED: u32 = 8; pub const PRINTER_ATTRIBUTE_NETWORK: u32 = 16; pub const PRINTER_ATTRIBUTE_HIDDEN: u32 = 32; pub const PRINTER_ATTRIBUTE_LOCAL: u32 = 64; pub const PRINTER_ATTRIBUTE_ENABLE_DEVQ: u32 = 128; pub const PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS: u32 = 256; pub const PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST: u32 = 512; pub const PRINTER_ATTRIBUTE_WORK_OFFLINE: u32 = 1024; pub const PRINTER_ATTRIBUTE_ENABLE_BIDI: u32 = 2048; pub const PRINTER_ATTRIBUTE_RAW_ONLY: u32 = 4096; pub const PRINTER_ATTRIBUTE_PUBLISHED: u32 = 8192; pub const PRINTER_ATTRIBUTE_FAX: u32 = 16384; pub const PRINTER_ATTRIBUTE_TS: u32 = 32768; pub const PRINTER_ATTRIBUTE_PUSHED_USER: u32 = 131072; pub const PRINTER_ATTRIBUTE_PUSHED_MACHINE: u32 = 262144; pub const PRINTER_ATTRIBUTE_MACHINE: u32 = 524288; pub const PRINTER_ATTRIBUTE_FRIENDLY_NAME: u32 = 1048576; pub const PRINTER_ATTRIBUTE_TS_GENERIC_DRIVER: u32 = 2097152; pub const PRINTER_ATTRIBUTE_PER_USER: u32 = 4194304; pub const PRINTER_ATTRIBUTE_ENTERPRISE_CLOUD: u32 = 8388608; pub const NO_PRIORITY: u32 = 0; pub const MAX_PRIORITY: u32 = 99; pub const MIN_PRIORITY: u32 = 1; pub const DEF_PRIORITY: u32 = 1; pub const JOB_CONTROL_PAUSE: u32 = 1; pub const JOB_CONTROL_RESUME: u32 = 2; pub const JOB_CONTROL_CANCEL: u32 = 3; pub const JOB_CONTROL_RESTART: u32 = 4; pub const JOB_CONTROL_DELETE: u32 = 5; pub const JOB_CONTROL_SENT_TO_PRINTER: u32 = 6; pub const JOB_CONTROL_LAST_PAGE_EJECTED: u32 = 7; pub const JOB_CONTROL_RETAIN: u32 = 8; pub const JOB_CONTROL_RELEASE: u32 = 9; pub const JOB_STATUS_PAUSED: u32 = 1; pub const JOB_STATUS_ERROR: u32 = 2; pub const JOB_STATUS_DELETING: u32 = 4; pub const JOB_STATUS_SPOOLING: u32 = 8; pub const JOB_STATUS_PRINTING: u32 = 16; pub const JOB_STATUS_OFFLINE: u32 = 32; pub const JOB_STATUS_PAPEROUT: u32 = 64; pub const JOB_STATUS_PRINTED: u32 = 128; pub const JOB_STATUS_DELETED: u32 = 256; pub const JOB_STATUS_BLOCKED_DEVQ: u32 = 512; pub const JOB_STATUS_USER_INTERVENTION: u32 = 1024; pub const JOB_STATUS_RESTART: u32 = 2048; pub const JOB_STATUS_COMPLETE: u32 = 4096; pub const JOB_STATUS_RETAINED: u32 = 8192; pub const JOB_STATUS_RENDERING_LOCALLY: u32 = 16384; pub const JOB_POSITION_UNSPECIFIED: u32 = 0; pub const PRINTER_DRIVER_PACKAGE_AWARE: u32 = 1; pub const PRINTER_DRIVER_XPS: u32 = 2; pub const PRINTER_DRIVER_SANDBOX_ENABLED: u32 = 4; pub const PRINTER_DRIVER_CLASS: u32 = 8; pub const PRINTER_DRIVER_DERIVED: u32 = 16; pub const PRINTER_DRIVER_NOT_SHAREABLE: u32 = 32; pub const PRINTER_DRIVER_CATEGORY_FAX: u32 = 64; pub const PRINTER_DRIVER_CATEGORY_FILE: u32 = 128; pub const PRINTER_DRIVER_CATEGORY_VIRTUAL: u32 = 256; pub const PRINTER_DRIVER_CATEGORY_SERVICE: u32 = 512; pub const PRINTER_DRIVER_SOFT_RESET_REQUIRED: u32 = 1024; pub const PRINTER_DRIVER_SANDBOX_DISABLED: u32 = 2048; pub const PRINTER_DRIVER_CATEGORY_3D: u32 = 4096; pub const PRINTER_DRIVER_CATEGORY_CLOUD: u32 = 8192; pub const DRIVER_KERNELMODE: u32 = 1; pub const DRIVER_USERMODE: u32 = 2; pub const DPD_DELETE_UNUSED_FILES: u32 = 1; pub const DPD_DELETE_SPECIFIC_VERSION: u32 = 2; pub const DPD_DELETE_ALL_FILES: u32 = 4; pub const APD_STRICT_UPGRADE: u32 = 1; pub const APD_STRICT_DOWNGRADE: u32 = 2; pub const APD_COPY_ALL_FILES: u32 = 4; pub const APD_COPY_NEW_FILES: u32 = 8; pub const APD_COPY_FROM_DIRECTORY: u32 = 16; pub const STRING_NONE: u32 = 1; pub const STRING_MUIDLL: u32 = 2; pub const STRING_LANGPAIR: u32 = 4; pub const MAX_FORM_KEYWORD_LENGTH: u32 = 64; pub const DI_CHANNEL: u32 = 1; pub const DI_READ_SPOOL_JOB: u32 = 3; pub const DI_MEMORYMAP_WRITE: u32 = 1; pub const FORM_USER: u32 = 0; pub const FORM_BUILTIN: u32 = 1; pub const FORM_PRINTER: u32 = 2; pub const NORMAL_PRINT: u32 = 0; pub const REVERSE_PRINT: u32 = 1; pub const PPCAPS_RIGHT_THEN_DOWN: u32 = 1; pub const PPCAPS_DOWN_THEN_RIGHT: u32 = 2; pub const PPCAPS_LEFT_THEN_DOWN: u32 = 4; pub const PPCAPS_DOWN_THEN_LEFT: u32 = 8; pub const PPCAPS_BORDER_PRINT: u32 = 1; pub const PPCAPS_BOOKLET_EDGE: u32 = 1; pub const PPCAPS_REVERSE_PAGES_FOR_REVERSE_DUPLEX: u32 = 1; pub const PPCAPS_DONT_SEND_EXTRA_PAGES_FOR_DUPLEX: u32 = 2; pub const PPCAPS_SQUARE_SCALING: u32 = 1; pub const PORT_TYPE_WRITE: u32 = 1; pub const PORT_TYPE_READ: u32 = 2; pub const PORT_TYPE_REDIRECTED: u32 = 4; pub const PORT_TYPE_NET_ATTACHED: u32 = 8; pub const PORT_STATUS_TYPE_ERROR: u32 = 1; pub const PORT_STATUS_TYPE_WARNING: u32 = 2; pub const PORT_STATUS_TYPE_INFO: u32 = 3; pub const PORT_STATUS_OFFLINE: u32 = 1; pub const PORT_STATUS_PAPER_JAM: u32 = 2; pub const PORT_STATUS_PAPER_OUT: u32 = 3; pub const PORT_STATUS_OUTPUT_BIN_FULL: u32 = 4; pub const PORT_STATUS_PAPER_PROBLEM: u32 = 5; pub const PORT_STATUS_NO_TONER: u32 = 6; pub const PORT_STATUS_DOOR_OPEN: u32 = 7; pub const PORT_STATUS_USER_INTERVENTION: u32 = 8; pub const PORT_STATUS_OUT_OF_MEMORY: u32 = 9; pub const PORT_STATUS_TONER_LOW: u32 = 10; pub const PORT_STATUS_WARMING_UP: u32 = 11; pub const PORT_STATUS_POWER_SAVE: u32 = 12; pub const PRINTER_ENUM_DEFAULT: u32 = 1; pub const PRINTER_ENUM_LOCAL: u32 = 2; pub const PRINTER_ENUM_CONNECTIONS: u32 = 4; pub const PRINTER_ENUM_FAVORITE: u32 = 4; pub const PRINTER_ENUM_NAME: u32 = 8; pub const PRINTER_ENUM_REMOTE: u32 = 16; pub const PRINTER_ENUM_SHARED: u32 = 32; pub const PRINTER_ENUM_NETWORK: u32 = 64; pub const PRINTER_ENUM_EXPAND: u32 = 16384; pub const PRINTER_ENUM_CONTAINER: u32 = 32768; pub const PRINTER_ENUM_ICONMASK: u32 = 16711680; pub const PRINTER_ENUM_ICON1: u32 = 65536; pub const PRINTER_ENUM_ICON2: u32 = 131072; pub const PRINTER_ENUM_ICON3: u32 = 262144; pub const PRINTER_ENUM_ICON4: u32 = 524288; pub const PRINTER_ENUM_ICON5: u32 = 1048576; pub const PRINTER_ENUM_ICON6: u32 = 2097152; pub const PRINTER_ENUM_ICON7: u32 = 4194304; pub const PRINTER_ENUM_ICON8: u32 = 8388608; pub const PRINTER_ENUM_HIDE: u32 = 16777216; pub const PRINTER_ENUM_CATEGORY_ALL: u32 = 33554432; pub const PRINTER_ENUM_CATEGORY_3D: u32 = 67108864; pub const SPOOL_FILE_PERSISTENT: u32 = 1; pub const SPOOL_FILE_TEMPORARY: u32 = 2; pub const PRINTER_NOTIFY_TYPE: u32 = 0; pub const JOB_NOTIFY_TYPE: u32 = 1; pub const SERVER_NOTIFY_TYPE: u32 = 2; pub const PRINTER_NOTIFY_FIELD_SERVER_NAME: u32 = 0; pub const PRINTER_NOTIFY_FIELD_PRINTER_NAME: u32 = 1; pub const PRINTER_NOTIFY_FIELD_SHARE_NAME: u32 = 2; pub const PRINTER_NOTIFY_FIELD_PORT_NAME: u32 = 3; pub const PRINTER_NOTIFY_FIELD_DRIVER_NAME: u32 = 4; pub const PRINTER_NOTIFY_FIELD_COMMENT: u32 = 5; pub const PRINTER_NOTIFY_FIELD_LOCATION: u32 = 6; pub const PRINTER_NOTIFY_FIELD_DEVMODE: u32 = 7; pub const PRINTER_NOTIFY_FIELD_SEPFILE: u32 = 8; pub const PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR: u32 = 9; pub const PRINTER_NOTIFY_FIELD_PARAMETERS: u32 = 10; pub const PRINTER_NOTIFY_FIELD_DATATYPE: u32 = 11; pub const PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR: u32 = 12; pub const PRINTER_NOTIFY_FIELD_ATTRIBUTES: u32 = 13; pub const PRINTER_NOTIFY_FIELD_PRIORITY: u32 = 14; pub const PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY: u32 = 15; pub const PRINTER_NOTIFY_FIELD_START_TIME: u32 = 16; pub const PRINTER_NOTIFY_FIELD_UNTIL_TIME: u32 = 17; pub const PRINTER_NOTIFY_FIELD_STATUS: u32 = 18; pub const PRINTER_NOTIFY_FIELD_STATUS_STRING: u32 = 19; pub const PRINTER_NOTIFY_FIELD_CJOBS: u32 = 20; pub const PRINTER_NOTIFY_FIELD_AVERAGE_PPM: u32 = 21; pub const PRINTER_NOTIFY_FIELD_TOTAL_PAGES: u32 = 22; pub const PRINTER_NOTIFY_FIELD_PAGES_PRINTED: u32 = 23; pub const PRINTER_NOTIFY_FIELD_TOTAL_BYTES: u32 = 24; pub const PRINTER_NOTIFY_FIELD_BYTES_PRINTED: u32 = 25; pub const PRINTER_NOTIFY_FIELD_OBJECT_GUID: u32 = 26; pub const PRINTER_NOTIFY_FIELD_FRIENDLY_NAME: u32 = 27; pub const PRINTER_NOTIFY_FIELD_BRANCH_OFFICE_PRINTING: u32 = 28; pub const JOB_NOTIFY_FIELD_PRINTER_NAME: u32 = 0; pub const JOB_NOTIFY_FIELD_MACHINE_NAME: u32 = 1; pub const JOB_NOTIFY_FIELD_PORT_NAME: u32 = 2; pub const JOB_NOTIFY_FIELD_USER_NAME: u32 = 3; pub const JOB_NOTIFY_FIELD_NOTIFY_NAME: u32 = 4; pub const JOB_NOTIFY_FIELD_DATATYPE: u32 = 5; pub const JOB_NOTIFY_FIELD_PRINT_PROCESSOR: u32 = 6; pub const JOB_NOTIFY_FIELD_PARAMETERS: u32 = 7; pub const JOB_NOTIFY_FIELD_DRIVER_NAME: u32 = 8; pub const JOB_NOTIFY_FIELD_DEVMODE: u32 = 9; pub const JOB_NOTIFY_FIELD_STATUS: u32 = 10; pub const JOB_NOTIFY_FIELD_STATUS_STRING: u32 = 11; pub const JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR: u32 = 12; pub const JOB_NOTIFY_FIELD_DOCUMENT: u32 = 13; pub const JOB_NOTIFY_FIELD_PRIORITY: u32 = 14; pub const JOB_NOTIFY_FIELD_POSITION: u32 = 15; pub const JOB_NOTIFY_FIELD_SUBMITTED: u32 = 16; pub const JOB_NOTIFY_FIELD_START_TIME: u32 = 17; pub const JOB_NOTIFY_FIELD_UNTIL_TIME: u32 = 18; pub const JOB_NOTIFY_FIELD_TIME: u32 = 19; pub const JOB_NOTIFY_FIELD_TOTAL_PAGES: u32 = 20; pub const JOB_NOTIFY_FIELD_PAGES_PRINTED: u32 = 21; pub const JOB_NOTIFY_FIELD_TOTAL_BYTES: u32 = 22; pub const JOB_NOTIFY_FIELD_BYTES_PRINTED: u32 = 23; pub const JOB_NOTIFY_FIELD_REMOTE_JOB_ID: u32 = 24; pub const SERVER_NOTIFY_FIELD_PRINT_DRIVER_ISOLATION_GROUP: u32 = 0; pub const PRINTER_NOTIFY_CATEGORY_ALL: u32 = 4096; pub const PRINTER_NOTIFY_CATEGORY_3D: u32 = 8192; pub const PRINTER_NOTIFY_OPTIONS_REFRESH: u32 = 1; pub const PRINTER_NOTIFY_INFO_DISCARDED: u32 = 1; pub const BIDI_ACTION_ENUM_SCHEMA: &'static [u8; 11usize] = b"EnumSchema\0"; pub const BIDI_ACTION_GET: &'static [u8; 4usize] = b"Get\0"; pub const BIDI_ACTION_SET: &'static [u8; 4usize] = b"Set\0"; pub const BIDI_ACTION_GET_ALL: &'static [u8; 7usize] = b"GetAll\0"; pub const BIDI_ACTION_GET_WITH_ARGUMENT: &'static [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: &'static [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: &'static [u8; 1usize] = b"\0"; pub const COM_RIGHTS_EXECUTE: u32 = 1; pub const COM_RIGHTS_EXECUTE_LOCAL: u32 = 2; pub const COM_RIGHTS_EXECUTE_REMOTE: u32 = 4; pub const COM_RIGHTS_ACTIVATE_LOCAL: u32 = 8; pub const COM_RIGHTS_ACTIVATE_REMOTE: u32 = 16; pub const COM_RIGHTS_RESERVED1: u32 = 32; pub const COM_RIGHTS_RESERVED2: u32 = 64; pub const CWMO_MAX_HANDLES: u32 = 56; pub const FADF_AUTO: u32 = 1; pub const FADF_STATIC: u32 = 2; pub const FADF_EMBEDDED: u32 = 4; pub const FADF_FIXEDSIZE: u32 = 16; pub const FADF_RECORD: u32 = 32; pub const FADF_HAVEIID: u32 = 64; pub const FADF_HAVEVARTYPE: u32 = 128; pub const FADF_BSTR: u32 = 256; pub const FADF_UNKNOWN: u32 = 512; pub const FADF_DISPATCH: u32 = 1024; pub const FADF_VARIANT: u32 = 2048; pub const FADF_RESERVED: u32 = 61448; pub const PARAMFLAG_NONE: u32 = 0; pub const PARAMFLAG_FIN: u32 = 1; pub const PARAMFLAG_FOUT: u32 = 2; pub const PARAMFLAG_FLCID: u32 = 4; pub const PARAMFLAG_FRETVAL: u32 = 8; pub const PARAMFLAG_FOPT: u32 = 16; pub const PARAMFLAG_FHASDEFAULT: u32 = 32; pub const PARAMFLAG_FHASCUSTDATA: u32 = 64; pub const IDLFLAG_NONE: u32 = 0; pub const IDLFLAG_FIN: u32 = 1; pub const IDLFLAG_FOUT: u32 = 2; pub const IDLFLAG_FLCID: u32 = 4; pub const IDLFLAG_FRETVAL: u32 = 8; pub const IMPLTYPEFLAG_FDEFAULT: u32 = 1; pub const IMPLTYPEFLAG_FSOURCE: u32 = 2; pub const IMPLTYPEFLAG_FRESTRICTED: u32 = 4; pub const IMPLTYPEFLAG_FDEFAULTVTABLE: u32 = 8; pub const DISPID_UNKNOWN: i32 = -1; pub const DISPID_VALUE: u32 = 0; pub const DISPID_PROPERTYPUT: i32 = -3; pub const DISPID_NEWENUM: i32 = -4; pub const DISPID_EVALUATE: i32 = -5; pub const DISPID_CONSTRUCTOR: i32 = -6; pub const DISPID_DESTRUCTOR: i32 = -7; pub const DISPID_COLLECT: i32 = -8; pub const PROPSETFLAG_DEFAULT: u32 = 0; pub const PROPSETFLAG_NONSIMPLE: u32 = 1; pub const PROPSETFLAG_ANSI: u32 = 2; pub const PROPSETFLAG_UNBUFFERED: u32 = 4; pub const PROPSETFLAG_CASE_SENSITIVE: u32 = 8; pub const PROPSET_BEHAVIOR_CASE_SENSITIVE: u32 = 1; pub const PID_DICTIONARY: u32 = 0; pub const PID_CODEPAGE: u32 = 1; pub const PID_FIRST_USABLE: u32 = 2; pub const PID_FIRST_NAME_DEFAULT: u32 = 4095; pub const PID_LOCALE: u32 = 2147483648; pub const PID_MODIFY_TIME: u32 = 2147483649; pub const PID_SECURITY: u32 = 2147483650; pub const PID_BEHAVIOR: u32 = 2147483651; pub const PID_ILLEGAL: u32 = 4294967295; pub const PID_MIN_READONLY: u32 = 2147483648; pub const PID_MAX_READONLY: u32 = 3221225471; pub const PRSPEC_INVALID: u32 = 4294967295; pub const PRSPEC_LPWSTR: u32 = 0; pub const PRSPEC_PROPID: u32 = 1; pub const PROPSETHDR_OSVERSION_UNKNOWN: u32 = 4294967295; pub const CWCSTORAGENAME: u32 = 32; pub const STGM_DIRECT: u32 = 0; pub const STGM_TRANSACTED: u32 = 65536; pub const STGM_SIMPLE: u32 = 134217728; pub const STGM_READ: u32 = 0; pub const STGM_WRITE: u32 = 1; pub const STGM_READWRITE: u32 = 2; pub const STGM_SHARE_DENY_NONE: u32 = 64; pub const STGM_SHARE_DENY_READ: u32 = 48; pub const STGM_SHARE_DENY_WRITE: u32 = 32; pub const STGM_SHARE_EXCLUSIVE: u32 = 16; pub const STGM_PRIORITY: u32 = 262144; pub const STGM_DELETEONRELEASE: u32 = 67108864; pub const STGM_NOSCRATCH: u32 = 1048576; pub const STGM_CREATE: u32 = 4096; pub const STGM_CONVERT: u32 = 131072; pub const STGM_FAILIFTHERE: u32 = 0; pub const STGM_NOSNAPSHOT: u32 = 2097152; pub const STGM_DIRECT_SWMR: u32 = 4194304; pub const STGFMT_STORAGE: u32 = 0; pub const STGFMT_NATIVE: u32 = 1; pub const STGFMT_FILE: u32 = 3; pub const STGFMT_ANY: u32 = 4; pub const STGFMT_DOCFILE: u32 = 5; pub const STGFMT_DOCUMENT: u32 = 0; pub const STGOPTIONS_VERSION: u32 = 2; pub const CCH_MAX_PROPSTG_NAME: u32 = 31; pub const MARSHALINTERFACE_MIN: u32 = 500; pub const ASYNC_MODE_COMPATIBILITY: u32 = 1; pub const ASYNC_MODE_DEFAULT: u32 = 0; pub const STGTY_REPEAT: u32 = 256; pub const STG_TOEND: u32 = 4294967295; pub const STG_LAYOUT_SEQUENTIAL: u32 = 0; pub const STG_LAYOUT_INTERLEAVED: u32 = 1; pub const UPDFCACHE_NODATACACHE: u32 = 1; pub const UPDFCACHE_ONSAVECACHE: u32 = 2; pub const UPDFCACHE_ONSTOPCACHE: u32 = 4; pub const UPDFCACHE_NORMALCACHE: u32 = 8; pub const UPDFCACHE_IFBLANK: u32 = 16; pub const UPDFCACHE_ONLYIFBLANK: u32 = 2147483648; pub const UPDFCACHE_IFBLANKORONSAVECACHE: u32 = 18; pub const MK_ALT: u32 = 32; pub const DROPEFFECT_NONE: u32 = 0; pub const DROPEFFECT_COPY: u32 = 1; pub const DROPEFFECT_MOVE: u32 = 2; pub const DROPEFFECT_LINK: u32 = 4; pub const DROPEFFECT_SCROLL: u32 = 2147483648; pub const DD_DEFSCROLLINSET: u32 = 11; pub const DD_DEFSCROLLDELAY: u32 = 50; pub const DD_DEFSCROLLINTERVAL: u32 = 50; pub const DD_DEFDRAGDELAY: u32 = 200; pub const DD_DEFDRAGMINDIST: u32 = 2; pub const MKSYS_URLMONIKER: u32 = 6; pub const URL_MK_LEGACY: u32 = 0; pub const URL_MK_UNIFORM: u32 = 1; pub const URL_MK_NO_CANONICALIZE: u32 = 2; pub const FIEF_FLAG_FORCE_JITUI: u32 = 1; pub const FIEF_FLAG_PEEK: u32 = 2; pub const FIEF_FLAG_SKIP_INSTALLED_VERSION_CHECK: u32 = 4; pub const FIEF_FLAG_RESERVED_0: u32 = 8; pub const FMFD_DEFAULT: u32 = 0; pub const FMFD_URLASFILENAME: u32 = 1; pub const FMFD_ENABLEMIMESNIFFING: u32 = 2; pub const FMFD_IGNOREMIMETEXTPLAIN: u32 = 4; pub const FMFD_SERVERMIME: u32 = 8; pub const FMFD_RESPECTTEXTPLAIN: u32 = 16; pub const FMFD_RETURNUPDATEDIMGMIMES: u32 = 32; pub const FMFD_RESERVED_1: u32 = 64; pub const UAS_EXACTLEGACY: u32 = 4096; pub const URLMON_OPTION_USERAGENT: u32 = 268435457; pub const URLMON_OPTION_USERAGENT_REFRESH: u32 = 268435458; pub const URLMON_OPTION_URL_ENCODING: u32 = 268435460; pub const URLMON_OPTION_USE_BINDSTRINGCREDS: u32 = 268435464; pub const URLMON_OPTION_USE_BROWSERAPPSDOCUMENTS: u32 = 268435472; pub const CF_NULL: u32 = 0; pub const Uri_CREATE_ALLOW_RELATIVE: u32 = 1; pub const Uri_CREATE_ALLOW_IMPLICIT_WILDCARD_SCHEME: u32 = 2; pub const Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME: u32 = 4; pub const Uri_CREATE_NOFRAG: u32 = 8; pub const Uri_CREATE_NO_CANONICALIZE: u32 = 16; pub const Uri_CREATE_CANONICALIZE: u32 = 256; pub const Uri_CREATE_FILE_USE_DOS_PATH: u32 = 32; pub const Uri_CREATE_DECODE_EXTRA_INFO: u32 = 64; pub const Uri_CREATE_NO_DECODE_EXTRA_INFO: u32 = 128; pub const Uri_CREATE_CRACK_UNKNOWN_SCHEMES: u32 = 512; pub const Uri_CREATE_NO_CRACK_UNKNOWN_SCHEMES: u32 = 1024; pub const Uri_CREATE_PRE_PROCESS_HTML_URI: u32 = 2048; pub const Uri_CREATE_NO_PRE_PROCESS_HTML_URI: u32 = 4096; pub const Uri_CREATE_IE_SETTINGS: u32 = 8192; pub const Uri_CREATE_NO_IE_SETTINGS: u32 = 16384; pub const Uri_CREATE_NO_ENCODE_FORBIDDEN_CHARACTERS: u32 = 32768; pub const Uri_CREATE_NORMALIZE_INTL_CHARACTERS: u32 = 65536; pub const Uri_CREATE_CANONICALIZE_ABSOLUTE: u32 = 131072; pub const Uri_DISPLAY_NO_FRAGMENT: u32 = 1; pub const Uri_PUNYCODE_IDN_HOST: u32 = 2; pub const Uri_DISPLAY_IDN_HOST: u32 = 4; pub const Uri_DISPLAY_NO_PUNYCODE: u32 = 8; pub const Uri_ENCODING_USER_INFO_AND_PATH_IS_PERCENT_ENCODED_UTF8: u32 = 1; pub const Uri_ENCODING_USER_INFO_AND_PATH_IS_CP: u32 = 2; pub const Uri_ENCODING_HOST_IS_IDN: u32 = 4; pub const Uri_ENCODING_HOST_IS_PERCENT_ENCODED_UTF8: u32 = 8; pub const Uri_ENCODING_HOST_IS_PERCENT_ENCODED_CP: u32 = 16; pub const Uri_ENCODING_QUERY_AND_FRAGMENT_IS_PERCENT_ENCODED_UTF8: u32 = 32; pub const Uri_ENCODING_QUERY_AND_FRAGMENT_IS_CP: u32 = 64; pub const Uri_ENCODING_RFC: u32 = 41; pub const UriBuilder_USE_ORIGINAL_FLAGS: u32 = 1; pub const WININETINFO_OPTION_LOCK_HANDLE: u32 = 65534; pub const URLOSTRM_USECACHEDCOPY_ONLY: u32 = 1; pub const URLOSTRM_USECACHEDCOPY: u32 = 2; pub const URLOSTRM_GETNEWESTVERSION: u32 = 3; pub const SET_FEATURE_ON_THREAD: u32 = 1; pub const SET_FEATURE_ON_PROCESS: u32 = 2; pub const SET_FEATURE_IN_REGISTRY: u32 = 4; pub const SET_FEATURE_ON_THREAD_LOCALMACHINE: u32 = 8; pub const SET_FEATURE_ON_THREAD_INTRANET: u32 = 16; pub const SET_FEATURE_ON_THREAD_TRUSTED: u32 = 32; pub const SET_FEATURE_ON_THREAD_INTERNET: u32 = 64; pub const SET_FEATURE_ON_THREAD_RESTRICTED: u32 = 128; pub const GET_FEATURE_FROM_THREAD: u32 = 1; pub const GET_FEATURE_FROM_PROCESS: u32 = 2; pub const GET_FEATURE_FROM_REGISTRY: u32 = 4; pub const GET_FEATURE_FROM_THREAD_LOCALMACHINE: u32 = 8; pub const GET_FEATURE_FROM_THREAD_INTRANET: u32 = 16; pub const GET_FEATURE_FROM_THREAD_TRUSTED: u32 = 32; pub const GET_FEATURE_FROM_THREAD_INTERNET: u32 = 64; pub const GET_FEATURE_FROM_THREAD_RESTRICTED: u32 = 128; pub const PROTOCOLFLAG_NO_PICS_CHECK: u32 = 1; pub const MUTZ_NOSAVEDFILECHECK: u32 = 1; pub const MUTZ_ISFILE: u32 = 2; pub const MUTZ_ACCEPT_WILDCARD_SCHEME: u32 = 128; pub const MUTZ_ENFORCERESTRICTED: u32 = 256; pub const MUTZ_RESERVED: u32 = 512; pub const MUTZ_REQUIRESAVEDFILECHECK: u32 = 1024; pub const MUTZ_DONT_UNESCAPE: u32 = 2048; pub const MUTZ_DONT_USE_CACHE: u32 = 4096; pub const MUTZ_FORCE_INTRANET_FLAGS: u32 = 8192; pub const MUTZ_IGNORE_ZONE_MAPPINGS: u32 = 16384; pub const MAX_SIZE_SECURITY_ID: u32 = 512; pub const URLACTION_MIN: u32 = 4096; pub const URLACTION_DOWNLOAD_MIN: u32 = 4096; pub const URLACTION_DOWNLOAD_SIGNED_ACTIVEX: u32 = 4097; pub const URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX: u32 = 4100; pub const URLACTION_DOWNLOAD_CURR_MAX: u32 = 4100; pub const URLACTION_DOWNLOAD_MAX: u32 = 4607; pub const URLACTION_ACTIVEX_MIN: u32 = 4608; pub const URLACTION_ACTIVEX_RUN: u32 = 4608; pub const URLPOLICY_ACTIVEX_CHECK_LIST: u32 = 65536; pub const URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY: u32 = 4609; pub const URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY: u32 = 4610; pub const URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY: u32 = 4611; pub const URLACTION_SCRIPT_OVERRIDE_SAFETY: u32 = 5121; pub const URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY: u32 = 4612; pub const URLACTION_ACTIVEX_TREATASUNTRUSTED: u32 = 4613; pub const URLACTION_ACTIVEX_NO_WEBOC_SCRIPT: u32 = 4614; pub const URLACTION_ACTIVEX_OVERRIDE_REPURPOSEDETECTION: u32 = 4615; pub const URLACTION_ACTIVEX_OVERRIDE_OPTIN: u32 = 4616; pub const URLACTION_ACTIVEX_SCRIPTLET_RUN: u32 = 4617; pub const URLACTION_ACTIVEX_DYNSRC_VIDEO_AND_ANIMATION: u32 = 4618; pub const URLACTION_ACTIVEX_OVERRIDE_DOMAINLIST: u32 = 4619; pub const URLACTION_ACTIVEX_ALLOW_TDC: u32 = 4620; pub const URLACTION_ACTIVEX_CURR_MAX: u32 = 4620; pub const URLACTION_ACTIVEX_MAX: u32 = 5119; pub const URLACTION_SCRIPT_MIN: u32 = 5120; pub const URLACTION_SCRIPT_RUN: u32 = 5120; pub const URLACTION_SCRIPT_JAVA_USE: u32 = 5122; pub const URLACTION_SCRIPT_SAFE_ACTIVEX: u32 = 5125; pub const URLACTION_CROSS_DOMAIN_DATA: u32 = 5126; pub const URLACTION_SCRIPT_PASTE: u32 = 5127; pub const URLACTION_ALLOW_XDOMAIN_SUBFRAME_RESIZE: u32 = 5128; pub const URLACTION_SCRIPT_XSSFILTER: u32 = 5129; pub const URLACTION_SCRIPT_NAVIGATE: u32 = 5130; pub const URLACTION_PLUGGABLE_PROTOCOL_XHR: u32 = 5131; pub const URLACTION_ALLOW_VBSCRIPT_IE: u32 = 5132; pub const URLACTION_SCRIPT_CURR_MAX: u32 = 5132; 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: &'static [u8; 27usize] = b"commdlg_LBSelChangedNotify\0"; pub const SHAREVISTRINGA: &'static [u8; 23usize] = b"commdlg_ShareViolation\0"; pub const FILEOKSTRINGA: &'static [u8; 19usize] = b"commdlg_FileNameOK\0"; pub const COLOROKSTRINGA: &'static [u8; 16usize] = b"commdlg_ColorOK\0"; pub const SETRGBSTRINGA: &'static [u8; 20usize] = b"commdlg_SetRGBColor\0"; pub const HELPMSGSTRINGA: &'static [u8; 13usize] = b"commdlg_help\0"; pub const FINDMSGSTRINGA: &'static [u8; 20usize] = b"commdlg_FindReplace\0"; pub const LBSELCHSTRINGW: &'static [u8; 27usize] = b"commdlg_LBSelChangedNotify\0"; pub const SHAREVISTRINGW: &'static [u8; 23usize] = b"commdlg_ShareViolation\0"; pub const FILEOKSTRINGW: &'static [u8; 19usize] = b"commdlg_FileNameOK\0"; pub const COLOROKSTRINGW: &'static [u8; 16usize] = b"commdlg_ColorOK\0"; pub const SETRGBSTRINGW: &'static [u8; 20usize] = b"commdlg_SetRGBColor\0"; pub const HELPMSGSTRINGW: &'static [u8; 13usize] = b"commdlg_help\0"; pub const FINDMSGSTRINGW: &'static [u8; 20usize] = b"commdlg_FindReplace\0"; pub const LBSELCHSTRING: &'static [u8; 27usize] = b"commdlg_LBSelChangedNotify\0"; pub const SHAREVISTRING: &'static [u8; 23usize] = b"commdlg_ShareViolation\0"; pub const FILEOKSTRING: &'static [u8; 19usize] = b"commdlg_FileNameOK\0"; pub const COLOROKSTRING: &'static [u8; 16usize] = b"commdlg_ColorOK\0"; pub const SETRGBSTRING: &'static [u8; 20usize] = b"commdlg_SetRGBColor\0"; pub const HELPMSGSTRING: &'static [u8; 13usize] = b"commdlg_help\0"; pub const FINDMSGSTRING: &'static [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: &'static [u8; 15usize] = b"ServicesActive\0"; pub const SERVICES_FAILED_DATABASEW: &'static [u8; 15usize] = b"ServicesFailed\0"; pub const SERVICES_ACTIVE_DATABASEA: &'static [u8; 15usize] = b"ServicesActive\0"; pub const SERVICES_FAILED_DATABASEA: &'static [u8; 15usize] = b"ServicesFailed\0"; pub const SC_GROUP_IDENTIFIERW: u8 = 43u8; pub const SC_GROUP_IDENTIFIERA: u8 = 43u8; pub const SERVICES_ACTIVE_DATABASE: &'static [u8; 15usize] = b"ServicesActive\0"; pub const SERVICES_FAILED_DATABASE: &'static [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: &'static [u8; 15usize] = b"TriggerStarted\0"; pub const SC_AGGREGATE_STORAGE_KEY: &'static [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 SQL_CMP_NA_ERRORS: u32 = 1; pub const SQL_CMP_ROWS_AFFECTED: u32 = 2; pub const SQL_CMP_STMTS_COMPLETED: u32 = 3; pub const SQL_CMP_REF_INT_ROWS: u32 = 4; pub const SQL_CONNECT_DB_APP2DB_CONVFACTOR: u32 = 0; pub const SQL_CONNECT_DB_DB2APP_CONVFACTOR: u32 = 1; pub const SQL_CONNECT_DB_UPDATEABILITY_IN_UOW: u32 = 2; pub const SQL_CONNECT_DB_COMMIT_TYPE: u32 = 3; pub const SQL_DB_UPDATEABLE: u32 = 1; pub const SQL_DB_READ_ONLY: u32 = 2; pub const SQL_DB_ONE_PHASE_COMMIT: u32 = 1; pub const SQL_DB_ONE_PHASE_READ_ONLY: u32 = 2; pub const SQL_DB_TWO_PHASE_COMMIT: u32 = 3; pub const SQL_ERRD_NODE_NUM: u32 = 1; pub const DB2CLI_VER: u32 = 784; pub const SQL_MAX_MESSAGE_LENGTH: u32 = 1024; pub const SQL_MAX_ID_LENGTH: u32 = 128; pub const SQL_DATE_LEN: u32 = 10; pub const SQL_TIME_LEN: u32 = 8; pub const SQL_TIMESTAMP_LEN: u32 = 19; pub const SQL_TIMESTAMPTZ_LEN: u32 = 25; pub const SQL_HANDLE_ENV: u32 = 1; pub const SQL_HANDLE_DBC: u32 = 2; pub const SQL_HANDLE_STMT: u32 = 3; pub const SQL_HANDLE_DESC: u32 = 4; pub const SQL_SUCCESS: u32 = 0; pub const SQL_SUCCESS_WITH_INFO: u32 = 1; pub const SQL_NEED_DATA: u32 = 99; pub const SQL_NO_DATA: u32 = 100; pub const SQL_STILL_EXECUTING: u32 = 2; pub const SQL_ERROR: i32 = -1; pub const SQL_INVALID_HANDLE: i32 = -2; pub const SQL_CLOSE: u32 = 0; pub const SQL_DROP: u32 = 1; pub const SQL_UNBIND: u32 = 2; pub const SQL_RESET_PARAMS: u32 = 3; pub const SQL_COMMIT: u32 = 0; pub const SQL_ROLLBACK: u32 = 1; pub const SQL_UNKNOWN_TYPE: u32 = 0; pub const SQL_CHAR: u32 = 1; pub const SQL_NUMERIC: u32 = 2; pub const SQL_DECIMAL: u32 = 3; pub const SQL_INTEGER: u32 = 4; pub const SQL_SMALLINT: u32 = 5; pub const SQL_FLOAT: u32 = 6; pub const SQL_REAL: u32 = 7; pub const SQL_DOUBLE: u32 = 8; pub const SQL_DATETIME: u32 = 9; pub const SQL_VARCHAR: u32 = 12; pub const SQL_BOOLEAN: u32 = 16; pub const SQL_ROW: u32 = 19; pub const SQL_WCHAR: i32 = -8; pub const SQL_WVARCHAR: i32 = -9; pub const SQL_WLONGVARCHAR: i32 = -10; pub const SQL_DECFLOAT: i32 = -360; pub const SQL_TYPE_DATE: u32 = 91; pub const SQL_TYPE_TIME: u32 = 92; pub const SQL_TYPE_TIMESTAMP: u32 = 93; pub const SQL_TYPE_TIMESTAMP_WITH_TIMEZONE: u32 = 95; pub const SQL_UNSPECIFIED: u32 = 0; pub const SQL_INSENSITIVE: u32 = 1; pub const SQL_SENSITIVE: u32 = 2; pub const SQL_DEFAULT: u32 = 99; pub const SQL_ARD_TYPE: i32 = -99; pub const SQL_CODE_DATE: u32 = 1; pub const SQL_CODE_TIME: u32 = 2; pub const SQL_CODE_TIMESTAMP: u32 = 3; pub const SQL_CODE_TIMESTAMP_WITH_TIMEZONE: u32 = 4; pub const SQL_GRAPHIC: i32 = -95; pub const SQL_VARGRAPHIC: i32 = -96; pub const SQL_LONGVARGRAPHIC: i32 = -97; pub const SQL_BLOB: i32 = -98; pub const SQL_CLOB: i32 = -99; pub const SQL_DBCLOB: i32 = -350; pub const SQL_XML: i32 = -370; pub const SQL_CURSORHANDLE: i32 = -380; pub const SQL_DATALINK: i32 = -400; pub const SQL_USER_DEFINED_TYPE: i32 = -450; pub const SQL_C_DBCHAR: i32 = -350; pub const SQL_C_DECIMAL_IBM: u32 = 3; pub const SQL_C_PTR: u32 = 2463; pub const SQL_C_DECIMAL_OLEDB: u32 = 2514; pub const SQL_C_DECIMAL64: i32 = -360; pub const SQL_C_DECIMAL128: i32 = -361; pub const SQL_C_TIMESTAMP_EXT: i32 = -362; pub const SQL_C_TYPE_TIMESTAMP_EXT: i32 = -362; pub const SQL_C_BINARYXML: i32 = -363; pub const SQL_C_TIMESTAMP_EXT_TZ: i32 = -364; pub const SQL_C_TYPE_TIMESTAMP_EXT_TZ: i32 = -364; pub const SQL_C_CURSORHANDLE: i32 = -365; pub const SQL_BLOB_LOCATOR: u32 = 31; pub const SQL_CLOB_LOCATOR: u32 = 41; pub const SQL_DBCLOB_LOCATOR: i32 = -351; pub const SQL_C_BLOB_LOCATOR: u32 = 31; pub const SQL_C_CLOB_LOCATOR: u32 = 41; pub const SQL_C_DBCLOB_LOCATOR: i32 = -351; pub const SQL_NO_NULLS: u32 = 0; pub const SQL_NULLABLE: u32 = 1; pub const SQL_NULLABLE_UNKNOWN: u32 = 2; pub const SQL_NAMED: u32 = 0; pub const SQL_UNNAMED: u32 = 1; pub const SQL_DESC_ALLOC_AUTO: u32 = 1; pub const SQL_DESC_ALLOC_USER: u32 = 2; pub const SQL_TYPE_BASE: u32 = 0; pub const SQL_TYPE_DISTINCT: u32 = 1; pub const SQL_TYPE_STRUCTURED: u32 = 2; pub const SQL_TYPE_REFERENCE: u32 = 3; pub const SQL_NULL_DATA: i32 = -1; pub const SQL_DATA_AT_EXEC: i32 = -2; pub const SQL_NTS: i32 = -3; pub const SQL_NTSL: i32 = -3; pub const SQL_COLUMN_SCHEMA_NAME: u32 = 16; pub const SQL_COLUMN_CATALOG_NAME: u32 = 17; pub const SQL_COLUMN_DISTINCT_TYPE: u32 = 1250; pub const SQL_DESC_DISTINCT_TYPE: u32 = 1250; pub const SQL_COLUMN_REFERENCE_TYPE: u32 = 1251; pub const SQL_DESC_REFERENCE_TYPE: u32 = 1251; pub const SQL_DESC_STRUCTURED_TYPE: u32 = 1252; pub const SQL_DESC_USER_TYPE: u32 = 1253; pub const SQL_DESC_BASE_TYPE: u32 = 1254; pub const SQL_DESC_KEY_TYPE: u32 = 1255; pub const SQL_DESC_KEY_MEMBER: u32 = 1266; pub const SQL_DESC_IDENTITY_VALUE: u32 = 1267; pub const SQL_DESC_CODEPAGE: u32 = 1268; pub const SQL_DESC_COUNT: u32 = 1001; pub const SQL_DESC_TYPE: u32 = 1002; pub const SQL_DESC_LENGTH: u32 = 1003; pub const SQL_DESC_OCTET_LENGTH_PTR: u32 = 1004; pub const SQL_DESC_PRECISION: u32 = 1005; pub const SQL_DESC_SCALE: u32 = 1006; pub const SQL_DESC_DATETIME_INTERVAL_CODE: u32 = 1007; pub const SQL_DESC_NULLABLE: u32 = 1008; pub const SQL_DESC_INDICATOR_PTR: u32 = 1009; pub const SQL_DESC_DATA_PTR: u32 = 1010; pub const SQL_DESC_NAME: u32 = 1011; pub const SQL_DESC_UNNAMED: u32 = 1012; pub const SQL_DESC_OCTET_LENGTH: u32 = 1013; pub const SQL_DESC_ALLOC_TYPE: u32 = 1099; pub const SQL_DESC_USER_DEFINED_TYPE_CODE: u32 = 1098; pub const SQL_DESC_CARDINALITY: u32 = 1040; pub const SQL_DESC_CARDINALITY_PTR: u32 = 1043; pub const SQL_DESC_ROW_DESC: u32 = 1044; pub const SQL_KEYTYPE_NONE: u32 = 0; pub const SQL_KEYTYPE_PRIMARYKEY: u32 = 1; pub const SQL_KEYTYPE_UNIQUEINDEX: u32 = 2; pub const SQL_UPDT_READONLY: u32 = 0; pub const SQL_UPDT_WRITE: u32 = 1; pub const SQL_UPDT_READWRITE_UNKNOWN: u32 = 2; pub const SQL_PRED_NONE: u32 = 0; pub const SQL_PRED_CHAR: u32 = 1; pub const SQL_PRED_BASIC: u32 = 2; pub const SQL_NULL_HENV: u32 = 0; pub const SQL_NULL_HDBC: u32 = 0; pub const SQL_NULL_HSTMT: u32 = 0; pub const SQL_NULL_HDESC: u32 = 0; pub const SQL_NULL_HANDLE: u32 = 0; pub const SQL_DIAG_RETURNCODE: u32 = 1; pub const SQL_DIAG_NUMBER: u32 = 2; pub const SQL_DIAG_ROW_COUNT: u32 = 3; pub const SQL_DIAG_SQLSTATE: u32 = 4; pub const SQL_DIAG_NATIVE: u32 = 5; pub const SQL_DIAG_MESSAGE_TEXT: u32 = 6; pub const SQL_DIAG_DYNAMIC_FUNCTION: u32 = 7; pub const SQL_DIAG_CLASS_ORIGIN: u32 = 8; pub const SQL_DIAG_SUBCLASS_ORIGIN: u32 = 9; pub const SQL_DIAG_CONNECTION_NAME: u32 = 10; pub const SQL_DIAG_SERVER_NAME: u32 = 11; pub const SQL_DIAG_DYNAMIC_FUNCTION_CODE: u32 = 12; pub const SQL_DIAG_ISAM_ERROR: u32 = 13; pub const SQL_DIAG_SYSPLEX_STATISTICS: u32 = 2528; pub const SQL_DIAG_DB2ZLOAD_RETCODE: u32 = 2529; pub const SQL_DIAG_DB2ZLOAD_LOAD_MSGS: u32 = 2530; pub const SQL_DIAG_LOG_FILENAME: u32 = 2531; pub const SQL_DIAG_BAD_FILENAME: u32 = 2532; pub const SQL_DIAG_ALTER_TABLE: u32 = 4; pub const SQL_DIAG_CALL: u32 = 7; pub const SQL_DIAG_CREATE_INDEX: i32 = -1; pub const SQL_DIAG_CREATE_TABLE: u32 = 77; pub const SQL_DIAG_CREATE_VIEW: u32 = 84; pub const SQL_DIAG_DELETE_WHERE: u32 = 19; pub const SQL_DIAG_DROP_INDEX: i32 = -2; pub const SQL_DIAG_DROP_TABLE: u32 = 32; pub const SQL_DIAG_DROP_VIEW: u32 = 36; pub const SQL_DIAG_DYNAMIC_DELETE_CURSOR: u32 = 38; pub const SQL_DIAG_DYNAMIC_UPDATE_CURSOR: u32 = 81; pub const SQL_DIAG_GRANT: u32 = 48; pub const SQL_DIAG_INSERT: u32 = 50; pub const SQL_DIAG_MERGE: u32 = 128; pub const SQL_DIAG_REVOKE: u32 = 59; pub const SQL_DIAG_SELECT_CURSOR: u32 = 85; pub const SQL_DIAG_UNKNOWN_STATEMENT: u32 = 0; pub const SQL_DIAG_UPDATE_WHERE: u32 = 82; pub const SQL_DIAG_DEFERRED_PREPARE_ERROR: u32 = 1279; pub const SQL_ROW_NO_ROW_NUMBER: i32 = -1; pub const SQL_ROW_NUMBER_UNKNOWN: i32 = -2; pub const SQL_COLUMN_NO_COLUMN_NUMBER: i32 = -1; pub const SQL_COLUMN_NUMBER_UNKNOWN: i32 = -2; pub const SQL_MAX_C_NUMERIC_PRECISION: u32 = 38; pub const SQL_MAX_NUMERIC_LEN: u32 = 16; pub const SQL_DECIMAL64_LEN: u32 = 8; pub const SQL_DECIMAL128_LEN: u32 = 16; pub const ODBCVER: u32 = 896; pub const SQL_SPEC_MAJOR: u32 = 3; pub const SQL_SPEC_MINOR: u32 = 80; pub const SQL_SPEC_STRING: &'static [u8; 6usize] = b"03.80\0"; pub const SQL_SQLSTATE_SIZE: u32 = 5; pub const SQL_MAX_DSN_LENGTH: u32 = 32; pub const SQL_MAX_OPTION_STRING_LENGTH: u32 = 256; pub const SQL_NO_DATA_FOUND: u32 = 100; pub const SQL_HANDLE_SENV: u32 = 5; pub const SQL_ATTR_ODBC_VERSION: u32 = 200; pub const SQL_ATTR_CONNECTION_POOLING: u32 = 201; pub const SQL_ATTR_CP_MATCH: u32 = 202; pub const SQL_CP_OFF: u32 = 0; pub const SQL_CP_ONE_PER_DRIVER: u32 = 1; pub const SQL_CP_ONE_PER_HENV: u32 = 2; pub const SQL_CP_DEFAULT: u32 = 0; pub const SQL_CP_STRICT_MATCH: u32 = 0; pub const SQL_CP_RELAXED_MATCH: u32 = 1; pub const SQL_CP_MATCH_DEFAULT: u32 = 0; pub const SQL_OV_ODBC2: u32 = 2; pub const SQL_OV_ODBC3: u32 = 3; pub const SQL_OV_ODBC3_80: u32 = 380; pub const SQL_ACCESS_MODE: u32 = 101; pub const SQL_AUTOCOMMIT: u32 = 102; pub const SQL_LOGIN_TIMEOUT: u32 = 103; pub const SQL_OPT_TRACE: u32 = 104; pub const SQL_OPT_TRACEFILE: u32 = 105; pub const SQL_TRANSLATE_DLL: u32 = 106; pub const SQL_TRANSLATE_OPTION: u32 = 107; pub const SQL_TXN_ISOLATION: u32 = 108; pub const SQL_CURRENT_QUALIFIER: u32 = 109; pub const SQL_ODBC_CURSORS: u32 = 110; pub const SQL_QUIET_MODE: u32 = 111; pub const SQL_PACKET_SIZE: u32 = 112; pub const SQL_ATTR_ACCESS_MODE: u32 = 101; pub const SQL_ATTR_AUTOCOMMIT: u32 = 102; pub const SQL_ATTR_CONNECTION_TIMEOUT: u32 = 113; pub const SQL_ATTR_CURRENT_CATALOG: u32 = 109; pub const SQL_ATTR_DISCONNECT_BEHAVIOR: u32 = 114; pub const SQL_ATTR_ENLIST_IN_DTC: u32 = 1207; pub const SQL_ATTR_ENLIST_IN_XA: u32 = 1208; pub const SQL_ATTR_LOGIN_TIMEOUT: u32 = 103; pub const SQL_ATTR_ODBC_CURSORS: u32 = 110; pub const SQL_ATTR_PACKET_SIZE: u32 = 112; pub const SQL_ATTR_QUIET_MODE: u32 = 111; pub const SQL_ATTR_TRACE: u32 = 104; pub const SQL_ATTR_TRACEFILE: u32 = 105; pub const SQL_ATTR_TRANSLATE_LIB: u32 = 106; pub const SQL_ATTR_TRANSLATE_OPTION: u32 = 107; pub const SQL_ATTR_TXN_ISOLATION: u32 = 108; pub const SQL_ATTR_CONNECTION_DEAD: u32 = 1209; pub const SQL_ATTR_ANSI_APP: u32 = 115; pub const SQL_ATTR_RESET_CONNECTION: u32 = 116; pub const SQL_ATTR_ASYNC_DBC_FUNCTIONS_ENABLE: u32 = 117; pub const SQL_MODE_READ_WRITE: u32 = 0; pub const SQL_MODE_READ_ONLY: u32 = 1; pub const SQL_MODE_DEFAULT: u32 = 0; pub const SQL_AUTOCOMMIT_OFF: u32 = 0; pub const SQL_AUTOCOMMIT_ON: u32 = 1; pub const SQL_AUTOCOMMIT_DEFERRED: u32 = 2; pub const SQL_AUTOCOMMIT_DEFAULT: u32 = 1; pub const SQL_LOGIN_TIMEOUT_DEFAULT: u32 = 15; pub const SQL_OPT_TRACE_OFF: u32 = 0; pub const SQL_OPT_TRACE_ON: u32 = 1; pub const SQL_OPT_TRACE_DEFAULT: u32 = 0; pub const SQL_OPT_TRACE_FILE_DEFAULT: &'static [u8; 9usize] = b"\\SQL.LOG\0"; pub const SQL_CUR_USE_IF_NEEDED: u32 = 0; pub const SQL_CUR_USE_ODBC: u32 = 1; pub const SQL_CUR_USE_DRIVER: u32 = 2; pub const SQL_CUR_DEFAULT: u32 = 2; pub const SQL_DB_RETURN_TO_POOL: u32 = 0; pub const SQL_DB_DISCONNECT: u32 = 1; pub const SQL_DB_DEFAULT: u32 = 0; pub const SQL_DTC_DONE: u32 = 0; pub const SQL_CD_TRUE: u32 = 1; pub const SQL_CD_FALSE: u32 = 0; pub const SQL_AA_TRUE: u32 = 1; pub const SQL_AA_FALSE: u32 = 0; pub const SQL_RESET_CONNECTION_YES: u32 = 1; pub const SQL_ASYNC_DBC_ENABLE_ON: u32 = 1; pub const SQL_ASYNC_DBC_ENABLE_OFF: u32 = 0; pub const SQL_ASYNC_DBC_ENABLE_DEFAULT: u32 = 0; pub const SQL_QUERY_TIMEOUT: u32 = 0; pub const SQL_MAX_ROWS: u32 = 1; pub const SQL_NOSCAN: u32 = 2; pub const SQL_MAX_LENGTH: u32 = 3; pub const SQL_ASYNC_ENABLE: u32 = 4; pub const SQL_BIND_TYPE: u32 = 5; pub const SQL_CURSOR_TYPE: u32 = 6; pub const SQL_CONCURRENCY: u32 = 7; pub const SQL_KEYSET_SIZE: u32 = 8; pub const SQL_ROWSET_SIZE: u32 = 9; pub const SQL_SIMULATE_CURSOR: u32 = 10; pub const SQL_RETRIEVE_DATA: u32 = 11; pub const SQL_USE_BOOKMARKS: u32 = 12; pub const SQL_GET_BOOKMARK: u32 = 13; pub const SQL_ROW_NUMBER: u32 = 14; pub const SQL_ATTR_ASYNC_ENABLE: u32 = 4; pub const SQL_ATTR_CONCURRENCY: u32 = 7; pub const SQL_ATTR_CURSOR_TYPE: u32 = 6; pub const SQL_ATTR_ENABLE_AUTO_IPD: u32 = 15; pub const SQL_ATTR_FETCH_BOOKMARK_PTR: u32 = 16; pub const SQL_ATTR_KEYSET_SIZE: u32 = 8; pub const SQL_ATTR_MAX_LENGTH: u32 = 3; pub const SQL_ATTR_MAX_ROWS: u32 = 1; pub const SQL_ATTR_NOSCAN: u32 = 2; pub const SQL_ATTR_PARAM_BIND_OFFSET_PTR: u32 = 17; pub const SQL_ATTR_PARAM_BIND_TYPE: u32 = 18; pub const SQL_ATTR_PARAM_OPERATION_PTR: u32 = 19; pub const SQL_ATTR_PARAM_STATUS_PTR: u32 = 20; pub const SQL_ATTR_PARAMS_PROCESSED_PTR: u32 = 21; pub const SQL_ATTR_PARAMSET_SIZE: u32 = 22; pub const SQL_ATTR_QUERY_TIMEOUT: u32 = 0; pub const SQL_ATTR_RETRIEVE_DATA: u32 = 11; pub const SQL_ATTR_ROW_BIND_OFFSET_PTR: u32 = 23; pub const SQL_ATTR_ROW_BIND_TYPE: u32 = 5; pub const SQL_ATTR_ROW_NUMBER: u32 = 14; pub const SQL_ATTR_ROW_OPERATION_PTR: u32 = 24; pub const SQL_ATTR_ROW_STATUS_PTR: u32 = 25; pub const SQL_ATTR_ROWS_FETCHED_PTR: u32 = 26; pub const SQL_ATTR_ROW_ARRAY_SIZE: u32 = 27; pub const SQL_ATTR_SIMULATE_CURSOR: u32 = 10; pub const SQL_ATTR_USE_BOOKMARKS: u32 = 12; pub const SQL_IS_POINTER: i32 = -4; pub const SQL_IS_UINTEGER: i32 = -5; pub const SQL_IS_INTEGER: i32 = -6; pub const SQL_IS_USMALLINT: i32 = -7; pub const SQL_IS_SMALLINT: i32 = -8; pub const SQL_PARAM_BIND_BY_COLUMN: u32 = 0; pub const SQL_PARAM_BIND_TYPE_DEFAULT: u32 = 0; pub const SQL_QUERY_TIMEOUT_DEFAULT: u32 = 0; pub const SQL_MAX_ROWS_DEFAULT: u32 = 0; pub const SQL_NOSCAN_OFF: u32 = 0; pub const SQL_NOSCAN_ON: u32 = 1; pub const SQL_NOSCAN_DEFAULT: u32 = 0; pub const SQL_MAX_LENGTH_DEFAULT: u32 = 0; pub const SQL_ASYNC_ENABLE_OFF: u32 = 0; pub const SQL_ASYNC_ENABLE_ON: u32 = 1; pub const SQL_ASYNC_ENABLE_DEFAULT: u32 = 0; pub const SQL_BIND_BY_COLUMN: u32 = 0; pub const SQL_BIND_TYPE_DEFAULT: u32 = 0; pub const SQL_CONCUR_READ_ONLY: u32 = 1; pub const SQL_CONCUR_LOCK: u32 = 2; pub const SQL_CONCUR_ROWVER: u32 = 3; pub const SQL_CONCUR_VALUES: u32 = 4; pub const SQL_CONCUR_DEFAULT: u32 = 1; pub const SQL_CURSOR_FORWARD_ONLY: u32 = 0; pub const SQL_CURSOR_KEYSET_DRIVEN: u32 = 1; pub const SQL_CURSOR_DYNAMIC: u32 = 2; pub const SQL_CURSOR_STATIC: u32 = 3; pub const SQL_CURSOR_TYPE_DEFAULT: u32 = 0; pub const SQL_ROWSET_SIZE_DEFAULT: u32 = 1; pub const SQL_KEYSET_SIZE_DEFAULT: u32 = 0; pub const SQL_SC_NON_UNIQUE: u32 = 0; pub const SQL_SC_TRY_UNIQUE: u32 = 1; pub const SQL_SC_UNIQUE: u32 = 2; pub const SQL_RD_OFF: u32 = 0; pub const SQL_RD_ON: u32 = 1; pub const SQL_RD_DEFAULT: u32 = 1; pub const SQL_UB_OFF: u32 = 0; pub const SQL_UB_ON: u32 = 1; pub const SQL_UB_DEFAULT: u32 = 0; pub const SQL_UB_FIXED: u32 = 1; pub const SQL_UB_VARIABLE: u32 = 2; pub const SQL_DESC_ARRAY_SIZE: u32 = 20; pub const SQL_DESC_ARRAY_STATUS_PTR: u32 = 21; pub const SQL_DESC_BASE_COLUMN_NAME: u32 = 22; pub const SQL_DESC_BASE_TABLE_NAME: u32 = 23; pub const SQL_DESC_BIND_OFFSET_PTR: u32 = 24; pub const SQL_DESC_BIND_TYPE: u32 = 25; pub const SQL_DESC_DATETIME_INTERVAL_PRECISION: u32 = 26; pub const SQL_DESC_LITERAL_PREFIX: u32 = 27; pub const SQL_DESC_LITERAL_SUFFIX: u32 = 28; pub const SQL_DESC_LOCAL_TYPE_NAME: u32 = 29; pub const SQL_DESC_MAXIMUM_SCALE: u32 = 30; pub const SQL_DESC_MINIMUM_SCALE: u32 = 31; pub const SQL_DESC_NUM_PREC_RADIX: u32 = 32; pub const SQL_DESC_PARAMETER_TYPE: u32 = 33; pub const SQL_DESC_ROWS_PROCESSED_PTR: u32 = 34; pub const SQL_DESC_ROWVER: u32 = 35; pub const SQL_DIAG_CURSOR_ROW_COUNT: i32 = -1249; pub const SQL_DIAG_ROW_NUMBER: i32 = -1248; pub const SQL_DIAG_COLUMN_NUMBER: i32 = -1247; pub const SQL_DATE: u32 = 9; pub const SQL_INTERVAL: u32 = 10; pub const SQL_TIME: u32 = 10; pub const SQL_TIMESTAMP: u32 = 11; pub const SQL_LONGVARCHAR: i32 = -1; pub const SQL_BINARY: i32 = -2; pub const SQL_VARBINARY: i32 = -3; pub const SQL_LONGVARBINARY: i32 = -4; pub const SQL_BIGINT: i32 = -5; pub const SQL_TINYINT: i32 = -6; pub const SQL_BIT: i32 = -7; pub const SQL_GUID: i32 = -11; pub const SQL_CODE_YEAR: u32 = 1; pub const SQL_CODE_MONTH: u32 = 2; pub const SQL_CODE_DAY: u32 = 3; pub const SQL_CODE_HOUR: u32 = 4; pub const SQL_CODE_MINUTE: u32 = 5; pub const SQL_CODE_SECOND: u32 = 6; pub const SQL_CODE_YEAR_TO_MONTH: u32 = 7; pub const SQL_CODE_DAY_TO_HOUR: u32 = 8; pub const SQL_CODE_DAY_TO_MINUTE: u32 = 9; pub const SQL_CODE_DAY_TO_SECOND: u32 = 10; pub const SQL_CODE_HOUR_TO_MINUTE: u32 = 11; pub const SQL_CODE_HOUR_TO_SECOND: u32 = 12; pub const SQL_CODE_MINUTE_TO_SECOND: u32 = 13; pub const SQL_INTERVAL_YEAR: u32 = 101; pub const SQL_INTERVAL_MONTH: u32 = 102; pub const SQL_INTERVAL_DAY: u32 = 103; pub const SQL_INTERVAL_HOUR: u32 = 104; pub const SQL_INTERVAL_MINUTE: u32 = 105; pub const SQL_INTERVAL_SECOND: u32 = 106; pub const SQL_INTERVAL_YEAR_TO_MONTH: u32 = 107; pub const SQL_INTERVAL_DAY_TO_HOUR: u32 = 108; pub const SQL_INTERVAL_DAY_TO_MINUTE: u32 = 109; pub const SQL_INTERVAL_DAY_TO_SECOND: u32 = 110; pub const SQL_INTERVAL_HOUR_TO_MINUTE: u32 = 111; pub const SQL_INTERVAL_HOUR_TO_SECOND: u32 = 112; pub const SQL_INTERVAL_MINUTE_TO_SECOND: u32 = 113; pub const SQL_UNICODE: i32 = -8; pub const SQL_UNICODE_VARCHAR: i32 = -9; pub const SQL_UNICODE_LONGVARCHAR: i32 = -10; pub const SQL_UNICODE_CHAR: i32 = -8; pub const SQL_C_CHAR: u32 = 1; pub const SQL_C_LONG: u32 = 4; pub const SQL_C_SHORT: u32 = 5; pub const SQL_C_FLOAT: u32 = 7; pub const SQL_C_DOUBLE: u32 = 8; pub const SQL_C_NUMERIC: u32 = 2; pub const SQL_C_DEFAULT: u32 = 99; pub const SQL_SIGNED_OFFSET: i32 = -20; pub const SQL_UNSIGNED_OFFSET: i32 = -22; pub const SQL_C_DATE: u32 = 9; pub const SQL_C_TIME: u32 = 10; pub const SQL_C_TIMESTAMP: u32 = 11; pub const SQL_C_TYPE_DATE: u32 = 91; pub const SQL_C_TYPE_TIME: u32 = 92; pub const SQL_C_TYPE_TIMESTAMP: u32 = 93; pub const SQL_C_INTERVAL_YEAR: u32 = 101; pub const SQL_C_INTERVAL_MONTH: u32 = 102; pub const SQL_C_INTERVAL_DAY: u32 = 103; pub const SQL_C_INTERVAL_HOUR: u32 = 104; pub const SQL_C_INTERVAL_MINUTE: u32 = 105; pub const SQL_C_INTERVAL_SECOND: u32 = 106; pub const SQL_C_INTERVAL_YEAR_TO_MONTH: u32 = 107; pub const SQL_C_INTERVAL_DAY_TO_HOUR: u32 = 108; pub const SQL_C_INTERVAL_DAY_TO_MINUTE: u32 = 109; pub const SQL_C_INTERVAL_DAY_TO_SECOND: u32 = 110; pub const SQL_C_INTERVAL_HOUR_TO_MINUTE: u32 = 111; pub const SQL_C_INTERVAL_HOUR_TO_SECOND: u32 = 112; pub const SQL_C_INTERVAL_MINUTE_TO_SECOND: u32 = 113; pub const SQL_C_BINARY: i32 = -2; pub const SQL_C_BIT: i32 = -7; pub const SQL_C_SBIGINT: i32 = -25; pub const SQL_C_UBIGINT: i32 = -27; pub const SQL_C_TINYINT: i32 = -6; pub const SQL_C_SLONG: i32 = -16; pub const SQL_C_SSHORT: i32 = -15; pub const SQL_C_STINYINT: i32 = -26; pub const SQL_C_ULONG: i32 = -18; pub const SQL_C_USHORT: i32 = -17; pub const SQL_C_UTINYINT: i32 = -28; pub const SQL_C_BOOKMARK: i32 = -27; pub const SQL_C_GUID: i32 = -11; pub const SQL_TYPE_NULL: u32 = 0; pub const SQL_DRIVER_C_TYPE_BASE: u32 = 16384; pub const SQL_DRIVER_SQL_TYPE_BASE: u32 = 16384; pub const SQL_DRIVER_DESC_FIELD_BASE: u32 = 16384; pub const SQL_DRIVER_DIAG_FIELD_BASE: u32 = 16384; pub const SQL_DRIVER_INFO_TYPE_BASE: u32 = 16384; pub const SQL_DRIVER_CONN_ATTR_BASE: u32 = 16384; pub const SQL_DRIVER_STMT_ATTR_BASE: u32 = 16384; pub const SQL_C_VARBOOKMARK: i32 = -2; pub const SQL_NO_ROW_NUMBER: i32 = -1; pub const SQL_NO_COLUMN_NUMBER: i32 = -1; pub const SQL_DEFAULT_PARAM: i32 = -5; pub const SQL_IGNORE: i32 = -6; pub const SQL_COLUMN_IGNORE: i32 = -6; pub const SQL_LEN_DATA_AT_EXEC_OFFSET: i32 = -100; pub const SQL_LEN_BINARY_ATTR_OFFSET: i32 = -100; pub const SQL_SETPARAM_VALUE_MAX: i32 = -1; pub const SQL_COLUMN_COUNT: u32 = 0; pub const SQL_COLUMN_NAME: u32 = 1; pub const SQL_COLUMN_TYPE: u32 = 2; pub const SQL_COLUMN_LENGTH: u32 = 3; pub const SQL_COLUMN_PRECISION: u32 = 4; pub const SQL_COLUMN_SCALE: u32 = 5; pub const SQL_COLUMN_DISPLAY_SIZE: u32 = 6; pub const SQL_COLUMN_NULLABLE: u32 = 7; pub const SQL_COLUMN_UNSIGNED: u32 = 8; pub const SQL_COLUMN_MONEY: u32 = 9; pub const SQL_COLUMN_UPDATABLE: u32 = 10; pub const SQL_COLUMN_AUTO_INCREMENT: u32 = 11; pub const SQL_COLUMN_CASE_SENSITIVE: u32 = 12; pub const SQL_COLUMN_SEARCHABLE: u32 = 13; pub const SQL_COLUMN_TYPE_NAME: u32 = 14; pub const SQL_COLUMN_TABLE_NAME: u32 = 15; pub const SQL_COLUMN_OWNER_NAME: u32 = 16; pub const SQL_COLUMN_QUALIFIER_NAME: u32 = 17; pub const SQL_COLUMN_LABEL: u32 = 18; pub const SQL_COLATT_OPT_MAX: u32 = 18; pub const SQL_COLATT_OPT_MIN: u32 = 0; pub const SQL_ATTR_READONLY: u32 = 0; pub const SQL_ATTR_WRITE: u32 = 1; pub const SQL_ATTR_READWRITE_UNKNOWN: u32 = 2; pub const SQL_UNSEARCHABLE: u32 = 0; pub const SQL_LIKE_ONLY: u32 = 1; pub const SQL_ALL_EXCEPT_LIKE: u32 = 2; pub const SQL_SEARCHABLE: u32 = 3; pub const SQL_PRED_SEARCHABLE: u32 = 3; pub const SQL_NO_TOTAL: i32 = -4; pub const SQL_API_SQLALLOCHANDLESTD: u32 = 73; pub const SQL_API_SQLBULKOPERATIONS: u32 = 24; pub const SQL_API_SQLBINDPARAMETER: u32 = 72; pub const SQL_API_SQLBROWSECONNECT: u32 = 55; pub const SQL_API_SQLCOLATTRIBUTES: u32 = 6; pub const SQL_API_SQLCOLUMNPRIVILEGES: u32 = 56; pub const SQL_API_SQLDESCRIBEPARAM: u32 = 58; pub const SQL_API_SQLDRIVERCONNECT: u32 = 41; pub const SQL_API_SQLDRIVERS: u32 = 71; pub const SQL_API_SQLEXTENDEDFETCH: u32 = 59; pub const SQL_API_SQLFOREIGNKEYS: u32 = 60; pub const SQL_API_SQLMORERESULTS: u32 = 61; pub const SQL_API_SQLNATIVESQL: u32 = 62; pub const SQL_API_SQLNUMPARAMS: u32 = 63; pub const SQL_API_SQLPARAMOPTIONS: u32 = 64; pub const SQL_API_SQLPRIMARYKEYS: u32 = 65; pub const SQL_API_SQLPROCEDURECOLUMNS: u32 = 66; pub const SQL_API_SQLPROCEDURES: u32 = 67; pub const SQL_API_SQLSETPOS: u32 = 68; pub const SQL_API_SQLSETSCROLLOPTIONS: u32 = 69; pub const SQL_API_SQLTABLEPRIVILEGES: u32 = 70; pub const SQL_API_ALL_FUNCTIONS: u32 = 0; pub const SQL_API_LOADBYORDINAL: u32 = 199; pub const SQL_API_ODBC3_ALL_FUNCTIONS: u32 = 999; pub const SQL_API_ODBC3_ALL_FUNCTIONS_SIZE: u32 = 250; pub const SQL_INFO_FIRST: u32 = 0; pub const SQL_ACTIVE_CONNECTIONS: u32 = 0; pub const SQL_ACTIVE_STATEMENTS: u32 = 1; pub const SQL_DRIVER_HDBC: u32 = 3; pub const SQL_DRIVER_HENV: u32 = 4; pub const SQL_DRIVER_HSTMT: u32 = 5; pub const SQL_DRIVER_NAME: u32 = 6; pub const SQL_DRIVER_VER: u32 = 7; pub const SQL_ODBC_API_CONFORMANCE: u32 = 9; pub const SQL_ODBC_VER: u32 = 10; pub const SQL_ROW_UPDATES: u32 = 11; pub const SQL_ODBC_SAG_CLI_CONFORMANCE: u32 = 12; pub const SQL_ODBC_SQL_CONFORMANCE: u32 = 15; pub const SQL_PROCEDURES: u32 = 21; pub const SQL_CONCAT_NULL_BEHAVIOR: u32 = 22; pub const SQL_CURSOR_ROLLBACK_BEHAVIOR: u32 = 24; pub const SQL_EXPRESSIONS_IN_ORDERBY: u32 = 27; pub const SQL_MAX_OWNER_NAME_LEN: u32 = 32; pub const SQL_MAX_PROCEDURE_NAME_LEN: u32 = 33; pub const SQL_MAX_QUALIFIER_NAME_LEN: u32 = 34; pub const SQL_MULT_RESULT_SETS: u32 = 36; pub const SQL_MULTIPLE_ACTIVE_TXN: u32 = 37; pub const SQL_OUTER_JOINS: u32 = 38; pub const SQL_OWNER_TERM: u32 = 39; pub const SQL_PROCEDURE_TERM: u32 = 40; pub const SQL_QUALIFIER_NAME_SEPARATOR: u32 = 41; pub const SQL_QUALIFIER_TERM: u32 = 42; pub const SQL_SCROLL_OPTIONS: u32 = 44; pub const SQL_TABLE_TERM: u32 = 45; pub const SQL_CONVERT_FUNCTIONS: u32 = 48; pub const SQL_NUMERIC_FUNCTIONS: u32 = 49; pub const SQL_STRING_FUNCTIONS: u32 = 50; pub const SQL_SYSTEM_FUNCTIONS: u32 = 51; pub const SQL_TIMEDATE_FUNCTIONS: u32 = 52; pub const SQL_CONVERT_BIGINT: u32 = 53; pub const SQL_CONVERT_BINARY: u32 = 54; pub const SQL_CONVERT_BIT: u32 = 55; pub const SQL_CONVERT_CHAR: u32 = 56; pub const SQL_CONVERT_DATE: u32 = 57; pub const SQL_CONVERT_DECIMAL: u32 = 58; pub const SQL_CONVERT_DOUBLE: u32 = 59; pub const SQL_CONVERT_FLOAT: u32 = 60; pub const SQL_CONVERT_INTEGER: u32 = 61; pub const SQL_CONVERT_LONGVARCHAR: u32 = 62; pub const SQL_CONVERT_NUMERIC: u32 = 63; pub const SQL_CONVERT_REAL: u32 = 64; pub const SQL_CONVERT_SMALLINT: u32 = 65; pub const SQL_CONVERT_TIME: u32 = 66; pub const SQL_CONVERT_TIMESTAMP: u32 = 67; pub const SQL_CONVERT_TINYINT: u32 = 68; pub const SQL_CONVERT_VARBINARY: u32 = 69; pub const SQL_CONVERT_VARCHAR: u32 = 70; pub const SQL_CONVERT_LONGVARBINARY: u32 = 71; pub const SQL_ODBC_SQL_OPT_IEF: u32 = 73; pub const SQL_CORRELATION_NAME: u32 = 74; pub const SQL_NON_NULLABLE_COLUMNS: u32 = 75; pub const SQL_DRIVER_HLIB: u32 = 76; pub const SQL_DRIVER_ODBC_VER: u32 = 77; pub const SQL_LOCK_TYPES: u32 = 78; pub const SQL_POS_OPERATIONS: u32 = 79; pub const SQL_POSITIONED_STATEMENTS: u32 = 80; pub const SQL_BOOKMARK_PERSISTENCE: u32 = 82; pub const SQL_STATIC_SENSITIVITY: u32 = 83; pub const SQL_FILE_USAGE: u32 = 84; pub const SQL_COLUMN_ALIAS: u32 = 87; pub const SQL_GROUP_BY: u32 = 88; pub const SQL_KEYWORDS: u32 = 89; pub const SQL_OWNER_USAGE: u32 = 91; pub const SQL_QUALIFIER_USAGE: u32 = 92; pub const SQL_QUOTED_IDENTIFIER_CASE: u32 = 93; pub const SQL_SUBQUERIES: u32 = 95; pub const SQL_UNION: u32 = 96; pub const SQL_MAX_ROW_SIZE_INCLUDES_LONG: u32 = 103; pub const SQL_MAX_CHAR_LITERAL_LEN: u32 = 108; pub const SQL_TIMEDATE_ADD_INTERVALS: u32 = 109; pub const SQL_TIMEDATE_DIFF_INTERVALS: u32 = 110; pub const SQL_NEED_LONG_DATA_LEN: u32 = 111; pub const SQL_MAX_BINARY_LITERAL_LEN: u32 = 112; pub const SQL_LIKE_ESCAPE_CLAUSE: u32 = 113; pub const SQL_QUALIFIER_LOCATION: u32 = 114; pub const SQL_ACTIVE_ENVIRONMENTS: u32 = 116; pub const SQL_ALTER_DOMAIN: u32 = 117; pub const SQL_SQL_CONFORMANCE: u32 = 118; pub const SQL_DATETIME_LITERALS: u32 = 119; pub const SQL_ASYNC_MODE: u32 = 10021; pub const SQL_BATCH_ROW_COUNT: u32 = 120; pub const SQL_BATCH_SUPPORT: u32 = 121; pub const SQL_CATALOG_LOCATION: u32 = 114; pub const SQL_CATALOG_NAME_SEPARATOR: u32 = 41; pub const SQL_CATALOG_TERM: u32 = 42; pub const SQL_CATALOG_USAGE: u32 = 92; pub const SQL_CONVERT_WCHAR: u32 = 122; pub const SQL_CONVERT_INTERVAL_DAY_TIME: u32 = 123; pub const SQL_CONVERT_INTERVAL_YEAR_MONTH: u32 = 124; pub const SQL_CONVERT_WLONGVARCHAR: u32 = 125; pub const SQL_CONVERT_WVARCHAR: u32 = 126; pub const SQL_CREATE_ASSERTION: u32 = 127; pub const SQL_CREATE_CHARACTER_SET: u32 = 128; pub const SQL_CREATE_COLLATION: u32 = 129; pub const SQL_CREATE_DOMAIN: u32 = 130; pub const SQL_CREATE_SCHEMA: u32 = 131; pub const SQL_CREATE_TABLE: u32 = 132; pub const SQL_CREATE_TRANSLATION: u32 = 133; pub const SQL_CREATE_VIEW: u32 = 134; pub const SQL_DRIVER_HDESC: u32 = 135; pub const SQL_DROP_ASSERTION: u32 = 136; pub const SQL_DROP_CHARACTER_SET: u32 = 137; pub const SQL_DROP_COLLATION: u32 = 138; pub const SQL_DROP_DOMAIN: u32 = 139; pub const SQL_DROP_SCHEMA: u32 = 140; pub const SQL_DROP_TABLE: u32 = 141; pub const SQL_DROP_TRANSLATION: u32 = 142; pub const SQL_DROP_VIEW: u32 = 143; pub const SQL_DYNAMIC_CURSOR_ATTRIBUTES1: u32 = 144; pub const SQL_DYNAMIC_CURSOR_ATTRIBUTES2: u32 = 145; pub const SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1: u32 = 146; pub const SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2: u32 = 147; pub const SQL_INDEX_KEYWORDS: u32 = 148; pub const SQL_INFO_SCHEMA_VIEWS: u32 = 149; pub const SQL_KEYSET_CURSOR_ATTRIBUTES1: u32 = 150; pub const SQL_KEYSET_CURSOR_ATTRIBUTES2: u32 = 151; pub const SQL_MAX_ASYNC_CONCURRENT_STATEMENTS: u32 = 10022; pub const SQL_ODBC_INTERFACE_CONFORMANCE: u32 = 152; pub const SQL_PARAM_ARRAY_ROW_COUNTS: u32 = 153; pub const SQL_PARAM_ARRAY_SELECTS: u32 = 154; pub const SQL_SCHEMA_TERM: u32 = 39; pub const SQL_SCHEMA_USAGE: u32 = 91; pub const SQL_SQL92_DATETIME_FUNCTIONS: u32 = 155; pub const SQL_SQL92_FOREIGN_KEY_DELETE_RULE: u32 = 156; pub const SQL_SQL92_FOREIGN_KEY_UPDATE_RULE: u32 = 157; pub const SQL_SQL92_GRANT: u32 = 158; pub const SQL_SQL92_NUMERIC_VALUE_FUNCTIONS: u32 = 159; pub const SQL_SQL92_PREDICATES: u32 = 160; pub const SQL_SQL92_RELATIONAL_JOIN_OPERATORS: u32 = 161; pub const SQL_SQL92_REVOKE: u32 = 162; pub const SQL_SQL92_ROW_VALUE_CONSTRUCTOR: u32 = 163; pub const SQL_SQL92_STRING_FUNCTIONS: u32 = 164; pub const SQL_SQL92_VALUE_EXPRESSIONS: u32 = 165; pub const SQL_STANDARD_CLI_CONFORMANCE: u32 = 166; pub const SQL_STATIC_CURSOR_ATTRIBUTES1: u32 = 167; pub const SQL_STATIC_CURSOR_ATTRIBUTES2: u32 = 168; pub const SQL_AGGREGATE_FUNCTIONS: u32 = 169; pub const SQL_DDL_INDEX: u32 = 170; pub const SQL_DM_VER: u32 = 171; pub const SQL_INSERT_STATEMENT: u32 = 172; pub const SQL_CONVERT_GUID: u32 = 173; pub const SQL_UNION_STATEMENT: u32 = 96; pub const SQL_ASYNC_DBC_FUNCTIONS: u32 = 10023; pub const SQL_DTC_TRANSITION_COST: u32 = 1750; pub const SQL_AT_ADD_COLUMN_SINGLE: u32 = 32; pub const SQL_AT_ADD_COLUMN_DEFAULT: u32 = 64; pub const SQL_AT_ADD_COLUMN_COLLATION: u32 = 128; pub const SQL_AT_SET_COLUMN_DEFAULT: u32 = 256; pub const SQL_AT_DROP_COLUMN_DEFAULT: u32 = 512; pub const SQL_AT_DROP_COLUMN_CASCADE: u32 = 1024; pub const SQL_AT_DROP_COLUMN_RESTRICT: u32 = 2048; pub const SQL_AT_ADD_TABLE_CONSTRAINT: u32 = 4096; pub const SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE: u32 = 8192; pub const SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT: u32 = 16384; pub const SQL_AT_CONSTRAINT_NAME_DEFINITION: u32 = 32768; pub const SQL_AT_CONSTRAINT_INITIALLY_DEFERRED: u32 = 65536; pub const SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE: u32 = 131072; pub const SQL_AT_CONSTRAINT_DEFERRABLE: u32 = 262144; pub const SQL_AT_CONSTRAINT_NON_DEFERRABLE: u32 = 524288; pub const SQL_CVT_CHAR: u32 = 1; pub const SQL_CVT_NUMERIC: u32 = 2; pub const SQL_CVT_DECIMAL: u32 = 4; pub const SQL_CVT_INTEGER: u32 = 8; pub const SQL_CVT_SMALLINT: u32 = 16; pub const SQL_CVT_FLOAT: u32 = 32; pub const SQL_CVT_REAL: u32 = 64; pub const SQL_CVT_DOUBLE: u32 = 128; pub const SQL_CVT_VARCHAR: u32 = 256; pub const SQL_CVT_LONGVARCHAR: u32 = 512; pub const SQL_CVT_BINARY: u32 = 1024; pub const SQL_CVT_VARBINARY: u32 = 2048; pub const SQL_CVT_BIT: u32 = 4096; pub const SQL_CVT_TINYINT: u32 = 8192; pub const SQL_CVT_BIGINT: u32 = 16384; pub const SQL_CVT_DATE: u32 = 32768; pub const SQL_CVT_TIME: u32 = 65536; pub const SQL_CVT_TIMESTAMP: u32 = 131072; pub const SQL_CVT_LONGVARBINARY: u32 = 262144; pub const SQL_CVT_INTERVAL_YEAR_MONTH: u32 = 524288; pub const SQL_CVT_INTERVAL_DAY_TIME: u32 = 1048576; pub const SQL_CVT_WCHAR: u32 = 2097152; pub const SQL_CVT_WLONGVARCHAR: u32 = 4194304; pub const SQL_CVT_WVARCHAR: u32 = 8388608; pub const SQL_CVT_GUID: u32 = 16777216; pub const SQL_FN_CVT_CONVERT: u32 = 1; pub const SQL_FN_CVT_CAST: u32 = 2; pub const SQL_FN_STR_CONCAT: u32 = 1; pub const SQL_FN_STR_INSERT: u32 = 2; pub const SQL_FN_STR_LEFT: u32 = 4; pub const SQL_FN_STR_LTRIM: u32 = 8; pub const SQL_FN_STR_LENGTH: u32 = 16; pub const SQL_FN_STR_LOCATE: u32 = 32; pub const SQL_FN_STR_LCASE: u32 = 64; pub const SQL_FN_STR_REPEAT: u32 = 128; pub const SQL_FN_STR_REPLACE: u32 = 256; pub const SQL_FN_STR_RIGHT: u32 = 512; pub const SQL_FN_STR_RTRIM: u32 = 1024; pub const SQL_FN_STR_SUBSTRING: u32 = 2048; pub const SQL_FN_STR_UCASE: u32 = 4096; pub const SQL_FN_STR_ASCII: u32 = 8192; pub const SQL_FN_STR_CHAR: u32 = 16384; pub const SQL_FN_STR_DIFFERENCE: u32 = 32768; pub const SQL_FN_STR_LOCATE_2: u32 = 65536; pub const SQL_FN_STR_SOUNDEX: u32 = 131072; pub const SQL_FN_STR_SPACE: u32 = 262144; pub const SQL_FN_STR_BIT_LENGTH: u32 = 524288; pub const SQL_FN_STR_CHAR_LENGTH: u32 = 1048576; pub const SQL_FN_STR_CHARACTER_LENGTH: u32 = 2097152; pub const SQL_FN_STR_OCTET_LENGTH: u32 = 4194304; pub const SQL_FN_STR_POSITION: u32 = 8388608; pub const SQL_SSF_CONVERT: u32 = 1; pub const SQL_SSF_LOWER: u32 = 2; pub const SQL_SSF_UPPER: u32 = 4; pub const SQL_SSF_SUBSTRING: u32 = 8; pub const SQL_SSF_TRANSLATE: u32 = 16; pub const SQL_SSF_TRIM_BOTH: u32 = 32; pub const SQL_SSF_TRIM_LEADING: u32 = 64; pub const SQL_SSF_TRIM_TRAILING: u32 = 128; pub const SQL_FN_NUM_ABS: u32 = 1; pub const SQL_FN_NUM_ACOS: u32 = 2; pub const SQL_FN_NUM_ASIN: u32 = 4; pub const SQL_FN_NUM_ATAN: u32 = 8; pub const SQL_FN_NUM_ATAN2: u32 = 16; pub const SQL_FN_NUM_CEILING: u32 = 32; pub const SQL_FN_NUM_COS: u32 = 64; pub const SQL_FN_NUM_COT: u32 = 128; pub const SQL_FN_NUM_EXP: u32 = 256; pub const SQL_FN_NUM_FLOOR: u32 = 512; pub const SQL_FN_NUM_LOG: u32 = 1024; pub const SQL_FN_NUM_MOD: u32 = 2048; pub const SQL_FN_NUM_SIGN: u32 = 4096; pub const SQL_FN_NUM_SIN: u32 = 8192; pub const SQL_FN_NUM_SQRT: u32 = 16384; pub const SQL_FN_NUM_TAN: u32 = 32768; pub const SQL_FN_NUM_PI: u32 = 65536; pub const SQL_FN_NUM_RAND: u32 = 131072; pub const SQL_FN_NUM_DEGREES: u32 = 262144; pub const SQL_FN_NUM_LOG10: u32 = 524288; pub const SQL_FN_NUM_POWER: u32 = 1048576; pub const SQL_FN_NUM_RADIANS: u32 = 2097152; pub const SQL_FN_NUM_ROUND: u32 = 4194304; pub const SQL_FN_NUM_TRUNCATE: u32 = 8388608; pub const SQL_SNVF_BIT_LENGTH: u32 = 1; pub const SQL_SNVF_CHAR_LENGTH: u32 = 2; pub const SQL_SNVF_CHARACTER_LENGTH: u32 = 4; pub const SQL_SNVF_EXTRACT: u32 = 8; pub const SQL_SNVF_OCTET_LENGTH: u32 = 16; pub const SQL_SNVF_POSITION: u32 = 32; pub const SQL_FN_TD_NOW: u32 = 1; pub const SQL_FN_TD_CURDATE: u32 = 2; pub const SQL_FN_TD_DAYOFMONTH: u32 = 4; pub const SQL_FN_TD_DAYOFWEEK: u32 = 8; pub const SQL_FN_TD_DAYOFYEAR: u32 = 16; pub const SQL_FN_TD_MONTH: u32 = 32; pub const SQL_FN_TD_QUARTER: u32 = 64; pub const SQL_FN_TD_WEEK: u32 = 128; pub const SQL_FN_TD_YEAR: u32 = 256; pub const SQL_FN_TD_CURTIME: u32 = 512; pub const SQL_FN_TD_HOUR: u32 = 1024; pub const SQL_FN_TD_MINUTE: u32 = 2048; pub const SQL_FN_TD_SECOND: u32 = 4096; pub const SQL_FN_TD_TIMESTAMPADD: u32 = 8192; pub const SQL_FN_TD_TIMESTAMPDIFF: u32 = 16384; pub const SQL_FN_TD_DAYNAME: u32 = 32768; pub const SQL_FN_TD_MONTHNAME: u32 = 65536; pub const SQL_FN_TD_CURRENT_DATE: u32 = 131072; pub const SQL_FN_TD_CURRENT_TIME: u32 = 262144; pub const SQL_FN_TD_CURRENT_TIMESTAMP: u32 = 524288; pub const SQL_FN_TD_EXTRACT: u32 = 1048576; pub const SQL_SDF_CURRENT_DATE: u32 = 1; pub const SQL_SDF_CURRENT_TIME: u32 = 2; pub const SQL_SDF_CURRENT_TIMESTAMP: u32 = 4; pub const SQL_FN_SYS_USERNAME: u32 = 1; pub const SQL_FN_SYS_DBNAME: u32 = 2; pub const SQL_FN_SYS_IFNULL: u32 = 4; pub const SQL_FN_TSI_FRAC_SECOND: u32 = 1; pub const SQL_FN_TSI_SECOND: u32 = 2; pub const SQL_FN_TSI_MINUTE: u32 = 4; pub const SQL_FN_TSI_HOUR: u32 = 8; pub const SQL_FN_TSI_DAY: u32 = 16; pub const SQL_FN_TSI_WEEK: u32 = 32; pub const SQL_FN_TSI_MONTH: u32 = 64; pub const SQL_FN_TSI_QUARTER: u32 = 128; pub const SQL_FN_TSI_YEAR: u32 = 256; pub const SQL_CA1_NEXT: u32 = 1; pub const SQL_CA1_ABSOLUTE: u32 = 2; pub const SQL_CA1_RELATIVE: u32 = 4; pub const SQL_CA1_BOOKMARK: u32 = 8; pub const SQL_CA1_LOCK_NO_CHANGE: u32 = 64; pub const SQL_CA1_LOCK_EXCLUSIVE: u32 = 128; pub const SQL_CA1_LOCK_UNLOCK: u32 = 256; pub const SQL_CA1_POS_POSITION: u32 = 512; pub const SQL_CA1_POS_UPDATE: u32 = 1024; pub const SQL_CA1_POS_DELETE: u32 = 2048; pub const SQL_CA1_POS_REFRESH: u32 = 4096; pub const SQL_CA1_POSITIONED_UPDATE: u32 = 8192; pub const SQL_CA1_POSITIONED_DELETE: u32 = 16384; pub const SQL_CA1_SELECT_FOR_UPDATE: u32 = 32768; pub const SQL_CA1_BULK_ADD: u32 = 65536; pub const SQL_CA1_BULK_UPDATE_BY_BOOKMARK: u32 = 131072; pub const SQL_CA1_BULK_DELETE_BY_BOOKMARK: u32 = 262144; pub const SQL_CA1_BULK_FETCH_BY_BOOKMARK: u32 = 524288; pub const SQL_CA2_READ_ONLY_CONCURRENCY: u32 = 1; pub const SQL_CA2_LOCK_CONCURRENCY: u32 = 2; pub const SQL_CA2_OPT_ROWVER_CONCURRENCY: u32 = 4; pub const SQL_CA2_OPT_VALUES_CONCURRENCY: u32 = 8; pub const SQL_CA2_SENSITIVITY_ADDITIONS: u32 = 16; pub const SQL_CA2_SENSITIVITY_DELETIONS: u32 = 32; pub const SQL_CA2_SENSITIVITY_UPDATES: u32 = 64; pub const SQL_CA2_MAX_ROWS_SELECT: u32 = 128; pub const SQL_CA2_MAX_ROWS_INSERT: u32 = 256; pub const SQL_CA2_MAX_ROWS_DELETE: u32 = 512; pub const SQL_CA2_MAX_ROWS_UPDATE: u32 = 1024; pub const SQL_CA2_MAX_ROWS_CATALOG: u32 = 2048; pub const SQL_CA2_MAX_ROWS_AFFECTS_ALL: u32 = 3968; pub const SQL_CA2_CRC_EXACT: u32 = 4096; pub const SQL_CA2_CRC_APPROXIMATE: u32 = 8192; pub const SQL_CA2_SIMULATE_NON_UNIQUE: u32 = 16384; pub const SQL_CA2_SIMULATE_TRY_UNIQUE: u32 = 32768; pub const SQL_CA2_SIMULATE_UNIQUE: u32 = 65536; pub const SQL_OAC_NONE: u32 = 0; pub const SQL_OAC_LEVEL1: u32 = 1; pub const SQL_OAC_LEVEL2: u32 = 2; pub const SQL_OSCC_NOT_COMPLIANT: u32 = 0; pub const SQL_OSCC_COMPLIANT: u32 = 1; pub const SQL_OSC_MINIMUM: u32 = 0; pub const SQL_OSC_CORE: u32 = 1; pub const SQL_OSC_EXTENDED: u32 = 2; pub const SQL_CB_NULL: u32 = 0; pub const SQL_CB_NON_NULL: u32 = 1; pub const SQL_SO_FORWARD_ONLY: u32 = 1; pub const SQL_SO_KEYSET_DRIVEN: u32 = 2; pub const SQL_SO_DYNAMIC: u32 = 4; pub const SQL_SO_MIXED: u32 = 8; pub const SQL_SO_STATIC: u32 = 16; pub const SQL_FD_FETCH_BOOKMARK: u32 = 128; pub const SQL_CN_NONE: u32 = 0; pub const SQL_CN_DIFFERENT: u32 = 1; pub const SQL_CN_ANY: u32 = 2; pub const SQL_NNC_NULL: u32 = 0; pub const SQL_NNC_NON_NULL: u32 = 1; pub const SQL_NC_START: u32 = 2; pub const SQL_NC_END: u32 = 4; pub const SQL_FILE_NOT_SUPPORTED: u32 = 0; pub const SQL_FILE_TABLE: u32 = 1; pub const SQL_FILE_QUALIFIER: u32 = 2; pub const SQL_FILE_CATALOG: u32 = 2; pub const SQL_GD_BLOCK: u32 = 4; pub const SQL_GD_BOUND: u32 = 8; pub const SQL_GD_OUTPUT_PARAMS: u32 = 16; pub const SQL_PS_POSITIONED_DELETE: u32 = 1; pub const SQL_PS_POSITIONED_UPDATE: u32 = 2; pub const SQL_PS_SELECT_FOR_UPDATE: u32 = 4; pub const SQL_GB_NOT_SUPPORTED: u32 = 0; pub const SQL_GB_GROUP_BY_EQUALS_SELECT: u32 = 1; pub const SQL_GB_GROUP_BY_CONTAINS_SELECT: u32 = 2; pub const SQL_GB_NO_RELATION: u32 = 3; pub const SQL_GB_COLLATE: u32 = 4; pub const SQL_OU_DML_STATEMENTS: u32 = 1; pub const SQL_OU_PROCEDURE_INVOCATION: u32 = 2; pub const SQL_OU_TABLE_DEFINITION: u32 = 4; pub const SQL_OU_INDEX_DEFINITION: u32 = 8; pub const SQL_OU_PRIVILEGE_DEFINITION: u32 = 16; pub const SQL_SU_DML_STATEMENTS: u32 = 1; pub const SQL_SU_PROCEDURE_INVOCATION: u32 = 2; pub const SQL_SU_TABLE_DEFINITION: u32 = 4; pub const SQL_SU_INDEX_DEFINITION: u32 = 8; pub const SQL_SU_PRIVILEGE_DEFINITION: u32 = 16; pub const SQL_QU_DML_STATEMENTS: u32 = 1; pub const SQL_QU_PROCEDURE_INVOCATION: u32 = 2; pub const SQL_QU_TABLE_DEFINITION: u32 = 4; pub const SQL_QU_INDEX_DEFINITION: u32 = 8; pub const SQL_QU_PRIVILEGE_DEFINITION: u32 = 16; pub const SQL_CU_DML_STATEMENTS: u32 = 1; pub const SQL_CU_PROCEDURE_INVOCATION: u32 = 2; pub const SQL_CU_TABLE_DEFINITION: u32 = 4; pub const SQL_CU_INDEX_DEFINITION: u32 = 8; pub const SQL_CU_PRIVILEGE_DEFINITION: u32 = 16; pub const SQL_SQ_COMPARISON: u32 = 1; pub const SQL_SQ_EXISTS: u32 = 2; pub const SQL_SQ_IN: u32 = 4; pub const SQL_SQ_QUANTIFIED: u32 = 8; pub const SQL_SQ_CORRELATED_SUBQUERIES: u32 = 16; pub const SQL_U_UNION: u32 = 1; pub const SQL_U_UNION_ALL: u32 = 2; pub const SQL_BP_CLOSE: u32 = 1; pub const SQL_BP_DELETE: u32 = 2; pub const SQL_BP_DROP: u32 = 4; pub const SQL_BP_TRANSACTION: u32 = 8; pub const SQL_BP_UPDATE: u32 = 16; pub const SQL_BP_OTHER_HSTMT: u32 = 32; pub const SQL_BP_SCROLL: u32 = 64; pub const SQL_SS_ADDITIONS: u32 = 1; pub const SQL_SS_DELETIONS: u32 = 2; pub const SQL_SS_UPDATES: u32 = 4; pub const SQL_CV_CREATE_VIEW: u32 = 1; pub const SQL_CV_CHECK_OPTION: u32 = 2; pub const SQL_CV_CASCADED: u32 = 4; pub const SQL_CV_LOCAL: u32 = 8; pub const SQL_LCK_NO_CHANGE: u32 = 1; pub const SQL_LCK_EXCLUSIVE: u32 = 2; pub const SQL_LCK_UNLOCK: u32 = 4; pub const SQL_POS_POSITION: u32 = 1; pub const SQL_POS_REFRESH: u32 = 2; pub const SQL_POS_UPDATE: u32 = 4; pub const SQL_POS_DELETE: u32 = 8; pub const SQL_POS_ADD: u32 = 16; pub const SQL_QL_START: u32 = 1; pub const SQL_QL_END: u32 = 2; pub const SQL_AF_AVG: u32 = 1; pub const SQL_AF_COUNT: u32 = 2; pub const SQL_AF_MAX: u32 = 4; pub const SQL_AF_MIN: u32 = 8; pub const SQL_AF_SUM: u32 = 16; pub const SQL_AF_DISTINCT: u32 = 32; pub const SQL_AF_ALL: u32 = 64; pub const SQL_SC_SQL92_ENTRY: u32 = 1; pub const SQL_SC_FIPS127_2_TRANSITIONAL: u32 = 2; pub const SQL_SC_SQL92_INTERMEDIATE: u32 = 4; pub const SQL_SC_SQL92_FULL: u32 = 8; pub const SQL_DL_SQL92_DATE: u32 = 1; pub const SQL_DL_SQL92_TIME: u32 = 2; pub const SQL_DL_SQL92_TIMESTAMP: u32 = 4; pub const SQL_DL_SQL92_INTERVAL_YEAR: u32 = 8; pub const SQL_DL_SQL92_INTERVAL_MONTH: u32 = 16; pub const SQL_DL_SQL92_INTERVAL_DAY: u32 = 32; pub const SQL_DL_SQL92_INTERVAL_HOUR: u32 = 64; pub const SQL_DL_SQL92_INTERVAL_MINUTE: u32 = 128; pub const SQL_DL_SQL92_INTERVAL_SECOND: u32 = 256; pub const SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH: u32 = 512; pub const SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR: u32 = 1024; pub const SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE: u32 = 2048; pub const SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND: u32 = 4096; pub const SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE: u32 = 8192; pub const SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND: u32 = 16384; pub const SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND: u32 = 32768; pub const SQL_CL_START: u32 = 1; pub const SQL_CL_END: u32 = 2; pub const SQL_BRC_PROCEDURES: u32 = 1; pub const SQL_BRC_EXPLICIT: u32 = 2; pub const SQL_BRC_ROLLED_UP: u32 = 4; pub const SQL_BS_SELECT_EXPLICIT: u32 = 1; pub const SQL_BS_ROW_COUNT_EXPLICIT: u32 = 2; pub const SQL_BS_SELECT_PROC: u32 = 4; pub const SQL_BS_ROW_COUNT_PROC: u32 = 8; pub const SQL_PARC_BATCH: u32 = 1; pub const SQL_PARC_NO_BATCH: u32 = 2; pub const SQL_PAS_BATCH: u32 = 1; pub const SQL_PAS_NO_BATCH: u32 = 2; pub const SQL_PAS_NO_SELECT: u32 = 3; pub const SQL_IK_NONE: u32 = 0; pub const SQL_IK_ASC: u32 = 1; pub const SQL_IK_DESC: u32 = 2; pub const SQL_IK_ALL: u32 = 3; pub const SQL_ISV_ASSERTIONS: u32 = 1; pub const SQL_ISV_CHARACTER_SETS: u32 = 2; pub const SQL_ISV_CHECK_CONSTRAINTS: u32 = 4; pub const SQL_ISV_COLLATIONS: u32 = 8; pub const SQL_ISV_COLUMN_DOMAIN_USAGE: u32 = 16; pub const SQL_ISV_COLUMN_PRIVILEGES: u32 = 32; pub const SQL_ISV_COLUMNS: u32 = 64; pub const SQL_ISV_CONSTRAINT_COLUMN_USAGE: u32 = 128; pub const SQL_ISV_CONSTRAINT_TABLE_USAGE: u32 = 256; pub const SQL_ISV_DOMAIN_CONSTRAINTS: u32 = 512; pub const SQL_ISV_DOMAINS: u32 = 1024; pub const SQL_ISV_KEY_COLUMN_USAGE: u32 = 2048; pub const SQL_ISV_REFERENTIAL_CONSTRAINTS: u32 = 4096; pub const SQL_ISV_SCHEMATA: u32 = 8192; pub const SQL_ISV_SQL_LANGUAGES: u32 = 16384; pub const SQL_ISV_TABLE_CONSTRAINTS: u32 = 32768; pub const SQL_ISV_TABLE_PRIVILEGES: u32 = 65536; pub const SQL_ISV_TABLES: u32 = 131072; pub const SQL_ISV_TRANSLATIONS: u32 = 262144; pub const SQL_ISV_USAGE_PRIVILEGES: u32 = 524288; pub const SQL_ISV_VIEW_COLUMN_USAGE: u32 = 1048576; pub const SQL_ISV_VIEW_TABLE_USAGE: u32 = 2097152; pub const SQL_ISV_VIEWS: u32 = 4194304; pub const SQL_AM_NONE: u32 = 0; pub const SQL_AM_CONNECTION: u32 = 1; pub const SQL_AM_STATEMENT: u32 = 2; pub const SQL_AD_CONSTRAINT_NAME_DEFINITION: u32 = 1; pub const SQL_AD_ADD_DOMAIN_CONSTRAINT: u32 = 2; pub const SQL_AD_DROP_DOMAIN_CONSTRAINT: u32 = 4; pub const SQL_AD_ADD_DOMAIN_DEFAULT: u32 = 8; pub const SQL_AD_DROP_DOMAIN_DEFAULT: u32 = 16; pub const SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED: u32 = 32; pub const SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE: u32 = 64; pub const SQL_AD_ADD_CONSTRAINT_DEFERRABLE: u32 = 128; pub const SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE: u32 = 256; pub const SQL_CS_CREATE_SCHEMA: u32 = 1; pub const SQL_CS_AUTHORIZATION: u32 = 2; pub const SQL_CS_DEFAULT_CHARACTER_SET: u32 = 4; pub const SQL_CTR_CREATE_TRANSLATION: u32 = 1; pub const SQL_CA_CREATE_ASSERTION: u32 = 1; pub const SQL_CA_CONSTRAINT_INITIALLY_DEFERRED: u32 = 16; pub const SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE: u32 = 32; pub const SQL_CA_CONSTRAINT_DEFERRABLE: u32 = 64; pub const SQL_CA_CONSTRAINT_NON_DEFERRABLE: u32 = 128; pub const SQL_CCS_CREATE_CHARACTER_SET: u32 = 1; pub const SQL_CCS_COLLATE_CLAUSE: u32 = 2; pub const SQL_CCS_LIMITED_COLLATION: u32 = 4; pub const SQL_CCOL_CREATE_COLLATION: u32 = 1; pub const SQL_CDO_CREATE_DOMAIN: u32 = 1; pub const SQL_CDO_DEFAULT: u32 = 2; pub const SQL_CDO_CONSTRAINT: u32 = 4; pub const SQL_CDO_COLLATION: u32 = 8; pub const SQL_CDO_CONSTRAINT_NAME_DEFINITION: u32 = 16; pub const SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED: u32 = 32; pub const SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE: u32 = 64; pub const SQL_CDO_CONSTRAINT_DEFERRABLE: u32 = 128; pub const SQL_CDO_CONSTRAINT_NON_DEFERRABLE: u32 = 256; pub const SQL_CT_CREATE_TABLE: u32 = 1; pub const SQL_CT_COMMIT_PRESERVE: u32 = 2; pub const SQL_CT_COMMIT_DELETE: u32 = 4; pub const SQL_CT_GLOBAL_TEMPORARY: u32 = 8; pub const SQL_CT_LOCAL_TEMPORARY: u32 = 16; pub const SQL_CT_CONSTRAINT_INITIALLY_DEFERRED: u32 = 32; pub const SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE: u32 = 64; pub const SQL_CT_CONSTRAINT_DEFERRABLE: u32 = 128; pub const SQL_CT_CONSTRAINT_NON_DEFERRABLE: u32 = 256; pub const SQL_CT_COLUMN_CONSTRAINT: u32 = 512; pub const SQL_CT_COLUMN_DEFAULT: u32 = 1024; pub const SQL_CT_COLUMN_COLLATION: u32 = 2048; pub const SQL_CT_TABLE_CONSTRAINT: u32 = 4096; pub const SQL_CT_CONSTRAINT_NAME_DEFINITION: u32 = 8192; pub const SQL_DI_CREATE_INDEX: u32 = 1; pub const SQL_DI_DROP_INDEX: u32 = 2; pub const SQL_DC_DROP_COLLATION: u32 = 1; pub const SQL_DD_DROP_DOMAIN: u32 = 1; pub const SQL_DD_RESTRICT: u32 = 2; pub const SQL_DD_CASCADE: u32 = 4; pub const SQL_DS_DROP_SCHEMA: u32 = 1; pub const SQL_DS_RESTRICT: u32 = 2; pub const SQL_DS_CASCADE: u32 = 4; pub const SQL_DCS_DROP_CHARACTER_SET: u32 = 1; pub const SQL_DA_DROP_ASSERTION: u32 = 1; pub const SQL_DT_DROP_TABLE: u32 = 1; pub const SQL_DT_RESTRICT: u32 = 2; pub const SQL_DT_CASCADE: u32 = 4; pub const SQL_DTR_DROP_TRANSLATION: u32 = 1; pub const SQL_DV_DROP_VIEW: u32 = 1; pub const SQL_DV_RESTRICT: u32 = 2; pub const SQL_DV_CASCADE: u32 = 4; pub const SQL_IS_INSERT_LITERALS: u32 = 1; pub const SQL_IS_INSERT_SEARCHED: u32 = 2; pub const SQL_IS_SELECT_INTO: u32 = 4; pub const SQL_OIC_CORE: u32 = 1; pub const SQL_OIC_LEVEL1: u32 = 2; pub const SQL_OIC_LEVEL2: u32 = 3; pub const SQL_SFKD_CASCADE: u32 = 1; pub const SQL_SFKD_NO_ACTION: u32 = 2; pub const SQL_SFKD_SET_DEFAULT: u32 = 4; pub const SQL_SFKD_SET_NULL: u32 = 8; pub const SQL_SFKU_CASCADE: u32 = 1; pub const SQL_SFKU_NO_ACTION: u32 = 2; pub const SQL_SFKU_SET_DEFAULT: u32 = 4; pub const SQL_SFKU_SET_NULL: u32 = 8; pub const SQL_SG_USAGE_ON_DOMAIN: u32 = 1; pub const SQL_SG_USAGE_ON_CHARACTER_SET: u32 = 2; pub const SQL_SG_USAGE_ON_COLLATION: u32 = 4; pub const SQL_SG_USAGE_ON_TRANSLATION: u32 = 8; pub const SQL_SG_WITH_GRANT_OPTION: u32 = 16; pub const SQL_SG_DELETE_TABLE: u32 = 32; pub const SQL_SG_INSERT_TABLE: u32 = 64; pub const SQL_SG_INSERT_COLUMN: u32 = 128; pub const SQL_SG_REFERENCES_TABLE: u32 = 256; pub const SQL_SG_REFERENCES_COLUMN: u32 = 512; pub const SQL_SG_SELECT_TABLE: u32 = 1024; pub const SQL_SG_UPDATE_TABLE: u32 = 2048; pub const SQL_SG_UPDATE_COLUMN: u32 = 4096; pub const SQL_SP_EXISTS: u32 = 1; pub const SQL_SP_ISNOTNULL: u32 = 2; pub const SQL_SP_ISNULL: u32 = 4; pub const SQL_SP_MATCH_FULL: u32 = 8; pub const SQL_SP_MATCH_PARTIAL: u32 = 16; pub const SQL_SP_MATCH_UNIQUE_FULL: u32 = 32; pub const SQL_SP_MATCH_UNIQUE_PARTIAL: u32 = 64; pub const SQL_SP_OVERLAPS: u32 = 128; pub const SQL_SP_UNIQUE: u32 = 256; pub const SQL_SP_LIKE: u32 = 512; pub const SQL_SP_IN: u32 = 1024; pub const SQL_SP_BETWEEN: u32 = 2048; pub const SQL_SP_COMPARISON: u32 = 4096; pub const SQL_SP_QUANTIFIED_COMPARISON: u32 = 8192; pub const SQL_SRJO_CORRESPONDING_CLAUSE: u32 = 1; pub const SQL_SRJO_CROSS_JOIN: u32 = 2; pub const SQL_SRJO_EXCEPT_JOIN: u32 = 4; pub const SQL_SRJO_FULL_OUTER_JOIN: u32 = 8; pub const SQL_SRJO_INNER_JOIN: u32 = 16; pub const SQL_SRJO_INTERSECT_JOIN: u32 = 32; pub const SQL_SRJO_LEFT_OUTER_JOIN: u32 = 64; pub const SQL_SRJO_NATURAL_JOIN: u32 = 128; pub const SQL_SRJO_RIGHT_OUTER_JOIN: u32 = 256; pub const SQL_SRJO_UNION_JOIN: u32 = 512; pub const SQL_SR_USAGE_ON_DOMAIN: u32 = 1; pub const SQL_SR_USAGE_ON_CHARACTER_SET: u32 = 2; pub const SQL_SR_USAGE_ON_COLLATION: u32 = 4; pub const SQL_SR_USAGE_ON_TRANSLATION: u32 = 8; pub const SQL_SR_GRANT_OPTION_FOR: u32 = 16; pub const SQL_SR_CASCADE: u32 = 32; pub const SQL_SR_RESTRICT: u32 = 64; pub const SQL_SR_DELETE_TABLE: u32 = 128; pub const SQL_SR_INSERT_TABLE: u32 = 256; pub const SQL_SR_INSERT_COLUMN: u32 = 512; pub const SQL_SR_REFERENCES_TABLE: u32 = 1024; pub const SQL_SR_REFERENCES_COLUMN: u32 = 2048; pub const SQL_SR_SELECT_TABLE: u32 = 4096; pub const SQL_SR_UPDATE_TABLE: u32 = 8192; pub const SQL_SR_UPDATE_COLUMN: u32 = 16384; pub const SQL_SRVC_VALUE_EXPRESSION: u32 = 1; pub const SQL_SRVC_NULL: u32 = 2; pub const SQL_SRVC_DEFAULT: u32 = 4; pub const SQL_SRVC_ROW_SUBQUERY: u32 = 8; pub const SQL_SVE_CASE: u32 = 1; pub const SQL_SVE_CAST: u32 = 2; pub const SQL_SVE_COALESCE: u32 = 4; pub const SQL_SVE_NULLIF: u32 = 8; pub const SQL_SCC_XOPEN_CLI_VERSION1: u32 = 1; pub const SQL_SCC_ISO92_CLI: u32 = 2; pub const SQL_US_UNION: u32 = 1; pub const SQL_US_UNION_ALL: u32 = 2; pub const SQL_DTC_ENLIST_EXPENSIVE: u32 = 1; pub const SQL_DTC_UNENLIST_EXPENSIVE: u32 = 2; pub const SQL_ASYNC_DBC_NOT_CAPABLE: u32 = 0; pub const SQL_ASYNC_DBC_CAPABLE: u32 = 1; pub const SQL_FETCH_FIRST_USER: u32 = 31; pub const SQL_FETCH_FIRST_SYSTEM: u32 = 32; pub const SQL_ENTIRE_ROWSET: u32 = 0; pub const SQL_POSITION: u32 = 0; pub const SQL_REFRESH: u32 = 1; pub const SQL_UPDATE: u32 = 2; pub const SQL_DELETE: u32 = 3; pub const SQL_ADD: u32 = 4; pub const SQL_SETPOS_MAX_OPTION_VALUE: u32 = 4; pub const SQL_UPDATE_BY_BOOKMARK: u32 = 5; pub const SQL_DELETE_BY_BOOKMARK: u32 = 6; pub const SQL_FETCH_BY_BOOKMARK: u32 = 7; pub const SQL_LOCK_NO_CHANGE: u32 = 0; pub const SQL_LOCK_EXCLUSIVE: u32 = 1; pub const SQL_LOCK_UNLOCK: u32 = 2; pub const SQL_SETPOS_MAX_LOCK_VALUE: u32 = 2; pub const SQL_BEST_ROWID: u32 = 1; pub const SQL_ROWVER: u32 = 2; pub const SQL_PC_NOT_PSEUDO: u32 = 1; pub const SQL_QUICK: u32 = 0; pub const SQL_ENSURE: u32 = 1; pub const SQL_TABLE_STAT: u32 = 0; pub const SQL_ALL_CATALOGS: &'static [u8; 2usize] = b"%\0"; pub const SQL_ALL_SCHEMAS: &'static [u8; 2usize] = b"%\0"; pub const SQL_ALL_TABLE_TYPES: &'static [u8; 2usize] = b"%\0"; pub const SQL_DRIVER_NOPROMPT: u32 = 0; pub const SQL_DRIVER_COMPLETE: u32 = 1; pub const SQL_DRIVER_PROMPT: u32 = 2; pub const SQL_DRIVER_COMPLETE_REQUIRED: u32 = 3; pub const SQL_FETCH_BOOKMARK: u32 = 8; pub const SQL_ROW_SUCCESS: u32 = 0; pub const SQL_ROW_DELETED: u32 = 1; pub const SQL_ROW_UPDATED: u32 = 2; pub const SQL_ROW_NOROW: u32 = 3; pub const SQL_ROW_ADDED: u32 = 4; pub const SQL_ROW_ERROR: u32 = 5; pub const SQL_ROW_SUCCESS_WITH_INFO: u32 = 6; pub const SQL_ROW_PROCEED: u32 = 0; pub const SQL_ROW_IGNORE: u32 = 1; pub const SQL_PARAM_SUCCESS: u32 = 0; pub const SQL_PARAM_SUCCESS_WITH_INFO: u32 = 6; pub const SQL_PARAM_ERROR: u32 = 5; pub const SQL_PARAM_UNUSED: u32 = 7; pub const SQL_PARAM_DIAG_UNAVAILABLE: u32 = 1; pub const SQL_PARAM_PROCEED: u32 = 0; pub const SQL_PARAM_IGNORE: u32 = 1; pub const SQL_CASCADE: u32 = 0; pub const SQL_RESTRICT: u32 = 1; pub const SQL_SET_NULL: u32 = 2; pub const SQL_NO_ACTION: u32 = 3; pub const SQL_SET_DEFAULT: u32 = 4; pub const SQL_INITIALLY_DEFERRED: u32 = 5; pub const SQL_INITIALLY_IMMEDIATE: u32 = 6; pub const SQL_NOT_DEFERRABLE: u32 = 7; pub const SQL_PARAM_TYPE_UNKNOWN: u32 = 0; pub const SQL_PARAM_INPUT: u32 = 1; pub const SQL_PARAM_INPUT_OUTPUT: u32 = 2; pub const SQL_RESULT_COL: u32 = 3; pub const SQL_PARAM_OUTPUT: u32 = 4; pub const SQL_RETURN_VALUE: u32 = 5; pub const SQL_PARAM_INPUT_OUTPUT_STREAM: u32 = 8; pub const SQL_PARAM_OUTPUT_STREAM: u32 = 16; pub const SQL_PT_UNKNOWN: u32 = 0; pub const SQL_PT_PROCEDURE: u32 = 1; pub const SQL_PT_FUNCTION: u32 = 2; pub const SQL_DATABASE_NAME: u32 = 16; pub const SQL_CONCUR_TIMESTAMP: u32 = 3; pub const SQL_SCROLL_FORWARD_ONLY: u32 = 0; pub const SQL_SCROLL_KEYSET_DRIVEN: i32 = -1; pub const SQL_SCROLL_DYNAMIC: i32 = -2; pub const SQL_SCROLL_STATIC: i32 = -3; pub const TRACE_VERSION: u32 = 1000; pub const TRACE_ON: u32 = 1; pub const TRACE_VS_EVENT_ON: u32 = 2; pub const ODBC_VS_FLAG_UNICODE_ARG: u32 = 1; pub const ODBC_VS_FLAG_UNICODE_COR: u32 = 2; pub const ODBC_VS_FLAG_RETCODE: u32 = 4; pub const ODBC_VS_FLAG_STOP: u32 = 8; pub const SQL_API_SQLALLOCCONNECT: u32 = 1; pub const SQL_API_SQLALLOCENV: u32 = 2; pub const SQL_API_SQLALLOCSTMT: u32 = 3; pub const SQL_API_SQLBINDCOL: u32 = 4; pub const SQL_API_SQLBINDPARAM: u32 = 1002; pub const SQL_API_SQLCANCEL: u32 = 5; pub const SQL_API_SQLCONNECT: u32 = 7; pub const SQL_API_SQLCOPYDESC: u32 = 1004; pub const SQL_API_SQLDESCRIBECOL: u32 = 8; pub const SQL_API_SQLDISCONNECT: u32 = 9; pub const SQL_API_SQLERROR: u32 = 10; pub const SQL_API_SQLEXECDIRECT: u32 = 11; pub const SQL_API_SQLEXECUTE: u32 = 12; pub const SQL_API_SQLFETCH: u32 = 13; pub const SQL_API_SQLFREECONNECT: u32 = 14; pub const SQL_API_SQLFREEENV: u32 = 15; pub const SQL_API_SQLFREESTMT: u32 = 16; pub const SQL_API_SQLGETCURSORNAME: u32 = 17; pub const SQL_API_SQLNUMRESULTCOLS: u32 = 18; pub const SQL_API_SQLPREPARE: u32 = 19; pub const SQL_API_SQLROWCOUNT: u32 = 20; pub const SQL_API_SQLSETCURSORNAME: u32 = 21; pub const SQL_API_SQLSETDESCFIELD: u32 = 1017; pub const SQL_API_SQLSETDESCREC: u32 = 1018; pub const SQL_API_SQLSETENVATTR: u32 = 1019; pub const SQL_API_SQLSETPARAM: u32 = 22; pub const SQL_API_SQLTRANSACT: u32 = 23; pub const SQL_API_SQLCOLUMNS: u32 = 40; pub const SQL_API_SQLGETCONNECTOPTION: u32 = 42; pub const SQL_API_SQLGETDATA: u32 = 43; pub const SQL_API_SQLGETDATAINTERNAL: u32 = 174; pub const SQL_API_SQLGETDESCFIELD: u32 = 1008; pub const SQL_API_SQLGETDESCREC: u32 = 1009; pub const SQL_API_SQLGETDIAGFIELD: u32 = 1010; pub const SQL_API_SQLGETDIAGREC: u32 = 1011; pub const SQL_API_SQLGETENVATTR: u32 = 1012; pub const SQL_API_SQLGETFUNCTIONS: u32 = 44; pub const SQL_API_SQLGETINFO: u32 = 45; pub const SQL_API_SQLGETSTMTOPTION: u32 = 46; pub const SQL_API_SQLGETTYPEINFO: u32 = 47; pub const SQL_API_SQLPARAMDATA: u32 = 48; pub const SQL_API_SQLPUTDATA: u32 = 49; pub const SQL_API_SQLSETCONNECTOPTION: u32 = 50; pub const SQL_API_SQLSETSTMTOPTION: u32 = 51; pub const SQL_API_SQLSPECIALCOLUMNS: u32 = 52; pub const SQL_API_SQLSTATISTICS: u32 = 53; pub const SQL_API_SQLTABLES: u32 = 54; pub const SQL_API_SQLDATASOURCES: u32 = 57; pub const SQL_API_SQLSETCONNECTATTR: u32 = 1016; pub const SQL_API_SQLSETSTMTATTR: u32 = 1020; pub const SQL_API_SQLBINDFILETOCOL: u32 = 1250; pub const SQL_API_SQLBINDFILETOPARAM: u32 = 1251; pub const SQL_API_SQLSETCOLATTRIBUTES: u32 = 1252; pub const SQL_API_SQLGETSQLCA: u32 = 1253; pub const SQL_API_SQLSETCONNECTION: u32 = 1254; pub const SQL_API_SQLGETDATALINKATTR: u32 = 1255; pub const SQL_API_SQLBUILDDATALINK: u32 = 1256; pub const SQL_API_SQLNEXTRESULT: u32 = 1257; pub const SQL_API_SQLCREATEDB: u32 = 1258; pub const SQL_API_SQLDROPDB: u32 = 1259; pub const SQL_API_SQLCREATEPKG: u32 = 1260; pub const SQL_API_SQLDROPPKG: u32 = 1261; pub const SQL_API_SQLEXTENDEDPREPARE: u32 = 1296; pub const SQL_API_SQLEXTENDEDBIND: u32 = 1297; pub const SQL_API_SQLEXTENDEDDESCRIBE: u32 = 1298; pub const SQL_API_SQLRELOADCONFIG: u32 = 1299; pub const SQL_API_SQLFETCHSCROLL: u32 = 1021; pub const SQL_API_SQLGETLENGTH: u32 = 1022; pub const SQL_API_SQLGETPOSITION: u32 = 1023; pub const SQL_API_SQLGETSUBSTRING: u32 = 1024; pub const SQL_API_SQLEXTENDEDPROCEDURES: u32 = 1025; pub const SQL_API_SQLEXTENDEDPROCEDURECOLUMNS: u32 = 1026; pub const SQL_API_SQLALLOCHANDLE: u32 = 1001; pub const SQL_API_SQLFREEHANDLE: u32 = 1006; pub const SQL_API_SQLCLOSECURSOR: u32 = 1003; pub const SQL_API_SQLENDTRAN: u32 = 1005; pub const SQL_API_SQLCOLATTRIBUTE: u32 = 6; pub const SQL_API_SQLGETSTMTATTR: u32 = 1014; pub const SQL_API_SQLGETCONNECTATTR: u32 = 1007; pub const SQL_EXT_API_LAST: u32 = 72; pub const SQL_MAX_DRIVER_CONNECTIONS: u32 = 0; pub const SQL_MAXIMUM_DRIVER_CONNECTIONS: u32 = 0; pub const SQL_MAX_CONCURRENT_ACTIVITIES: u32 = 1; pub const SQL_MAXIMUM_CONCURRENT_ACTIVITIES: u32 = 1; pub const SQL_DROP_MODULE: u32 = 2600; pub const SQL_MODULE_USAGE: u32 = 2601; pub const SQL_CREATE_MODULE: u32 = 2602; pub const SQL_MAX_MODULE_NAME_LEN: u32 = 2603; pub const SQL_DRIVER_BLDLEVEL: u32 = 2604; pub const SQL_DATALINK_URL: &'static [u8; 4usize] = b"URL\0"; pub const SQL_ATTR_DATALINK_COMMENT: u32 = 1; pub const SQL_ATTR_DATALINK_LINKTYPE: u32 = 2; pub const SQL_ATTR_DATALINK_URLCOMPLETE: u32 = 3; pub const SQL_ATTR_DATALINK_URLPATH: u32 = 4; pub const SQL_ATTR_DATALINK_URLPATHONLY: u32 = 5; pub const SQL_ATTR_DATALINK_URLSCHEME: u32 = 6; pub const SQL_ATTR_DATALINK_URLSERVER: u32 = 7; pub const SQL_DATA_SOURCE_NAME: u32 = 2; pub const SQL_FETCH_DIRECTION: u32 = 8; pub const SQL_SERVER_NAME: u32 = 13; pub const SQL_SEARCH_PATTERN_ESCAPE: u32 = 14; pub const SQL_DBMS_NAME: u32 = 17; pub const SQL_DBMS_VER: u32 = 18; pub const SQL_ACCESSIBLE_TABLES: u32 = 19; pub const SQL_ACCESSIBLE_PROCEDURES: u32 = 20; pub const SQL_CURSOR_COMMIT_BEHAVIOR: u32 = 23; pub const SQL_DATA_SOURCE_READ_ONLY: u32 = 25; pub const SQL_DEFAULT_TXN_ISOLATION: u32 = 26; pub const SQL_IDENTIFIER_CASE: u32 = 28; pub const SQL_IDENTIFIER_QUOTE_CHAR: u32 = 29; pub const SQL_MAX_COLUMN_NAME_LEN: u32 = 30; pub const SQL_MAXIMUM_COLUMN_NAME_LENGTH: u32 = 30; pub const SQL_MAX_CURSOR_NAME_LEN: u32 = 31; pub const SQL_MAXIMUM_CURSOR_NAME_LENGTH: u32 = 31; pub const SQL_MAX_TABLE_NAME_LEN: u32 = 35; pub const SQL_SCROLL_CONCURRENCY: u32 = 43; pub const SQL_TXN_CAPABLE: u32 = 46; pub const SQL_TRANSACTION_CAPABLE: u32 = 46; pub const SQL_USER_NAME: u32 = 47; pub const SQL_TXN_ISOLATION_OPTION: u32 = 72; pub const SQL_TRANSACTION_ISOLATION_OPTION: u32 = 72; pub const SQL_GETDATA_EXTENSIONS: u32 = 81; pub const SQL_NULL_COLLATION: u32 = 85; pub const SQL_ALTER_TABLE: u32 = 86; pub const SQL_ORDER_BY_COLUMNS_IN_SELECT: u32 = 90; pub const SQL_SPECIAL_CHARACTERS: u32 = 94; pub const SQL_MAX_COLUMNS_IN_GROUP_BY: u32 = 97; pub const SQL_MAXIMUM_COLUMNS_IN_GROUP_BY: u32 = 97; pub const SQL_MAX_COLUMNS_IN_INDEX: u32 = 98; pub const SQL_MAXIMUM_COLUMNS_IN_INDEX: u32 = 98; pub const SQL_MAX_COLUMNS_IN_ORDER_BY: u32 = 99; pub const SQL_MAXIMUM_COLUMNS_IN_ORDER_BY: u32 = 99; pub const SQL_MAX_COLUMNS_IN_SELECT: u32 = 100; pub const SQL_MAXIMUM_COLUMNS_IN_SELECT: u32 = 100; pub const SQL_MAX_COLUMNS_IN_TABLE: u32 = 101; pub const SQL_MAX_INDEX_SIZE: u32 = 102; pub const SQL_MAXIMUM_INDEX_SIZE: u32 = 102; pub const SQL_MAX_ROW_SIZE: u32 = 104; pub const SQL_MAXIMUM_ROW_SIZE: u32 = 104; pub const SQL_MAX_STATEMENT_LEN: u32 = 105; pub const SQL_MAXIMUM_STATEMENT_LENGTH: u32 = 105; pub const SQL_MAX_TABLES_IN_SELECT: u32 = 106; pub const SQL_MAXIMUM_TABLES_IN_SELECT: u32 = 106; pub const SQL_MAX_USER_NAME_LEN: u32 = 107; pub const SQL_MAXIMUM_USER_NAME_LENGTH: u32 = 107; pub const SQL_MAX_SCHEMA_NAME_LEN: u32 = 32; pub const SQL_MAXIMUM_SCHEMA_NAME_LENGTH: u32 = 32; pub const SQL_MAX_CATALOG_NAME_LEN: u32 = 34; pub const SQL_MAXIMUM_CATALOG_NAME_LENGTH: u32 = 34; pub const SQL_OJ_CAPABILITIES: u32 = 115; pub const SQL_CONFIG_KEYWORDS: u32 = 174; pub const SQL_OUTER_JOIN_CAPABILITIES: u32 = 115; pub const SQL_XOPEN_CLI_YEAR: u32 = 10000; pub const SQL_CURSOR_SENSITIVITY: u32 = 10001; pub const SQL_DESCRIBE_PARAMETER: u32 = 10002; pub const SQL_CATALOG_NAME: u32 = 10003; pub const SQL_COLLATION_SEQ: u32 = 10004; pub const SQL_MAX_IDENTIFIER_LEN: u32 = 10005; pub const SQL_MAXIMUM_IDENTIFIER_LENGTH: u32 = 10005; pub const SQL_INTEGRITY: u32 = 73; pub const SQL_DATABASE_CODEPAGE: u32 = 2519; pub const SQL_APPLICATION_CODEPAGE: u32 = 2520; pub const SQL_CONNECT_CODEPAGE: u32 = 2521; pub const SQL_ATTR_DB2_APPLICATION_ID: u32 = 2532; pub const SQL_ATTR_DB2_APPLICATION_HANDLE: u32 = 2533; pub const SQL_ATTR_HANDLE_XA_ASSOCIATED: u32 = 2535; pub const SQL_DB2_DRIVER_VER: u32 = 2550; pub const SQL_ATTR_XML_DECLARATION: u32 = 2552; pub const SQL_ATTR_CURRENT_IMPLICIT_XMLPARSE_OPTION: u32 = 2553; pub const SQL_ATTR_XQUERY_STATEMENT: u32 = 2557; pub const SQL_DB2_DRIVER_TYPE: u32 = 2567; pub const SQL_INPUT_CHAR_CONVFACTOR: u32 = 2581; pub const SQL_OUTPUT_CHAR_CONVFACTOR: u32 = 2582; pub const SQL_ATTR_REPLACE_QUOTED_LITERALS: u32 = 2586; pub const SQL_ATTR_REPORT_TIMESTAMP_TRUNC_AS_WARN: u32 = 2587; pub const SQL_ATTR_CLIENT_ENCALG: u32 = 2589; pub const SQL_ATTR_CONCURRENT_ACCESS_RESOLUTION: u32 = 2595; pub const SQL_ATTR_REPORT_SEAMLESSFAILOVER_WARNING: u32 = 2605; pub const SQL_CONCURRENT_ACCESS_RESOLUTION_UNSET: u32 = 0; pub const SQL_USE_CURRENTLY_COMMITTED: u32 = 1; pub const SQL_WAIT_FOR_OUTCOME: u32 = 2; pub const SQL_SKIP_LOCKED_DATA: u32 = 3; pub const SQL_DBMS_FUNCTIONLVL: u32 = 203; pub const SQL_CLI_STMT_UNDEFINED: u32 = 0; pub const SQL_CLI_STMT_ALTER_TABLE: u32 = 1; pub const SQL_CLI_STMT_CREATE_INDEX: u32 = 5; pub const SQL_CLI_STMT_CREATE_TABLE: u32 = 6; pub const SQL_CLI_STMT_CREATE_VIEW: u32 = 7; pub const SQL_CLI_STMT_DELETE_SEARCHED: u32 = 8; pub const SQL_CLI_STMT_DELETE_POSITIONED: u32 = 9; pub const SQL_CLI_STMT_DROP_PACKAGE: u32 = 10; pub const SQL_CLI_STMT_DROP_INDEX: u32 = 11; pub const SQL_CLI_STMT_DROP_TABLE: u32 = 12; pub const SQL_CLI_STMT_DROP_VIEW: u32 = 13; pub const SQL_CLI_STMT_GRANT: u32 = 14; pub const SQL_CLI_STMT_INSERT: u32 = 15; pub const SQL_CLI_STMT_REVOKE: u32 = 16; pub const SQL_CLI_STMT_SELECT: u32 = 18; pub const SQL_CLI_STMT_UPDATE_SEARCHED: u32 = 19; pub const SQL_CLI_STMT_UPDATE_POSITIONED: u32 = 20; pub const SQL_CLI_STMT_CALL: u32 = 24; pub const SQL_CLI_STMT_SELECT_FOR_UPDATE: u32 = 29; pub const SQL_CLI_STMT_WITH: u32 = 30; pub const SQL_CLI_STMT_SELECT_FOR_FETCH: u32 = 31; pub const SQL_CLI_STMT_VALUES: u32 = 32; pub const SQL_CLI_STMT_CREATE_TRIGGER: u32 = 34; pub const SQL_CLI_STMT_SELECT_OPTIMIZE_FOR_NROWS: u32 = 39; pub const SQL_CLI_STMT_SELECT_INTO: u32 = 40; pub const SQL_CLI_STMT_CREATE_PROCEDURE: u32 = 41; pub const SQL_CLI_STMT_CREATE_FUNCTION: u32 = 42; pub const SQL_CLI_STMT_INSERT_VALUES: u32 = 45; pub const SQL_CLI_STMT_SET_CURRENT_QUERY_OPT: u32 = 46; pub const SQL_CLI_STMT_MERGE: u32 = 56; pub const SQL_CLI_STMT_XQUERY: u32 = 59; pub const SQL_CLI_STMT_SET: u32 = 62; pub const SQL_CLI_STMT_ALTER_PROCEDURE: u32 = 63; pub const SQL_CLI_STMT_CLOSE_DATABASE: u32 = 64; pub const SQL_CLI_STMT_CREATE_DATABASE: u32 = 65; pub const SQL_CLI_STMT_DROP_DATABASE: u32 = 66; pub const SQL_CLI_STMT_ANONYMOUS_BLOCK: u32 = 72; pub const SQL_IBM_ALTERTABLEVARCHAR: u32 = 1000; pub const SQL_AT_ADD_COLUMN: u32 = 1; pub const SQL_AT_DROP_COLUMN: u32 = 2; pub const SQL_AT_ADD_CONSTRAINT: u32 = 8; pub const SQL_CB_DELETE: u32 = 0; pub const SQL_CB_CLOSE: u32 = 1; pub const SQL_CB_PRESERVE: u32 = 2; pub const SQL_IC_UPPER: u32 = 1; pub const SQL_IC_LOWER: u32 = 2; pub const SQL_IC_SENSITIVE: u32 = 3; pub const SQL_IC_MIXED: u32 = 4; pub const SQL_TC_NONE: u32 = 0; pub const SQL_TC_DML: u32 = 1; pub const SQL_TC_ALL: u32 = 2; pub const SQL_TC_DDL_COMMIT: u32 = 3; pub const SQL_TC_DDL_IGNORE: u32 = 4; pub const SQL_SCCO_READ_ONLY: u32 = 1; pub const SQL_SCCO_LOCK: u32 = 2; pub const SQL_SCCO_OPT_ROWVER: u32 = 4; pub const SQL_SCCO_OPT_VALUES: u32 = 8; pub const SQL_FD_FETCH_NEXT: u32 = 1; pub const SQL_FD_FETCH_FIRST: u32 = 2; pub const SQL_FD_FETCH_LAST: u32 = 4; pub const SQL_FD_FETCH_PRIOR: u32 = 8; pub const SQL_FD_FETCH_ABSOLUTE: u32 = 16; pub const SQL_FD_FETCH_RELATIVE: u32 = 32; pub const SQL_FD_FETCH_RESUME: u32 = 64; pub const SQL_TXN_READ_UNCOMMITTED: u32 = 1; pub const SQL_TRANSACTION_READ_UNCOMMITTED: u32 = 1; pub const SQL_TXN_READ_COMMITTED: u32 = 2; pub const SQL_TRANSACTION_READ_COMMITTED: u32 = 2; pub const SQL_TXN_REPEATABLE_READ: u32 = 4; pub const SQL_TRANSACTION_REPEATABLE_READ: u32 = 4; pub const SQL_TXN_SERIALIZABLE: u32 = 8; pub const SQL_TRANSACTION_SERIALIZABLE: u32 = 8; pub const SQL_TXN_NOCOMMIT: u32 = 32; pub const SQL_TRANSACTION_NOCOMMIT: u32 = 32; pub const SQL_TXN_IDS_CURSOR_STABILITY: u32 = 64; pub const SQL_TRANSACTION_IDS_CURSOR_STABILITY: u32 = 64; pub const SQL_TXN_IDS_LAST_COMMITTED: u32 = 128; pub const SQL_TRANSACTION_IDS_LAST_COMMITTED: u32 = 128; pub const SQL_GD_ANY_COLUMN: u32 = 1; pub const SQL_GD_ANY_ORDER: u32 = 2; pub const SQL_OJ_LEFT: u32 = 1; pub const SQL_OJ_RIGHT: u32 = 2; pub const SQL_OJ_FULL: u32 = 4; pub const SQL_OJ_NESTED: u32 = 8; pub const SQL_OJ_NOT_ORDERED: u32 = 16; pub const SQL_OJ_INNER: u32 = 32; pub const SQL_OJ_ALL_COMPARISON_OPS: u32 = 64; pub const SQL_CLI_DRIVER_TYPE_UNDEFINED: u32 = 0; pub const SQL_CLI_DRIVER_RUNTIME_CLIENT: u32 = 1; pub const SQL_CLI_DRIVER_CLI_DRIVER: u32 = 2; pub const SQL_ALL_TYPES: u32 = 0; pub const SQL_ATTR_AUTO_IPD: u32 = 10001; pub const SQL_ATTR_APP_ROW_DESC: u32 = 10010; pub const SQL_ATTR_APP_PARAM_DESC: u32 = 10011; pub const SQL_ATTR_IMP_ROW_DESC: u32 = 10012; pub const SQL_ATTR_IMP_PARAM_DESC: u32 = 10013; pub const SQL_ATTR_METADATA_ID: u32 = 10014; pub const SQL_ATTR_CURSOR_SCROLLABLE: i32 = -1; pub const SQL_ATTR_CURSOR_SENSITIVITY: i32 = -2; pub const SQL_NONSCROLLABLE: u32 = 0; pub const SQL_SCROLLABLE: u32 = 1; pub const SQL_CURSOR_HOLD: u32 = 1250; pub const SQL_ATTR_CURSOR_HOLD: u32 = 1250; pub const SQL_NODESCRIBE_OUTPUT: u32 = 1251; pub const SQL_ATTR_NODESCRIBE_OUTPUT: u32 = 1251; pub const SQL_NODESCRIBE_INPUT: u32 = 1264; pub const SQL_ATTR_NODESCRIBE_INPUT: u32 = 1264; pub const SQL_NODESCRIBE: u32 = 1251; pub const SQL_ATTR_NODESCRIBE: u32 = 1251; pub const SQL_CLOSE_BEHAVIOR: u32 = 1257; pub const SQL_ATTR_CLOSE_BEHAVIOR: u32 = 1257; pub const SQL_ATTR_CLOSEOPEN: u32 = 1265; pub const SQL_ATTR_CURRENT_PACKAGE_SET: u32 = 1276; pub const SQL_ATTR_DEFERRED_PREPARE: u32 = 1277; pub const SQL_ATTR_EARLYCLOSE: u32 = 1268; pub const SQL_ATTR_PROCESSCTL: u32 = 1278; pub const SQL_ATTR_PREFETCH: u32 = 1285; pub const SQL_ATTR_ENABLE_IPD_SETTING: u32 = 1286; pub const SQL_ATTR_RETRYONERROR: u32 = 121; pub const SQL_DESC_DESCRIPTOR_TYPE: u32 = 1287; pub const SQL_ATTR_OPTIMIZE_SQLCOLUMNS: u32 = 1288; pub const SQL_ATTR_MEM_DEBUG_DUMP: u32 = 1289; pub const SQL_ATTR_CONNECT_NODE: u32 = 1290; pub const SQL_ATTR_CONNECT_WITH_XA: u32 = 1291; pub const SQL_ATTR_GET_XA_RESOURCE: u32 = 1292; pub const SQL_ATTR_DB2_SQLERRP: u32 = 2451; pub const SQL_ATTR_SERVER_MSGTXT_SP: u32 = 2452; pub const SQL_ATTR_OPTIMIZE_FOR_NROWS: u32 = 2450; pub const SQL_ATTR_QUERY_OPTIMIZATION_LEVEL: u32 = 1293; pub const SQL_ATTR_USE_LIGHT_OUTPUT_SQLDA: u32 = 1298; pub const SQL_ATTR_CURSOR_BLOCK_NUM_ROWS: u32 = 2453; pub const SQL_ATTR_CURSOR_BLOCK_EARLY_CLOSE: u32 = 2454; pub const SQL_ATTR_SERVER_MSGTXT_MASK: u32 = 2455; pub const SQL_ATTR_USE_LIGHT_INPUT_SQLDA: u32 = 2458; pub const SQL_ATTR_BLOCK_FOR_NROWS: u32 = 2459; pub const SQL_ATTR_OPTIMIZE_ROWS_FOR_BLOCKING: u32 = 2460; pub const SQL_ATTR_STATICMODE: u32 = 2467; pub const SQL_ATTR_DB2_MESSAGE_PREFIX: u32 = 2468; pub const SQL_ATTR_CALL_RETVAL_AS_PARM: u32 = 2469; pub const SQL_ATTR_CALL_RETURN: u32 = 2470; pub const SQL_ATTR_RETURN_USER_DEFINED_TYPES: u32 = 2471; pub const SQL_ATTR_ENABLE_EXTENDED_PARAMDATA: u32 = 2472; pub const SQL_ATTR_APP_TYPE: u32 = 2473; pub const SQL_ATTR_TRANSFORM_GROUP: u32 = 2474; pub const SQL_ATTR_DESCRIBE_CALL: u32 = 2476; pub const SQL_ATTR_AUTOCOMMCLEANUP: u32 = 2477; pub const SQL_ATTR_USEMALLOC: u32 = 2478; pub const SQL_ATTR_PRESERVE_LOCALE: u32 = 2479; pub const SQL_ATTR_MAPGRAPHIC: u32 = 2480; pub const SQL_ATTR_INSERT_BUFFERING: u32 = 2481; pub const SQL_ATTR_USE_LOAD_API: u32 = 2482; pub const SQL_ATTR_LOAD_RECOVERABLE: u32 = 2483; pub const SQL_ATTR_LOAD_COPY_LOCATION: u32 = 2484; pub const SQL_ATTR_LOAD_MESSAGE_FILE: u32 = 2485; pub const SQL_ATTR_LOAD_SAVECOUNT: u32 = 2486; pub const SQL_ATTR_LOAD_CPU_PARALLELISM: u32 = 2487; pub const SQL_ATTR_LOAD_DISK_PARALLELISM: u32 = 2488; pub const SQL_ATTR_LOAD_INDEXING_MODE: u32 = 2489; pub const SQL_ATTR_LOAD_STATS_MODE: u32 = 2490; pub const SQL_ATTR_LOAD_TEMP_FILES_PATH: u32 = 2491; pub const SQL_ATTR_LOAD_DATA_BUFFER_SIZE: u32 = 2492; pub const SQL_ATTR_LOAD_MODIFIED_BY: u32 = 2493; pub const SQL_ATTR_DB2_RESERVED_2494: u32 = 2494; pub const SQL_ATTR_DESCRIBE_BEHAVIOR: u32 = 2495; pub const SQL_ATTR_FETCH_SENSITIVITY: u32 = 2496; pub const SQL_ATTR_DB2_RESERVED_2497: u32 = 2497; pub const SQL_ATTR_CLIENT_LOB_BUFFERING: u32 = 2498; pub const SQL_ATTR_SKIP_TRACE: u32 = 2499; pub const SQL_ATTR_LOAD_INFO: u32 = 2501; pub const SQL_ATTR_DESCRIBE_INPUT_ON_PREPARE: u32 = 2505; pub const SQL_ATTR_DESCRIBE_OUTPUT_LEVEL: u32 = 2506; pub const SQL_ATTR_CURRENT_PACKAGE_PATH: u32 = 2509; pub const SQL_ATTR_INFO_PROGRAMID: u32 = 2511; pub const SQL_ATTR_INFO_PROGRAMNAME: u32 = 2516; pub const SQL_ATTR_FREE_LOCATORS_ON_FETCH: u32 = 2518; pub const SQL_ATTR_KEEP_DYNAMIC: u32 = 2522; pub const SQL_ATTR_LOAD_ROWS_READ_PTR: u32 = 2524; pub const SQL_ATTR_LOAD_ROWS_SKIPPED_PTR: u32 = 2525; pub const SQL_ATTR_LOAD_ROWS_COMMITTED_PTR: u32 = 2526; pub const SQL_ATTR_LOAD_ROWS_LOADED_PTR: u32 = 2527; pub const SQL_ATTR_LOAD_ROWS_REJECTED_PTR: u32 = 2528; pub const SQL_ATTR_LOAD_ROWS_DELETED_PTR: u32 = 2529; pub const SQL_ATTR_LOAD_INFO_VER: u32 = 2530; pub const SQL_ATTR_SET_SSA: u32 = 2531; pub const SQL_ATTR_BLOCK_LOBS: u32 = 2534; pub const SQL_ATTR_LOAD_ACCESS_LEVEL: u32 = 2536; pub const SQL_ATTR_MAPCHAR: u32 = 2546; pub const SQL_ATTR_ARM_CORRELATOR: u32 = 2554; pub const SQL_ATTR_CLIENT_DEBUGINFO: u32 = 2556; pub const SQL_ATTR_GET_GENERATED_VALUE: u32 = 2583; pub const SQL_ATTR_GET_SERIAL_VALUE: u32 = 2584; pub const SQL_ATTR_INTERLEAVED_PUTDATA: u32 = 2591; pub const SQL_ATTR_FORCE_ROLLBACK: u32 = 2596; pub const SQL_ATTR_STMT_CONCENTRATOR: u32 = 2597; pub const SQL_ATTR_LOAD_REPLACE_OPTION: u32 = 3036; pub const SQL_ATTR_SESSION_GLOBAL_VAR: u32 = 3044; pub const SQL_ATTR_SPECIAL_REGISTER: u32 = 3049; pub const SQL_STMT_CONCENTRATOR_OFF: u32 = 1; pub const SQL_STMT_CONCENTRATOR_WITH_LITERALS: u32 = 2; pub const SQL_INFO_LAST: u32 = 174; pub const SQL_INFO_DRIVER_START: u32 = 1000; pub const SQL_FORCE_ROLLBACK_ON: u32 = 1; pub const SQL_FORCE_ROLLBACK_OFF: u32 = 0; pub const SQL_FORCE_ROLLBACK_DEFAULT: u32 = 0; pub const SQL_DESCRIBE_NONE: u32 = 0; pub const SQL_DESCRIBE_LIGHT: u32 = 1; pub const SQL_DESCRIBE_REGULAR: u32 = 2; pub const SQL_DESCRIBE_EXTENDED: u32 = 3; pub const SQL_USE_LOAD_OFF: u32 = 0; pub const SQL_USE_LOAD_INSERT: u32 = 1; pub const SQL_USE_LOAD_REPLACE: u32 = 2; pub const SQL_USE_LOAD_RESTART: u32 = 3; pub const SQL_USE_LOAD_TERMINATE: u32 = 4; pub const SQL_LOAD_REPLACE_DEFAULT: u32 = 0; pub const SQL_LOAD_KEEPDICTIONARY: u32 = 1; pub const SQL_LOAD_RESETDICTIONARY: u32 = 2; pub const SQL_LOAD_RESETDICTIONARYONLY: u32 = 3; pub const SQL_PREFETCH_ON: u32 = 1; pub const SQL_PREFETCH_OFF: u32 = 0; pub const SQL_PREFETCH_DEFAULT: u32 = 0; pub const SQL_CC_NO_RELEASE: u32 = 0; pub const SQL_CC_RELEASE: u32 = 1; pub const SQL_CC_DEFAULT: u32 = 0; pub const SQL_RETRYONERROR_OFF: u32 = 0; pub const SQL_RETRYONERROR_ON: u32 = 1; pub const SQL_RETRYONERROR_DEFAULT: u32 = 1; pub const SQL_RETRYBINDONERROR_OFF: u32 = 0; pub const SQL_RETRYBINDONERROR_ON: u32 = 1; pub const SQL_RETRYBINDONERROR_DEFAULT: u32 = 1; pub const SQL_ALLOW_INTERLEAVED_GETDATA_OFF: u32 = 0; pub const SQL_ALLOW_INTERLEAVED_GETDATA_ON: u32 = 1; pub const SQL_ALLOW_INTERLEAVED_GETDATA_DEFAULT: u32 = 0; pub const SQL_INTERLEAVED_STREAM_PUTDATA_OFF: u32 = 0; pub const SQL_INTERLEAVED_STREAM_PUTDATA_ON: u32 = 1; pub const SQL_OVERRIDE_CODEPAGE_ON: u32 = 1; pub const SQL_OVERRIDE_CODEPAGE_OFF: u32 = 0; pub const SQL_DEFERRED_PREPARE_ON: u32 = 1; pub const SQL_DEFERRED_PREPARE_OFF: u32 = 0; pub const SQL_DEFERRED_PREPARE_DEFAULT: u32 = 1; pub const SQL_EARLYCLOSE_ON: u32 = 1; pub const SQL_EARLYCLOSE_OFF: u32 = 0; pub const SQL_EARLYCLOSE_SERVER: u32 = 2; pub const SQL_EARLYCLOSE_DEFAULT: u32 = 1; pub const SQL_APP_TYPE_ODBC: u32 = 1; pub const SQL_APP_TYPE_OLEDB: u32 = 2; pub const SQL_APP_TYPE_JDBC: u32 = 3; pub const SQL_APP_TYPE_ADONET: u32 = 4; pub const SQL_APP_TYPE_DRDAWRAPPER: u32 = 5; pub const SQL_APP_TYPE_OCI: u32 = 6; pub const SQL_APP_TYPE_DEFAULT: u32 = 1; pub const SQL_PROCESSCTL_NOTHREAD: u32 = 1; pub const SQL_PROCESSCTL_NOFORK: u32 = 2; pub const SQL_PROCESSCTL_SHARESTMTDESC: u32 = 4; pub const SQL_PROCESSCTL_MULTICONNECT3: u32 = 8; pub const SQL_FALSE: u32 = 0; pub const SQL_TRUE: u32 = 1; pub const SQL_CURSOR_HOLD_ON: u32 = 1; pub const SQL_CURSOR_HOLD_OFF: u32 = 0; pub const SQL_CURSOR_HOLD_DEFAULT: u32 = 1; pub const SQL_NODESCRIBE_ON: u32 = 1; pub const SQL_NODESCRIBE_OFF: u32 = 0; pub const SQL_NODESCRIBE_DEFAULT: u32 = 0; pub const SQL_DESCRIBE_CALL_NEVER: u32 = 0; pub const SQL_DESCRIBE_CALL_BEFORE: u32 = 1; pub const SQL_DESCRIBE_CALL_ON_ERROR: u32 = 2; pub const SQL_DESCRIBE_CALL_DEFAULT: i32 = -1; pub const SQL_CLIENTLOB_USE_LOCATORS: u32 = 0; pub const SQL_CLIENTLOB_BUFFER_UNBOUND_LOBS: u32 = 1; pub const SQL_CLIENTLOB_DEFAULT: u32 = 0; pub const SQL_CLIENT_ENCALG_NOT_SET: u32 = 0; pub const SQL_CLIENT_ENCALG_ANY: u32 = 1; pub const SQL_CLIENT_ENCALG_AES_ONLY: u32 = 2; pub const SQL_COMMITONEOF_OFF: u32 = 0; pub const SQL_COMMITONEOF_ON: u32 = 1; pub const SQL_WCHARTYPE: u32 = 1252; pub const SQL_LONGDATA_COMPAT: u32 = 1253; pub const SQL_CURRENT_SCHEMA: u32 = 1254; pub const SQL_DB2EXPLAIN: u32 = 1258; pub const SQL_DB2ESTIMATE: u32 = 1259; pub const SQL_PARAMOPT_ATOMIC: u32 = 1260; pub const SQL_STMTTXN_ISOLATION: u32 = 1261; pub const SQL_MAXCONN: u32 = 1262; pub const SQL_ATTR_CLISCHEMA: u32 = 1280; pub const SQL_ATTR_INFO_USERID: u32 = 1281; pub const SQL_ATTR_INFO_WRKSTNNAME: u32 = 1282; pub const SQL_ATTR_INFO_APPLNAME: u32 = 1283; pub const SQL_ATTR_INFO_ACCTSTR: u32 = 1284; pub const SQL_ATTR_AUTOCOMMIT_NOCOMMIT: u32 = 2462; pub const SQL_ATTR_QUERY_PATROLLER: u32 = 2466; pub const SQL_ATTR_CHAINING_BEGIN: u32 = 2464; pub const SQL_ATTR_CHAINING_END: u32 = 2465; pub const SQL_ATTR_EXTENDEDBIND: u32 = 2475; pub const SQL_ATTR_GRAPHIC_UNICODESERVER: u32 = 2503; pub const SQL_ATTR_RETURN_CHAR_AS_WCHAR_OLEDB: u32 = 2517; pub const SQL_ATTR_GATEWAY_CONNECTED: u32 = 2537; pub const SQL_ATTR_SQLCOLUMNS_SORT_BY_ORDINAL_OLEDB: u32 = 2542; pub const SQL_ATTR_REPORT_ISLONG_FOR_LONGTYPES_OLEDB: u32 = 2543; pub const SQL_ATTR_PING_DB: u32 = 2545; pub const SQL_ATTR_RECEIVE_TIMEOUT: u32 = 2547; pub const SQL_ATTR_REOPT: u32 = 2548; pub const SQL_ATTR_LOB_CACHE_SIZE: u32 = 2555; pub const SQL_ATTR_STREAM_GETDATA: u32 = 2558; pub const SQL_ATTR_APP_USES_LOB_LOCATOR: u32 = 2559; pub const SQL_ATTR_MAX_LOB_BLOCK_SIZE: u32 = 2560; pub const SQL_ATTR_USE_TRUSTED_CONTEXT: u32 = 2561; pub const SQL_ATTR_TRUSTED_CONTEXT_USERID: u32 = 2562; pub const SQL_ATTR_TRUSTED_CONTEXT_PASSWORD: u32 = 2563; pub const SQL_ATTR_USER_REGISTRY_NAME: u32 = 2564; pub const SQL_ATTR_DECFLOAT_ROUNDING_MODE: u32 = 2565; pub const SQL_ATTR_APPEND_FOR_FETCH_ONLY: u32 = 2573; pub const SQL_ATTR_ONLY_USE_BIG_PACKAGES: u32 = 2577; pub const SQL_ATTR_NONATMOIC_BUFFER_INSERT: u32 = 2588; pub const SQL_ATTR_ROWCOUNT_PREFETCH: u32 = 2592; pub const SQL_ATTR_PING_REQUEST_PACKET_SIZE: u32 = 2593; pub const SQL_ATTR_PING_NTIMES: u32 = 2594; pub const SQL_ATTR_ALLOW_INTERLEAVED_GETDATA: u32 = 2599; pub const SQL_ATTR_INTERLEAVED_STREAM_PUTDATA: u32 = 3000; pub const SQL_ATTR_FET_BUF_SIZE: u32 = 3001; pub const SQL_ATTR_CLIENT_CODEPAGE: u32 = 3002; pub const SQL_ATTR_EXTENDED_INDICATORS: u32 = 3003; pub const SQL_ATTR_SESSION_TIME_ZONE: u32 = 3004; pub const SQL_ATTR_CLIENT_TIME_ZONE: u32 = 3005; pub const SQL_ATTR_NETWORK_STATISTICS: u32 = 3006; pub const SQL_ATTR_OVERRIDE_CHARACTER_CODEPAGE: u32 = 3007; pub const SQL_ATTR_GET_LATEST_MEMBER: u32 = 3008; pub const SQL_ATTR_CO_CAPTUREONPREPARE: u32 = 3009; pub const SQL_ATTR_RETRYBINDONERROR: u32 = 3010; pub const SQL_ATTR_COMMITONEOF: u32 = 3011; pub const SQL_ATTR_PARC_BATCH: u32 = 3012; pub const SQL_ATTR_COLUMNWISE_MRI: u32 = 3013; pub const SQL_ATTR_OVERRIDE_CODEPAGE: u32 = 3014; pub const SQL_ATTR_SQLCODEMAP: u32 = 3015; pub const SQL_ATTR_ISREADONLYSQL: u32 = 3016; pub const SQL_ATTR_DBC_SYS_NAMING: u32 = 3017; pub const SQL_ATTR_FREE_MEMORY_ON_STMTCLOSE: u32 = 3018; pub const SQL_ATTR_OVERRIDE_PRIMARY_AFFINITY: u32 = 3020; pub const SQL_ATTR_STREAM_OUTPUTLOB_ON_CALL: u32 = 3021; pub const SQL_ATTR_CACHE_USRLIBL: u32 = 3022; pub const SQL_ATTR_GET_LATEST_MEMBER_NAME: u32 = 3023; pub const SQL_ATTR_INFO_CRRTKN: u32 = 3024; pub const SQL_ATTR_DATE_FMT: u32 = 3025; pub const SQL_ATTR_DATE_SEP: u32 = 3026; pub const SQL_ATTR_TIME_FMT: u32 = 3027; pub const SQL_ATTR_TIME_SEP: u32 = 3028; pub const SQL_ATTR_DECIMAL_SEP: u32 = 3029; pub const SQL_ATTR_READ_ONLY_CONNECTION: u32 = 3030; pub const SQL_ATTR_CONFIG_KEYWORDS_ARRAY_SIZE: u32 = 3031; pub const SQL_ATTR_CONFIG_KEYWORDS_MAXLEN: u32 = 3032; pub const SQL_ATTR_RETRY_ON_MERGE: u32 = 3033; pub const SQL_ATTR_DETECT_READ_ONLY_TXN: u32 = 3034; pub const SQL_ATTR_IGNORE_SERVER_LIST: u32 = 3035; pub const SQL_ATTR_DB2ZLOAD_LOADSTMT: u32 = 3037; pub const SQL_ATTR_DB2ZLOAD_RECDELIM: u32 = 3038; pub const SQL_ATTR_DB2ZLOAD_BEGIN: u32 = 3039; pub const SQL_ATTR_DB2ZLOAD_END: u32 = 3040; pub const SQL_ATTR_DB2ZLOAD_FILETYPE: u32 = 3041; pub const SQL_ATTR_DB2ZLOAD_MSGFILE: u32 = 3042; pub const SQL_ATTR_DB2ZLOAD_UTILITYID: u32 = 3043; pub const SQL_ATTR_CONNECT_PASSIVE: u32 = 3045; pub const SQL_ATTR_CLIENT_APPLCOMPAT: u32 = 3046; pub const SQL_ATTR_DB2ZLOAD_LOADFILE: u32 = 3047; pub const SQL_ATTR_PREFETCH_NROWS: u32 = 3048; pub const SQL_ATTR_CLIENT_USERID: u32 = 1281; pub const SQL_ATTR_CLIENT_WRKSTNNAME: u32 = 1282; pub const SQL_ATTR_CLIENT_APPLNAME: u32 = 1283; pub const SQL_ATTR_CLIENT_ACCTSTR: u32 = 1284; pub const SQL_ATTR_CLIENT_PROGINFO: u32 = 2516; pub const SQL_DM_DROP_MODULE: u32 = 1; pub const SQL_DM_RESTRICT: u32 = 2; pub const SQL_MU_PROCEDURE_INVOCATION: u32 = 1; pub const SQL_CM_CREATE_MODULE: u32 = 1; pub const SQL_CM_AUTHORIZATION: u32 = 2; pub const SQL_ATTR_WCHARTYPE: u32 = 1252; pub const SQL_ATTR_LONGDATA_COMPAT: u32 = 1253; pub const SQL_ATTR_CURRENT_SCHEMA: u32 = 1254; pub const SQL_ATTR_DB2EXPLAIN: u32 = 1258; pub const SQL_ATTR_DB2ESTIMATE: u32 = 1259; pub const SQL_ATTR_PARAMOPT_ATOMIC: u32 = 1260; pub const SQL_ATTR_STMTTXN_ISOLATION: u32 = 1261; pub const SQL_ATTR_MAXCONN: u32 = 1262; pub const SQL_CONNECTTYPE: u32 = 1255; pub const SQL_SYNC_POINT: u32 = 1256; pub const SQL_MINMEMORY_USAGE: u32 = 1263; pub const SQL_CONN_CONTEXT: u32 = 1269; pub const SQL_ATTR_INHERIT_NULL_CONNECT: u32 = 1270; pub const SQL_ATTR_FORCE_CONVERSION_ON_CLIENT: u32 = 1275; pub const SQL_ATTR_INFO_KEYWORDLIST: u32 = 2500; pub const SQL_ATTR_DISABLE_SYSPLEX: u32 = 2590; pub const SQL_ATTR_CONNECTTYPE: u32 = 1255; pub const SQL_ATTR_SYNC_POINT: u32 = 1256; pub const SQL_ATTR_MINMEMORY_USAGE: u32 = 1263; pub const SQL_ATTR_CONN_CONTEXT: u32 = 1269; pub const SQL_LD_COMPAT_YES: u32 = 1; pub const SQL_LD_COMPAT_NO: u32 = 0; pub const SQL_LD_COMPAT_DEFAULT: u32 = 0; pub const SQL_ATTR_EXTENDEDBIND_COPY: u32 = 1; pub const SQL_ATTR_EXTENDEDBIND_NOCOPY: u32 = 0; pub const SQL_ATTR_EXTENDEDBIND_DEFAULT: u32 = 0; pub const SQL_NC_HIGH: u32 = 0; pub const SQL_NC_LOW: u32 = 1; pub const SQL_PARC_BATCH_ENABLE: u32 = 1; pub const SQL_PARC_BATCH_DISABLE: u32 = 0; pub const SQL_SQLCODEMAP_NOMAP: u32 = 1; pub const SQL_SQLCODEMAP_MAP: u32 = 2; pub const SQL_CONNECT_PASSIVE_YES: u32 = 1; pub const SQL_CONNECT_PASSIVE_NO: u32 = 0; pub const SQL_CONNECT_PASSIVE_DEFAULT: u32 = 0; pub const CLI_MAX_LONGVARCHAR: u32 = 1250; pub const CLI_MAX_VARCHAR: u32 = 1251; pub const CLI_MAX_CHAR: u32 = 1252; pub const CLI_MAX_LONGVARGRAPHIC: u32 = 1253; pub const CLI_MAX_VARGRAPHIC: u32 = 1254; pub const CLI_MAX_GRAPHIC: u32 = 1255; pub const SQL_DIAG_MESSAGE_TEXT_PTR: u32 = 2456; pub const SQL_DIAG_LINE_NUMBER: u32 = 2461; pub const SQL_DIAG_ERRMC: u32 = 2467; pub const SQL_DIAG_SQLCA: u32 = 3037; pub const SQL_DIAG_BYTES_PROCESSED: u32 = 2477; pub const SQL_DIAG_RELATIVE_COST_ESTIMATE: u32 = 2504; pub const SQL_DIAG_ROW_COUNT_ESTIMATE: u32 = 2507; pub const SQL_DIAG_ELAPSED_SERVER_TIME: u32 = 2538; pub const SQL_DIAG_ELAPSED_NETWORK_TIME: u32 = 2539; pub const SQL_DIAG_ACCUMULATED_SERVER_TIME: u32 = 2540; pub const SQL_DIAG_ACCUMULATED_NETWORK_TIME: u32 = 2541; pub const SQL_DIAG_QUIESCE: u32 = 2549; pub const SQL_DIAG_TOLERATED_ERROR: u32 = 2559; pub const SQL_DIAG_NETWORK_STATISTICS: u32 = 2560; pub const SQL_DIAG_QUIESCE_NO: u32 = 0; pub const SQL_DIAG_QUIESCE_DATABASE: u32 = 1; pub const SQL_DIAG_QUIESCE_INSTANCE: u32 = 2; pub const SQL_ATTR_LITTLE_ENDIAN_UNICODE: u32 = 2457; pub const SQL_ATTR_DIAGLEVEL: u32 = 2574; pub const SQL_ATTR_NOTIFYLEVEL: u32 = 2575; pub const SQL_ATTR_DIAGPATH: u32 = 2576; pub const SQL_ATTR_MESSAGE_LINE_LENGTH: u32 = 2580; pub const SQL_ATTR_ENABLE_IFXENV: u32 = 2585; pub const SQL_ATTR_TRACENOHEADER: u32 = 2598; pub const SQL_ATTR_DB2TRC_STARTUP_SIZE: u32 = 3019; pub const SQL_ATOMIC_YES: u32 = 1; pub const SQL_ATOMIC_NO: u32 = 0; pub const SQL_ATOMIC_DEFAULT: u32 = 1; pub const SQL_CONCURRENT_TRANS: u32 = 1; pub const SQL_COORDINATED_TRANS: u32 = 2; pub const SQL_CONNECTTYPE_DEFAULT: u32 = 1; pub const SQL_ONEPHASE: u32 = 1; pub const SQL_TWOPHASE: u32 = 2; pub const SQL_SYNCPOINT_DEFAULT: u32 = 1; pub const SQL_DB2ESTIMATE_ON: u32 = 1; pub const SQL_DB2ESTIMATE_OFF: u32 = 0; pub const SQL_DB2ESTIMATE_DEFAULT: u32 = 0; pub const SQL_DB2EXPLAIN_OFF: u32 = 0; pub const SQL_DB2EXPLAIN_SNAPSHOT_ON: u32 = 1; pub const SQL_DB2EXPLAIN_MODE_ON: u32 = 2; pub const SQL_DB2EXPLAIN_SNAPSHOT_MODE_ON: u32 = 3; pub const SQL_DB2EXPLAIN_ON: u32 = 1; pub const SQL_DB2EXPLAIN_DEFAULT: u32 = 0; pub const SQL_WCHARTYPE_NOCONVERT: u32 = 0; pub const SQL_WCHARTYPE_DEFAULT: u32 = 0; pub const SQL_OPTIMIZE_SQLCOLUMNS_OFF: u32 = 0; pub const SQL_OPTIMIZE_SQLCOLUMNS_ON: u32 = 1; pub const SQL_OPTIMIZE_SQLCOLUMNS_DEFAULT: u32 = 0; pub const SQL_CONNECT_WITH_XA_OFF: u32 = 0; pub const SQL_CONNECT_WITH_XA_ON: u32 = 1; pub const SQL_CONNECT_WITH_XA_DEFAULT: u32 = 0; pub const SQL_ATTR_SERVER_MSGTXT_MASK_LOCAL_FIRST: u32 = 0; pub const SQL_ATTR_SERVER_MSGTXT_MASK_WARNINGS: u32 = 1; pub const SQL_ATTR_SERVER_MSGTXT_MASK_ERRORS: u32 = 4294967294; pub const SQL_ATTR_SERVER_MSGTXT_MASK_ALL: u32 = 4294967295; pub const SQL_ATTR_SERVER_MSGTXT_MASK_DEFAULT: u32 = 0; pub const SQL_ATTR_QUERY_PATROLLER_DISABLE: u32 = 1; pub const SQL_ATTR_QUERY_PATROLLER_ENABLE: u32 = 2; pub const SQL_ATTR_QUERY_PATROLLER_BYPASS: u32 = 3; pub const SQL_STATICMODE_DISABLED: u32 = 0; pub const SQL_STATICMODE_CAPTURE: u32 = 1; pub const SQL_STATICMODE_MATCH: u32 = 2; pub const SQL_ATTR_DB2_MESSAGE_PREFIX_OFF: u32 = 0; pub const SQL_ATTR_DB2_MESSAGE_PREFIX_ON: u32 = 1; pub const SQL_ATTR_DB2_MESSAGE_PREFIX_DEFAULT: u32 = 1; pub const SQL_ATTR_INSERT_BUFFERING_OFF: u32 = 0; pub const SQL_ATTR_INSERT_BUFFERING_ON: u32 = 1; pub const SQL_ATTR_INSERT_BUFFERING_IGD: u32 = 2; pub const SQL_ROWCOUNT_PREFETCH_OFF: u32 = 0; pub const SQL_ROWCOUNT_PREFETCH_ON: u32 = 1; pub const SQL_SCOPE_CURROW: u32 = 0; pub const SQL_SCOPE_TRANSACTION: u32 = 1; pub const SQL_SCOPE_SESSION: u32 = 2; pub const SQL_INDEX_UNIQUE: u32 = 0; pub const SQL_INDEX_ALL: u32 = 1; pub const SQL_INDEX_CLUSTERED: u32 = 1; pub const SQL_INDEX_HASHED: u32 = 2; pub const SQL_INDEX_OTHER: u32 = 3; pub const SQL_PC_UNKNOWN: u32 = 0; pub const SQL_PC_NON_PSEUDO: u32 = 1; pub const SQL_PC_PSEUDO: u32 = 2; pub const SQL_ROW_IDENTIFIER: u32 = 1; pub const SQL_MAPGRAPHIC_DEFAULT: i32 = -1; pub const SQL_MAPGRAPHIC_GRAPHIC: u32 = 0; pub const SQL_MAPGRAPHIC_WCHAR: u32 = 1; pub const SQL_MAPCHAR_DEFAULT: u32 = 0; pub const SQL_MAPCHAR_WCHAR: u32 = 1; pub const SQL_FETCH_NEXT: u32 = 1; pub const SQL_FETCH_FIRST: u32 = 2; pub const SQL_FETCH_LAST: u32 = 3; pub const SQL_FETCH_PRIOR: u32 = 4; pub const SQL_FETCH_ABSOLUTE: u32 = 5; pub const SQL_FETCH_RELATIVE: u32 = 6; pub const SQL_EXTENDED_INDICATOR_NOT_SET: u32 = 0; pub const SQL_EXTENDED_INDICATOR_ENABLE: u32 = 1; pub const SQL_EXTENDED_INDICATOR_DISABLE: u32 = 2; pub const SQL_COLUMNWISE_MRI_ON: u32 = 1; pub const SQL_COLUMNWISE_MRI_OFF: u32 = 0; pub const SQL_ISREADONLYSQL_YES: u32 = 1; pub const SQL_ISREADONLYSQL_NO: u32 = 0; pub const SQL_FREE_MEMORY_ON_STMTCLOSE_YES: u32 = 1; pub const SQL_FREE_MEMORY_ON_STMTCLOSE_NO: u32 = 0; pub const SQL_ATTR_CACHE_USRLIBL_YES: u32 = 0; pub const SQL_ATTR_CACHE_USRLIBL_NO: u32 = 1; pub const SQL_ATTR_CACHE_USRLIBL_REFRESH: u32 = 2; pub const SQL_IBMi_FMT_ISO: u32 = 1; pub const SQL_IBMi_FMT_USA: u32 = 2; pub const SQL_IBMi_FMT_EUR: u32 = 3; pub const SQL_IBMi_FMT_JIS: u32 = 4; pub const SQL_IBMi_FMT_MDY: u32 = 5; pub const SQL_IBMi_FMT_DMY: u32 = 6; pub const SQL_IBMi_FMT_YMD: u32 = 7; pub const SQL_IBMi_FMT_JUL: u32 = 8; pub const SQL_IBMi_FMT_HMS: u32 = 9; pub const SQL_IBMi_FMT_JOB: u32 = 10; pub const SQL_SEP_SLASH: u32 = 1; pub const SQL_SEP_DASH: u32 = 2; pub const SQL_SEP_PERIOD: u32 = 3; pub const SQL_SEP_COMMA: u32 = 4; pub const SQL_SEP_BLANK: u32 = 5; pub const SQL_SEP_COLON: u32 = 6; pub const SQL_SEP_JOB: u32 = 7; pub const SQL_XML_DECLARATION_NONE: u32 = 0; pub const SQL_XML_DECLARATION_BOM: u32 = 1; pub const SQL_XML_DECLARATION_BASE: u32 = 2; pub const SQL_XML_DECLARATION_ENCATTR: u32 = 4; pub const SQL_DB2ZLOAD_RECDELIM_NONE: u32 = 0; pub const SQL_DB2ZLOAD_RECDELIM_ALF: u32 = 1; pub const SQL_DB2ZLOAD_RECDELIM_ENL: u32 = 2; pub const SQL_DB2ZLOAD_RECDELIM_CRLF: u32 = 3; pub const SQL_DB2ZLOAD_FILETYPE_DEL: u32 = 1; pub const SQL_DB2ZLOAD_FILETYPE_INT: u32 = 2; pub const SQL_DB2ZLOAD_FILETYPE_SPANNED: u32 = 3; pub const DSD_ACR_AFFINITY: u32 = 1; pub const SQL_ATTR_OUTPUT_NTS: u32 = 10001; pub const SQL_FILE_READ: u32 = 2; pub const SQL_FILE_CREATE: u32 = 8; pub const SQL_FILE_OVERWRITE: u32 = 16; pub const SQL_FILE_APPEND: u32 = 32; pub const SQL_FROM_LOCATOR: u32 = 2; pub const SQL_FROM_LITERAL: u32 = 3; pub const SQL_ROUND_HALF_EVEN: u32 = 0; pub const SQL_ROUND_HALF_UP: u32 = 1; pub const SQL_ROUND_DOWN: u32 = 2; pub const SQL_ROUND_CEILING: u32 = 3; pub const SQL_ROUND_FLOOR: u32 = 4; pub const SQL_NETWORK_STATISTICS_ON_SKIP_NOSERVER: u32 = 2; pub const SQL_NETWORK_STATISTICS_ON: u32 = 1; pub const SQL_NETWORK_STATISTICS_OFF: u32 = 0; pub const SQL_NETWORK_STATISTICS_DEFAULT: u32 = 0; pub const SQL_READ_ONLY_CONNECTION_ON: u32 = 1; pub const SQL_READ_ONLY_CONNECTION_OFF: u32 = 0; pub const SQL_READ_ONLY_CONNECTION_DEFAULT: u32 = 0; pub const SQL_UNASSIGNED: i32 = -7; pub const SQL_DETECT_READ_ONLY_TXN_ENABLE: u32 = 1; pub const SQL_DETECT_READ_ONLY_TXN_DISABLE: u32 = 0; pub const SQL_C_WCHAR: i32 = -8; pub const SQL_C_TCHAR: u32 = 1; pub type sqlint8 = ::std::os::raw::c_char; pub type sqluint8 = ::std::os::raw::c_uchar; pub type sqlint16 = ::std::os::raw::c_short; pub type sqluint16 = ::std::os::raw::c_ushort; pub type sqlint32 = ::std::os::raw::c_long; pub type sqluint32 = ::std::os::raw::c_ulong; pub type sqlint64 = ::std::os::raw::c_longlong; pub type sqluint64 = ::std::os::raw::c_ulonglong; pub type sqlintptr = sqlint64; pub type sqluintptr = sqluint64; pub type va_list = *mut ::std::os::raw::c_char; extern "C" { pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...); } pub type size_t = ::std::os::raw::c_ulonglong; 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 _exception_code() -> ::std::os::raw::c_ulong; } extern "C" { pub fn _exception_info() -> *mut ::std::os::raw::c_void; } extern "C" { pub fn _abnormal_termination() -> ::std::os::raw::c_int; } pub type __gnuc_va_list = __builtin_va_list; pub type ULONG = ::std::os::raw::c_ulong; pub type PULONG = *mut ULONG; pub type USHORT = ::std::os::raw::c_ushort; pub type PUSHORT = *mut USHORT; pub type UCHAR = ::std::os::raw::c_uchar; pub type PUCHAR = *mut UCHAR; pub type PSZ = *mut ::std::os::raw::c_char; pub type DWORD = ::std::os::raw::c_ulong; pub type BOOL = ::std::os::raw::c_int; pub type BYTE = ::std::os::raw::c_uchar; pub type WORD = ::std::os::raw::c_ushort; pub type FLOAT = f32; pub type PFLOAT = *mut FLOAT; pub type PBOOL = *mut BOOL; pub type LPBOOL = *mut BOOL; pub type PBYTE = *mut BYTE; pub type LPBYTE = *mut BYTE; pub type PINT = *mut ::std::os::raw::c_int; pub type LPINT = *mut ::std::os::raw::c_int; pub type PWORD = *mut WORD; pub type LPWORD = *mut WORD; pub type LPLONG = *mut ::std::os::raw::c_long; pub type PDWORD = *mut DWORD; pub type LPDWORD = *mut DWORD; pub type LPVOID = *mut ::std::os::raw::c_void; pub type LPCVOID = *const ::std::os::raw::c_void; pub type INT = ::std::os::raw::c_int; pub type UINT = ::std::os::raw::c_uint; pub type PUINT = *mut ::std::os::raw::c_uint; pub type __crt_bool = bool; extern "C" { pub fn _invalid_parameter_noinfo(); } extern "C" { pub fn _invalid_parameter_noinfo_noreturn(); } extern "C" { pub fn _invoke_watson( _Expression: *const wchar_t, _FunctionName: *const wchar_t, _FileName: *const wchar_t, _LineNo: ::std::os::raw::c_uint, _Reserved: usize, ); } pub type errno_t = ::std::os::raw::c_int; pub type wint_t = ::std::os::raw::c_ushort; pub type wctype_t = ::std::os::raw::c_ushort; pub type __time32_t = ::std::os::raw::c_long; pub type __time64_t = ::std::os::raw::c_longlong; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __crt_locale_data_public { pub _locale_pctype: *const ::std::os::raw::c_ushort, pub _locale_mb_cur_max: ::std::os::raw::c_int, pub _locale_lc_codepage: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout___crt_locale_data_public() { assert_eq!( ::std::mem::size_of::<__crt_locale_data_public>(), 16usize, concat!("Size of: ", stringify!(__crt_locale_data_public)) ); assert_eq!( ::std::mem::align_of::<__crt_locale_data_public>(), 8usize, concat!("Alignment of ", stringify!(__crt_locale_data_public)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__crt_locale_data_public>()))._locale_pctype as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__crt_locale_data_public), "::", stringify!(_locale_pctype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__crt_locale_data_public>()))._locale_mb_cur_max as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(__crt_locale_data_public), "::", stringify!(_locale_mb_cur_max) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__crt_locale_data_public>()))._locale_lc_codepage as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(__crt_locale_data_public), "::", stringify!(_locale_lc_codepage) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __crt_locale_pointers { pub locinfo: *mut __crt_locale_data, pub mbcinfo: *mut __crt_multibyte_data, } #[test] fn bindgen_test_layout___crt_locale_pointers() { assert_eq!( ::std::mem::size_of::<__crt_locale_pointers>(), 16usize, concat!("Size of: ", stringify!(__crt_locale_pointers)) ); assert_eq!( ::std::mem::align_of::<__crt_locale_pointers>(), 8usize, concat!("Alignment of ", stringify!(__crt_locale_pointers)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__crt_locale_pointers>())).locinfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__crt_locale_pointers), "::", stringify!(locinfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__crt_locale_pointers>())).mbcinfo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(__crt_locale_pointers), "::", stringify!(mbcinfo) ) ); } pub type _locale_t = *mut __crt_locale_pointers; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _Mbstatet { pub _Wchar: ::std::os::raw::c_ulong, pub _Byte: ::std::os::raw::c_ushort, pub _State: ::std::os::raw::c_ushort, } #[test] fn bindgen_test_layout__Mbstatet() { assert_eq!( ::std::mem::size_of::<_Mbstatet>(), 8usize, concat!("Size of: ", stringify!(_Mbstatet)) ); assert_eq!( ::std::mem::align_of::<_Mbstatet>(), 4usize, concat!("Alignment of ", stringify!(_Mbstatet)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_Mbstatet>()))._Wchar as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_Mbstatet), "::", stringify!(_Wchar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_Mbstatet>()))._Byte as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_Mbstatet), "::", stringify!(_Byte) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_Mbstatet>()))._State as *const _ 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 = size_t; extern "C" { pub fn __pctype_func() -> *const ::std::os::raw::c_ushort; } extern "C" { pub fn __pwctype_func() -> *const wctype_t; } extern "C" { pub fn iswalnum(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { pub fn iswalpha(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { pub fn iswascii(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { pub fn iswblank(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { pub fn iswcntrl(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { pub fn iswdigit(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { pub fn iswgraph(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { pub fn iswlower(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { pub fn iswprint(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { pub fn iswpunct(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { pub fn iswspace(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { pub fn iswupper(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { pub fn iswxdigit(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { pub fn __iswcsymf(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { pub fn __iswcsym(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _iswalnum_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _iswalpha_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _iswblank_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _iswcntrl_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _iswdigit_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _iswgraph_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _iswlower_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _iswprint_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _iswpunct_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _iswspace_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _iswupper_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _iswxdigit_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _iswcsymf_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _iswcsym_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn towupper(_C: wint_t) -> wint_t; } extern "C" { pub fn towlower(_C: wint_t) -> wint_t; } extern "C" { pub fn iswctype(_C: wint_t, _Type: wctype_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _towupper_l(_C: wint_t, _Locale: _locale_t) -> wint_t; } extern "C" { pub fn _towlower_l(_C: wint_t, _Locale: _locale_t) -> wint_t; } extern "C" { pub fn _iswctype_l(_C: wint_t, _Type: wctype_t, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn isleadbyte(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _isleadbyte_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn is_wctype(_C: wint_t, _Type: wctype_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _isctype( _C: ::std::os::raw::c_int, _Type: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _isctype_l( _C: ::std::os::raw::c_int, _Type: ::std::os::raw::c_int, _Locale: _locale_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn isalpha(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _isalpha_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn isupper(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _isupper_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn islower(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _islower_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn isdigit(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _isdigit_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn isxdigit(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _isxdigit_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn isspace(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _isspace_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn ispunct(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _ispunct_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn isblank(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _isblank_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn isalnum(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _isalnum_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn isprint(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _isprint_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn isgraph(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _isgraph_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn iscntrl(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _iscntrl_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn toupper(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn tolower(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _tolower(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _tolower_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _toupper(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _toupper_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { pub fn __isascii(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn __toascii(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn __iscsymf(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn __iscsym(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn ___mb_cur_max_func() -> ::std::os::raw::c_int; } extern "C" { pub fn ___mb_cur_max_l_func(_Locale: _locale_t) -> ::std::os::raw::c_int; } pub type POINTER_64_INT = ::std::os::raw::c_ulonglong; pub type INT8 = ::std::os::raw::c_schar; pub type PINT8 = *mut ::std::os::raw::c_schar; pub type INT16 = ::std::os::raw::c_short; pub type PINT16 = *mut ::std::os::raw::c_short; pub type INT32 = ::std::os::raw::c_int; pub type PINT32 = *mut ::std::os::raw::c_int; pub type INT64 = ::std::os::raw::c_longlong; pub type PINT64 = *mut ::std::os::raw::c_longlong; pub type UINT8 = ::std::os::raw::c_uchar; pub type PUINT8 = *mut ::std::os::raw::c_uchar; pub type UINT16 = ::std::os::raw::c_ushort; pub type PUINT16 = *mut ::std::os::raw::c_ushort; pub type UINT32 = ::std::os::raw::c_uint; pub type PUINT32 = *mut ::std::os::raw::c_uint; pub type UINT64 = ::std::os::raw::c_ulonglong; pub type PUINT64 = *mut ::std::os::raw::c_ulonglong; pub type LONG32 = ::std::os::raw::c_int; pub type PLONG32 = *mut ::std::os::raw::c_int; pub type ULONG32 = ::std::os::raw::c_uint; pub type PULONG32 = *mut ::std::os::raw::c_uint; pub type DWORD32 = ::std::os::raw::c_uint; pub type PDWORD32 = *mut ::std::os::raw::c_uint; pub type INT_PTR = ::std::os::raw::c_longlong; pub type PINT_PTR = *mut ::std::os::raw::c_longlong; pub type UINT_PTR = ::std::os::raw::c_ulonglong; pub type PUINT_PTR = *mut ::std::os::raw::c_ulonglong; pub type LONG_PTR = ::std::os::raw::c_longlong; pub type PLONG_PTR = *mut ::std::os::raw::c_longlong; pub type ULONG_PTR = ::std::os::raw::c_ulonglong; pub type PULONG_PTR = *mut ::std::os::raw::c_ulonglong; pub type SHANDLE_PTR = ::std::os::raw::c_longlong; pub type HANDLE_PTR = ::std::os::raw::c_ulonglong; pub type UHALF_PTR = ::std::os::raw::c_uint; pub type PUHALF_PTR = *mut ::std::os::raw::c_uint; pub type HALF_PTR = ::std::os::raw::c_int; pub type PHALF_PTR = *mut ::std::os::raw::c_int; pub type SIZE_T = ULONG_PTR; pub type PSIZE_T = *mut ULONG_PTR; pub type SSIZE_T = LONG_PTR; pub type PSSIZE_T = *mut LONG_PTR; pub type DWORD_PTR = ULONG_PTR; pub type PDWORD_PTR = *mut ULONG_PTR; pub type LONG64 = ::std::os::raw::c_longlong; pub type PLONG64 = *mut ::std::os::raw::c_longlong; pub type ULONG64 = ::std::os::raw::c_ulonglong; pub type PULONG64 = *mut ::std::os::raw::c_ulonglong; pub type DWORD64 = ::std::os::raw::c_ulonglong; pub type PDWORD64 = *mut ::std::os::raw::c_ulonglong; pub type KAFFINITY = ULONG_PTR; pub type PKAFFINITY = *mut KAFFINITY; pub type PVOID = *mut ::std::os::raw::c_void; pub type CHAR = ::std::os::raw::c_char; pub type SHORT = ::std::os::raw::c_short; pub type LONG = ::std::os::raw::c_long; pub type WCHAR = wchar_t; pub type PWCHAR = *mut WCHAR; pub type LPWCH = *mut WCHAR; pub type PWCH = *mut WCHAR; pub type LPCWCH = *const WCHAR; pub type PCWCH = *const WCHAR; pub type NWPSTR = *mut WCHAR; pub type LPWSTR = *mut WCHAR; pub type PWSTR = *mut WCHAR; pub type PZPWSTR = *mut PWSTR; pub type PCZPWSTR = *const PWSTR; pub type LPUWSTR = *mut WCHAR; pub type PUWSTR = *mut WCHAR; pub type LPCWSTR = *const WCHAR; pub type PCWSTR = *const WCHAR; pub type PZPCWSTR = *mut PCWSTR; pub type PCZPCWSTR = *const PCWSTR; pub type LPCUWSTR = *const WCHAR; pub type PCUWSTR = *const WCHAR; pub type PZZWSTR = *mut WCHAR; pub type PCZZWSTR = *const WCHAR; pub type PUZZWSTR = *mut WCHAR; pub type PCUZZWSTR = *const WCHAR; pub type PNZWCH = *mut WCHAR; pub type PCNZWCH = *const WCHAR; pub type PUNZWCH = *mut WCHAR; pub type PCUNZWCH = *const WCHAR; pub type LPCWCHAR = *const WCHAR; pub type PCWCHAR = *const WCHAR; pub type LPCUWCHAR = *const WCHAR; pub type PCUWCHAR = *const WCHAR; pub type UCSCHAR = ::std::os::raw::c_ulong; pub type PUCSCHAR = *mut UCSCHAR; pub type PCUCSCHAR = *const UCSCHAR; pub type PUCSSTR = *mut UCSCHAR; pub type PUUCSSTR = *mut UCSCHAR; pub type PCUCSSTR = *const UCSCHAR; pub type PCUUCSSTR = *const UCSCHAR; pub type PUUCSCHAR = *mut UCSCHAR; pub type PCUUCSCHAR = *const UCSCHAR; pub type PCHAR = *mut CHAR; pub type LPCH = *mut CHAR; pub type PCH = *mut CHAR; pub type LPCCH = *const CHAR; pub type PCCH = *const CHAR; pub type NPSTR = *mut CHAR; pub type LPSTR = *mut CHAR; pub type PSTR = *mut CHAR; pub type PZPSTR = *mut PSTR; pub type PCZPSTR = *const PSTR; pub type LPCSTR = *const CHAR; pub type PCSTR = *const CHAR; pub type PZPCSTR = *mut PCSTR; pub type PCZPCSTR = *const PCSTR; pub type PZZSTR = *mut CHAR; pub type PCZZSTR = *const CHAR; pub type PNZCH = *mut CHAR; pub type PCNZCH = *const CHAR; pub type TCHAR = ::std::os::raw::c_char; pub type PTCHAR = *mut ::std::os::raw::c_char; pub type TBYTE = ::std::os::raw::c_uchar; pub type PTBYTE = *mut ::std::os::raw::c_uchar; pub type LPTCH = LPCH; pub type PTCH = LPCH; pub type LPCTCH = LPCCH; pub type PCTCH = LPCCH; pub type PTSTR = LPSTR; pub type LPTSTR = LPSTR; pub type PUTSTR = LPSTR; pub type LPUTSTR = LPSTR; pub type PCTSTR = LPCSTR; pub type LPCTSTR = LPCSTR; pub type PCUTSTR = LPCSTR; pub type LPCUTSTR = LPCSTR; pub type PZZTSTR = PZZSTR; pub type PUZZTSTR = PZZSTR; pub type PCZZTSTR = PCZZSTR; pub type PCUZZTSTR = PCZZSTR; pub type PZPTSTR = PZPSTR; pub type PNZTCH = PNZCH; pub type PUNZTCH = PNZCH; pub type PCNZTCH = PCNZCH; pub type PCUNZTCH = PCNZCH; pub type PSHORT = *mut SHORT; pub type PLONG = *mut LONG; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _PROCESSOR_NUMBER { pub Group: WORD, pub Number: BYTE, pub Reserved: BYTE, } #[test] fn bindgen_test_layout__PROCESSOR_NUMBER() { assert_eq!( ::std::mem::size_of::<_PROCESSOR_NUMBER>(), 4usize, concat!("Size of: ", stringify!(_PROCESSOR_NUMBER)) ); assert_eq!( ::std::mem::align_of::<_PROCESSOR_NUMBER>(), 2usize, concat!("Alignment of ", stringify!(_PROCESSOR_NUMBER)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_NUMBER>())).Group as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_NUMBER), "::", stringify!(Group) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_NUMBER>())).Number as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_NUMBER), "::", stringify!(Number) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_NUMBER>())).Reserved as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_NUMBER), "::", stringify!(Reserved) ) ); } pub type PROCESSOR_NUMBER = _PROCESSOR_NUMBER; pub type PPROCESSOR_NUMBER = *mut _PROCESSOR_NUMBER; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _GROUP_AFFINITY { pub Mask: KAFFINITY, pub Group: WORD, pub Reserved: [WORD; 3usize], } #[test] fn bindgen_test_layout__GROUP_AFFINITY() { assert_eq!( ::std::mem::size_of::<_GROUP_AFFINITY>(), 16usize, concat!("Size of: ", stringify!(_GROUP_AFFINITY)) ); assert_eq!( ::std::mem::align_of::<_GROUP_AFFINITY>(), 8usize, concat!("Alignment of ", stringify!(_GROUP_AFFINITY)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GROUP_AFFINITY>())).Mask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GROUP_AFFINITY), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GROUP_AFFINITY>())).Group as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_GROUP_AFFINITY), "::", stringify!(Group) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GROUP_AFFINITY>())).Reserved as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_GROUP_AFFINITY), "::", stringify!(Reserved) ) ); } pub type GROUP_AFFINITY = _GROUP_AFFINITY; pub type PGROUP_AFFINITY = *mut _GROUP_AFFINITY; pub type HANDLE = *mut ::std::os::raw::c_void; pub type PHANDLE = *mut HANDLE; pub type FCHAR = BYTE; pub type FSHORT = WORD; pub type FLONG = DWORD; pub type HRESULT = ::std::os::raw::c_long; pub type CCHAR = ::std::os::raw::c_char; pub type LCID = DWORD; pub type PLCID = PDWORD; pub type LANGID = WORD; pub const COMPARTMENT_ID_UNSPECIFIED_COMPARTMENT_ID: COMPARTMENT_ID = 0; pub const COMPARTMENT_ID_DEFAULT_COMPARTMENT_ID: COMPARTMENT_ID = 1; pub type COMPARTMENT_ID = ::std::os::raw::c_int; pub type PCOMPARTMENT_ID = *mut COMPARTMENT_ID; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _FLOAT128 { pub LowPart: ::std::os::raw::c_longlong, pub HighPart: ::std::os::raw::c_longlong, } #[test] fn bindgen_test_layout__FLOAT128() { assert_eq!( ::std::mem::size_of::<_FLOAT128>(), 16usize, concat!("Size of: ", stringify!(_FLOAT128)) ); assert_eq!( ::std::mem::align_of::<_FLOAT128>(), 8usize, concat!("Alignment of ", stringify!(_FLOAT128)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FLOAT128>())).LowPart as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FLOAT128), "::", stringify!(LowPart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FLOAT128>())).HighPart as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FLOAT128), "::", stringify!(HighPart) ) ); } pub type FLOAT128 = _FLOAT128; pub type PFLOAT128 = *mut FLOAT128; pub type LONGLONG = ::std::os::raw::c_longlong; pub type ULONGLONG = ::std::os::raw::c_ulonglong; pub type PLONGLONG = *mut LONGLONG; pub type PULONGLONG = *mut ULONGLONG; pub type USN = LONGLONG; #[repr(C)] #[derive(Copy, Clone)] pub union _LARGE_INTEGER { pub __bindgen_anon_1: _LARGE_INTEGER__bindgen_ty_1, pub u: _LARGE_INTEGER__bindgen_ty_2, pub QuadPart: LONGLONG, _bindgen_union_align: u64, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _LARGE_INTEGER__bindgen_ty_1 { pub LowPart: DWORD, pub HighPart: LONG, } #[test] fn bindgen_test_layout__LARGE_INTEGER__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::<_LARGE_INTEGER__bindgen_ty_1>(), 8usize, concat!("Size of: ", stringify!(_LARGE_INTEGER__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::<_LARGE_INTEGER__bindgen_ty_1>(), 4usize, concat!("Alignment of ", stringify!(_LARGE_INTEGER__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LARGE_INTEGER__bindgen_ty_1>())).LowPart as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LARGE_INTEGER__bindgen_ty_1), "::", stringify!(LowPart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LARGE_INTEGER__bindgen_ty_1>())).HighPart as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_LARGE_INTEGER__bindgen_ty_1), "::", stringify!(HighPart) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _LARGE_INTEGER__bindgen_ty_2 { pub LowPart: DWORD, pub HighPart: LONG, } #[test] fn bindgen_test_layout__LARGE_INTEGER__bindgen_ty_2() { 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::null::<_LARGE_INTEGER__bindgen_ty_2>())).LowPart as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LARGE_INTEGER__bindgen_ty_2), "::", stringify!(LowPart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LARGE_INTEGER__bindgen_ty_2>())).HighPart as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_LARGE_INTEGER__bindgen_ty_2), "::", stringify!(HighPart) ) ); } #[test] fn bindgen_test_layout__LARGE_INTEGER() { 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::null::<_LARGE_INTEGER>())).u as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LARGE_INTEGER), "::", stringify!(u) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LARGE_INTEGER>())).QuadPart as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LARGE_INTEGER), "::", stringify!(QuadPart) ) ); } pub type LARGE_INTEGER = _LARGE_INTEGER; pub type PLARGE_INTEGER = *mut LARGE_INTEGER; #[repr(C)] #[derive(Copy, Clone)] pub union _ULARGE_INTEGER { pub __bindgen_anon_1: _ULARGE_INTEGER__bindgen_ty_1, pub u: _ULARGE_INTEGER__bindgen_ty_2, pub QuadPart: ULONGLONG, _bindgen_union_align: u64, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _ULARGE_INTEGER__bindgen_ty_1 { pub LowPart: DWORD, pub HighPart: DWORD, } #[test] fn bindgen_test_layout__ULARGE_INTEGER__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::<_ULARGE_INTEGER__bindgen_ty_1>(), 8usize, concat!("Size of: ", stringify!(_ULARGE_INTEGER__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::<_ULARGE_INTEGER__bindgen_ty_1>(), 4usize, concat!("Alignment of ", stringify!(_ULARGE_INTEGER__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ULARGE_INTEGER__bindgen_ty_1>())).LowPart as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ULARGE_INTEGER__bindgen_ty_1), "::", stringify!(LowPart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ULARGE_INTEGER__bindgen_ty_1>())).HighPart as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ULARGE_INTEGER__bindgen_ty_1), "::", stringify!(HighPart) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _ULARGE_INTEGER__bindgen_ty_2 { pub LowPart: DWORD, pub HighPart: DWORD, } #[test] fn bindgen_test_layout__ULARGE_INTEGER__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::<_ULARGE_INTEGER__bindgen_ty_2>(), 8usize, concat!("Size of: ", stringify!(_ULARGE_INTEGER__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::<_ULARGE_INTEGER__bindgen_ty_2>(), 4usize, concat!("Alignment of ", stringify!(_ULARGE_INTEGER__bindgen_ty_2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ULARGE_INTEGER__bindgen_ty_2>())).LowPart as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ULARGE_INTEGER__bindgen_ty_2), "::", stringify!(LowPart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ULARGE_INTEGER__bindgen_ty_2>())).HighPart as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ULARGE_INTEGER__bindgen_ty_2), "::", stringify!(HighPart) ) ); } #[test] fn bindgen_test_layout__ULARGE_INTEGER() { assert_eq!( ::std::mem::size_of::<_ULARGE_INTEGER>(), 8usize, concat!("Size of: ", stringify!(_ULARGE_INTEGER)) ); assert_eq!( ::std::mem::align_of::<_ULARGE_INTEGER>(), 8usize, concat!("Alignment of ", stringify!(_ULARGE_INTEGER)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ULARGE_INTEGER>())).u as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ULARGE_INTEGER), "::", stringify!(u) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ULARGE_INTEGER>())).QuadPart as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ULARGE_INTEGER), "::", stringify!(QuadPart) ) ); } pub type ULARGE_INTEGER = _ULARGE_INTEGER; pub type PULARGE_INTEGER = *mut ULARGE_INTEGER; pub type RTL_REFERENCE_COUNT = LONG_PTR; pub type PRTL_REFERENCE_COUNT = *mut LONG_PTR; pub type RTL_REFERENCE_COUNT32 = LONG; pub type PRTL_REFERENCE_COUNT32 = *mut LONG; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _LUID { pub LowPart: DWORD, pub HighPart: LONG, } #[test] fn bindgen_test_layout__LUID() { 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::null::<_LUID>())).LowPart as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LUID), "::", stringify!(LowPart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LUID>())).HighPart as *const _ 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() { assert_eq!( ::std::mem::size_of::<_LIST_ENTRY>(), 16usize, concat!("Size of: ", stringify!(_LIST_ENTRY)) ); assert_eq!( ::std::mem::align_of::<_LIST_ENTRY>(), 8usize, concat!("Alignment of ", stringify!(_LIST_ENTRY)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LIST_ENTRY>())).Flink as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LIST_ENTRY), "::", stringify!(Flink) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LIST_ENTRY>())).Blink as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_LIST_ENTRY), "::", stringify!(Blink) ) ); } pub type LIST_ENTRY = _LIST_ENTRY; pub type PLIST_ENTRY = *mut _LIST_ENTRY; pub type PRLIST_ENTRY = *mut _LIST_ENTRY; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _SINGLE_LIST_ENTRY { pub Next: *mut _SINGLE_LIST_ENTRY, } #[test] fn bindgen_test_layout__SINGLE_LIST_ENTRY() { assert_eq!( ::std::mem::size_of::<_SINGLE_LIST_ENTRY>(), 8usize, concat!("Size of: ", stringify!(_SINGLE_LIST_ENTRY)) ); assert_eq!( ::std::mem::align_of::<_SINGLE_LIST_ENTRY>(), 8usize, concat!("Alignment of ", stringify!(_SINGLE_LIST_ENTRY)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SINGLE_LIST_ENTRY>())).Next as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SINGLE_LIST_ENTRY), "::", stringify!(Next) ) ); } pub type SINGLE_LIST_ENTRY = _SINGLE_LIST_ENTRY; pub type PSINGLE_LIST_ENTRY = *mut _SINGLE_LIST_ENTRY; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct LIST_ENTRY32 { pub Flink: DWORD, pub Blink: DWORD, } #[test] fn bindgen_test_layout_LIST_ENTRY32() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(LIST_ENTRY32)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(LIST_ENTRY32)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flink as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(LIST_ENTRY32), "::", stringify!(Flink) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Blink as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(LIST_ENTRY32), "::", stringify!(Blink) ) ); } pub type PLIST_ENTRY32 = *mut LIST_ENTRY32; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct LIST_ENTRY64 { pub Flink: ULONGLONG, pub Blink: ULONGLONG, } #[test] fn bindgen_test_layout_LIST_ENTRY64() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(LIST_ENTRY64)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(LIST_ENTRY64)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flink as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(LIST_ENTRY64), "::", stringify!(Flink) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Blink as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(LIST_ENTRY64), "::", stringify!(Blink) ) ); } pub type PLIST_ENTRY64 = *mut LIST_ENTRY64; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _GUID { pub Data1: ::std::os::raw::c_ulong, pub Data2: ::std::os::raw::c_ushort, pub Data3: ::std::os::raw::c_ushort, pub Data4: [::std::os::raw::c_uchar; 8usize], } #[test] fn bindgen_test_layout__GUID() { assert_eq!( ::std::mem::size_of::<_GUID>(), 16usize, concat!("Size of: ", stringify!(_GUID)) ); assert_eq!( ::std::mem::align_of::<_GUID>(), 4usize, concat!("Alignment of ", stringify!(_GUID)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GUID>())).Data1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GUID), "::", stringify!(Data1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GUID>())).Data2 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_GUID), "::", stringify!(Data2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GUID>())).Data3 as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_GUID), "::", stringify!(Data3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GUID>())).Data4 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_GUID), "::", stringify!(Data4) ) ); } pub type GUID = _GUID; pub type LPGUID = *mut GUID; pub type LPCGUID = *const GUID; pub type IID = GUID; pub type LPIID = *mut IID; pub type CLSID = GUID; pub type LPCLSID = *mut CLSID; pub type FMTID = GUID; pub type LPFMTID = *mut FMTID; extern "C" { pub fn _errno() -> *mut ::std::os::raw::c_int; } extern "C" { pub fn _set_errno(_Value: ::std::os::raw::c_int) -> errno_t; } extern "C" { pub fn _get_errno(_Value: *mut ::std::os::raw::c_int) -> errno_t; } extern "C" { pub fn __doserrno() -> *mut ::std::os::raw::c_ulong; } extern "C" { pub fn _set_doserrno(_Value: ::std::os::raw::c_ulong) -> errno_t; } extern "C" { pub fn _get_doserrno(_Value: *mut ::std::os::raw::c_ulong) -> errno_t; } extern "C" { pub fn memchr( _Buf: *const ::std::os::raw::c_void, _Val: ::std::os::raw::c_int, _MaxCount: ::std::os::raw::c_ulonglong, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn memcmp( _Buf1: *const ::std::os::raw::c_void, _Buf2: *const ::std::os::raw::c_void, _Size: ::std::os::raw::c_ulonglong, ) -> ::std::os::raw::c_int; } extern "C" { pub fn memcpy( _Dst: *mut ::std::os::raw::c_void, _Src: *const ::std::os::raw::c_void, _Size: ::std::os::raw::c_ulonglong, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn memmove( _Dst: *mut ::std::os::raw::c_void, _Src: *const ::std::os::raw::c_void, _Size: ::std::os::raw::c_ulonglong, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn memset( _Dst: *mut ::std::os::raw::c_void, _Val: ::std::os::raw::c_int, _Size: ::std::os::raw::c_ulonglong, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn strchr( _Str: *const ::std::os::raw::c_char, _Val: ::std::os::raw::c_int, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strrchr( _Str: *const ::std::os::raw::c_char, _Ch: ::std::os::raw::c_int, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strstr( _Str: *const ::std::os::raw::c_char, _SubStr: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn wcschr( _Str: *const ::std::os::raw::c_ushort, _Ch: ::std::os::raw::c_ushort, ) -> *mut ::std::os::raw::c_ushort; } extern "C" { pub fn wcsrchr(_Str: *const wchar_t, _Ch: wchar_t) -> *mut wchar_t; } extern "C" { pub fn wcsstr(_Str: *const wchar_t, _SubStr: *const wchar_t) -> *mut wchar_t; } extern "C" { pub fn _memicmp( _Buf1: *const ::std::os::raw::c_void, _Buf2: *const ::std::os::raw::c_void, _Size: size_t, ) -> ::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: size_t, _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: size_t, ) -> ::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) -> size_t; } 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: size_t) -> size_t; } extern "C" { pub fn wcsncat( _Destination: *mut wchar_t, _Source: *const wchar_t, _Count: size_t, ) -> *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: size_t, ) -> *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) -> size_t; } 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: size_t, _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: size_t, _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: size_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _wcsnicmp_l( _String1: *const wchar_t, _String2: *const wchar_t, _MaxCount: size_t, _Locale: _locale_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _wcsnset_s( _Destination: *mut wchar_t, _SizeInWords: size_t, _Value: wchar_t, _MaxCount: size_t, ) -> errno_t; } extern "C" { pub fn _wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: size_t) -> *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: size_t, _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: size_t) -> 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: size_t, _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: size_t) -> 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: size_t, _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: size_t, ) -> size_t; } extern "C" { pub fn _wcsxfrm_l( _Destination: *mut wchar_t, _Source: *const wchar_t, _MaxCount: size_t, _Locale: _locale_t, ) -> size_t; } 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: size_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _wcsncoll_l( _String1: *const wchar_t, _String2: *const wchar_t, _MaxCount: size_t, _Locale: _locale_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _wcsnicoll( _String1: *const wchar_t, _String2: *const wchar_t, _MaxCount: size_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _wcsnicoll_l( _String1: *const wchar_t, _String2: *const wchar_t, _MaxCount: size_t, _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: size_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: size_t) -> *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: size_t, _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: size_t, ) -> *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: size_t, _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: size_t) -> 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: size_t, _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: size_t, ) -> ::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: size_t, _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: size_t, ) -> ::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: size_t, _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: size_t, ) -> ::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: size_t, _Locale: _locale_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __strncnt(_String: *const ::std::os::raw::c_char, _Count: size_t) -> size_t; } 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: size_t) -> size_t; } extern "C" { pub fn _strnset_s( _String: *mut ::std::os::raw::c_char, _SizeInBytes: size_t, _Value: ::std::os::raw::c_int, _MaxCount: size_t, ) -> errno_t; } extern "C" { pub fn _strnset( _Destination: *mut ::std::os::raw::c_char, _Value: ::std::os::raw::c_int, _Count: size_t, ) -> *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: size_t, _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: size_t) -> 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: size_t, _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: size_t, _Locale: _locale_t, ) -> size_t; } 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: size_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn strnset( _String: *mut ::std::os::raw::c_char, _Value: ::std::os::raw::c_int, _MaxCount: size_t, ) -> *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() { 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::null::<_OBJECTID>())).Lineage as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OBJECTID), "::", stringify!(Lineage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OBJECTID>())).Uniquifier as *const _ 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() { 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::null::<_bindgen_ty_1>())).x as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_bindgen_ty_1), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).test as *const _ 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() { 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::null::<_M128A>())).Low as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_M128A), "::", stringify!(Low) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_M128A>())).High as *const _ 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(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() { 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::null::<_XSAVE_FORMAT>())).ControlWord as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_XSAVE_FORMAT), "::", stringify!(ControlWord) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_FORMAT>())).StatusWord as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_XSAVE_FORMAT), "::", stringify!(StatusWord) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_FORMAT>())).TagWord as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_XSAVE_FORMAT), "::", stringify!(TagWord) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_FORMAT>())).Reserved1 as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(_XSAVE_FORMAT), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_FORMAT>())).ErrorOpcode as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_XSAVE_FORMAT), "::", stringify!(ErrorOpcode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_FORMAT>())).ErrorOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_XSAVE_FORMAT), "::", stringify!(ErrorOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_FORMAT>())).ErrorSelector as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_XSAVE_FORMAT), "::", stringify!(ErrorSelector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_FORMAT>())).Reserved2 as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_XSAVE_FORMAT), "::", stringify!(Reserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_FORMAT>())).DataOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_XSAVE_FORMAT), "::", stringify!(DataOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_FORMAT>())).DataSelector as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_XSAVE_FORMAT), "::", stringify!(DataSelector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_FORMAT>())).Reserved3 as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(_XSAVE_FORMAT), "::", stringify!(Reserved3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_FORMAT>())).MxCsr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_XSAVE_FORMAT), "::", stringify!(MxCsr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_FORMAT>())).MxCsr_Mask as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_XSAVE_FORMAT), "::", stringify!(MxCsr_Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_FORMAT>())).FloatRegisters as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_XSAVE_FORMAT), "::", stringify!(FloatRegisters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_FORMAT>())).XmmRegisters as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(_XSAVE_FORMAT), "::", stringify!(XmmRegisters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_FORMAT>())).Reserved4 as *const _ 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() { 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::null::<_XSAVE_CET_U_FORMAT>())).Ia32CetUMsr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_XSAVE_CET_U_FORMAT), "::", stringify!(Ia32CetUMsr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_CET_U_FORMAT>())).Ia32Pl3SspMsr as *const _ 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() { 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::null::<_XSAVE_AREA_HEADER>())).Mask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_XSAVE_AREA_HEADER), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_AREA_HEADER>())).CompactionMask as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_XSAVE_AREA_HEADER), "::", stringify!(CompactionMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_AREA_HEADER>())).Reserved2 as *const _ 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(Copy, Clone)] pub struct _XSAVE_AREA { pub LegacyState: XSAVE_FORMAT, pub Header: XSAVE_AREA_HEADER, } #[test] fn bindgen_test_layout__XSAVE_AREA() { 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::null::<_XSAVE_AREA>())).LegacyState as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_XSAVE_AREA), "::", stringify!(LegacyState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSAVE_AREA>())).Header as *const _ 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() { 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::null::<_XSTATE_CONTEXT>())).Mask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_XSTATE_CONTEXT), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSTATE_CONTEXT>())).Length as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_XSTATE_CONTEXT), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSTATE_CONTEXT>())).Reserved1 as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_XSTATE_CONTEXT), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSTATE_CONTEXT>())).Area as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_XSTATE_CONTEXT), "::", stringify!(Area) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSTATE_CONTEXT>())).Buffer as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_XSTATE_CONTEXT), "::", stringify!(Buffer) ) ); } pub type XSTATE_CONTEXT = _XSTATE_CONTEXT; pub type PXSTATE_CONTEXT = *mut _XSTATE_CONTEXT; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _SCOPE_TABLE_AMD64 { pub Count: DWORD, pub ScopeRecord: [_SCOPE_TABLE_AMD64__bindgen_ty_1; 1usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _SCOPE_TABLE_AMD64__bindgen_ty_1 { pub BeginAddress: DWORD, pub EndAddress: DWORD, pub HandlerAddress: DWORD, pub JumpTarget: DWORD, } #[test] fn bindgen_test_layout__SCOPE_TABLE_AMD64__bindgen_ty_1() { 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::null::<_SCOPE_TABLE_AMD64__bindgen_ty_1>())).BeginAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1), "::", stringify!(BeginAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCOPE_TABLE_AMD64__bindgen_ty_1>())).EndAddress as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1), "::", stringify!(EndAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCOPE_TABLE_AMD64__bindgen_ty_1>())).HandlerAddress as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1), "::", stringify!(HandlerAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCOPE_TABLE_AMD64__bindgen_ty_1>())).JumpTarget as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1), "::", stringify!(JumpTarget) ) ); } #[test] fn bindgen_test_layout__SCOPE_TABLE_AMD64() { 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::null::<_SCOPE_TABLE_AMD64>())).Count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_AMD64), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCOPE_TABLE_AMD64>())).ScopeRecord as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_AMD64), "::", stringify!(ScopeRecord) ) ); } pub type SCOPE_TABLE_AMD64 = _SCOPE_TABLE_AMD64; pub type PSCOPE_TABLE_AMD64 = *mut _SCOPE_TABLE_AMD64; extern "C" { pub fn _bittest( Base: *const ::std::os::raw::c_long, Offset: ::std::os::raw::c_long, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _bittestandcomplement( Base: *mut ::std::os::raw::c_long, Offset: ::std::os::raw::c_long, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _bittestandset( Base: *mut ::std::os::raw::c_long, Offset: ::std::os::raw::c_long, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _bittestandreset( Base: *mut ::std::os::raw::c_long, Offset: ::std::os::raw::c_long, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _interlockedbittestandset( Base: *mut ::std::os::raw::c_long, Offset: ::std::os::raw::c_long, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _interlockedbittestandreset( Base: *mut ::std::os::raw::c_long, Offset: ::std::os::raw::c_long, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _bittest64( Base: *const ::std::os::raw::c_longlong, Offset: ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _bittestandcomplement64( Base: *mut ::std::os::raw::c_longlong, Offset: ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _bittestandset64( Base: *mut ::std::os::raw::c_longlong, Offset: ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _bittestandreset64( Base: *mut ::std::os::raw::c_longlong, Offset: ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _interlockedbittestandset64( Base: *mut ::std::os::raw::c_longlong, Offset: ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _interlockedbittestandreset64( Base: *mut ::std::os::raw::c_longlong, Offset: ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _BitScanForward( Index: *mut ::std::os::raw::c_ulong, Mask: ::std::os::raw::c_ulong, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _BitScanReverse( Index: *mut ::std::os::raw::c_ulong, Mask: ::std::os::raw::c_ulong, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _BitScanForward64( Index: *mut ::std::os::raw::c_ulong, Mask: ::std::os::raw::c_ulonglong, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _BitScanReverse64( Index: *mut ::std::os::raw::c_ulong, Mask: ::std::os::raw::c_ulonglong, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _InterlockedIncrement16(Addend: *mut ::std::os::raw::c_short) -> ::std::os::raw::c_short; } extern "C" { pub fn _InterlockedDecrement16(Addend: *mut ::std::os::raw::c_short) -> ::std::os::raw::c_short; } extern "C" { pub fn _InterlockedCompareExchange16( Destination: *mut ::std::os::raw::c_short, ExChange: ::std::os::raw::c_short, Comperand: ::std::os::raw::c_short, ) -> ::std::os::raw::c_short; } extern "C" { pub fn _InterlockedAnd( Destination: *mut ::std::os::raw::c_long, Value: ::std::os::raw::c_long, ) -> ::std::os::raw::c_long; } extern "C" { pub fn _InterlockedOr( Destination: *mut ::std::os::raw::c_long, Value: ::std::os::raw::c_long, ) -> ::std::os::raw::c_long; } extern "C" { pub fn _InterlockedXor( Destination: *mut ::std::os::raw::c_long, Value: ::std::os::raw::c_long, ) -> ::std::os::raw::c_long; } extern "C" { pub fn _InterlockedAnd64( Destination: *mut ::std::os::raw::c_longlong, Value: ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_longlong; } extern "C" { pub fn _InterlockedOr64( Destination: *mut ::std::os::raw::c_longlong, Value: ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_longlong; } extern "C" { pub fn _InterlockedXor64( Destination: *mut ::std::os::raw::c_longlong, Value: ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_longlong; } extern "C" { pub fn _InterlockedIncrement(Addend: *mut ::std::os::raw::c_long) -> ::std::os::raw::c_long; } extern "C" { pub fn _InterlockedDecrement(Addend: *mut ::std::os::raw::c_long) -> ::std::os::raw::c_long; } extern "C" { pub fn _InterlockedExchange( Target: *mut ::std::os::raw::c_long, Value: ::std::os::raw::c_long, ) -> ::std::os::raw::c_long; } extern "C" { pub fn _InterlockedExchangeAdd( Addend: *mut ::std::os::raw::c_long, Value: ::std::os::raw::c_long, ) -> ::std::os::raw::c_long; } extern "C" { pub fn _InterlockedCompareExchange( Destination: *mut ::std::os::raw::c_long, ExChange: ::std::os::raw::c_long, Comperand: ::std::os::raw::c_long, ) -> ::std::os::raw::c_long; } extern "C" { pub fn _InterlockedIncrement64( Addend: *mut ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_longlong; } extern "C" { pub fn _InterlockedDecrement64( Addend: *mut ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_longlong; } extern "C" { pub fn _InterlockedExchange64( Target: *mut ::std::os::raw::c_longlong, Value: ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_longlong; } extern "C" { pub fn _InterlockedExchangeAdd64( Addend: *mut ::std::os::raw::c_longlong, Value: ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_longlong; } extern "C" { pub fn _InterlockedCompareExchange64( Destination: *mut ::std::os::raw::c_longlong, ExChange: ::std::os::raw::c_longlong, Comperand: ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_longlong; } extern "C" { pub fn _InterlockedCompareExchange128( Destination: *mut ::std::os::raw::c_longlong, ExchangeHigh: ::std::os::raw::c_longlong, ExchangeLow: ::std::os::raw::c_longlong, ComparandResult: *mut ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_uchar; } extern "C" { pub fn _InterlockedCompareExchangePointer( Destination: *mut *mut ::std::os::raw::c_void, Exchange: *mut ::std::os::raw::c_void, Comperand: *mut ::std::os::raw::c_void, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn _InterlockedExchangePointer( Target: *mut *mut ::std::os::raw::c_void, Value: *mut ::std::os::raw::c_void, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn _InterlockedExchange8( Target: *mut ::std::os::raw::c_char, Value: ::std::os::raw::c_char, ) -> ::std::os::raw::c_char; } extern "C" { pub fn _InterlockedExchange16( Destination: *mut ::std::os::raw::c_short, ExChange: ::std::os::raw::c_short, ) -> ::std::os::raw::c_short; } extern "C" { pub fn _InterlockedExchangeAdd8( _Addend: *mut ::std::os::raw::c_char, _Value: ::std::os::raw::c_char, ) -> ::std::os::raw::c_char; } extern "C" { pub fn _InterlockedAnd8( Destination: *mut ::std::os::raw::c_char, Value: ::std::os::raw::c_char, ) -> ::std::os::raw::c_char; } extern "C" { pub fn _InterlockedOr8( Destination: *mut ::std::os::raw::c_char, Value: ::std::os::raw::c_char, ) -> ::std::os::raw::c_char; } extern "C" { pub fn _InterlockedXor8( Destination: *mut ::std::os::raw::c_char, Value: ::std::os::raw::c_char, ) -> ::std::os::raw::c_char; } extern "C" { pub fn _InterlockedAnd16( Destination: *mut ::std::os::raw::c_short, Value: ::std::os::raw::c_short, ) -> ::std::os::raw::c_short; } extern "C" { pub fn _InterlockedOr16( Destination: *mut ::std::os::raw::c_short, Value: ::std::os::raw::c_short, ) -> ::std::os::raw::c_short; } extern "C" { pub fn _InterlockedXor16( Destination: *mut ::std::os::raw::c_short, Value: ::std::os::raw::c_short, ) -> ::std::os::raw::c_short; } extern "C" { pub fn __cpuidex( CPUInfo: *mut ::std::os::raw::c_int, Function: ::std::os::raw::c_int, SubLeaf: ::std::os::raw::c_int, ); } extern "C" { pub fn _mm_clflush(Address: *const ::std::os::raw::c_void); } extern "C" { pub fn _ReadWriteBarrier(); } extern "C" { pub fn __faststorefence(); } extern "C" { pub fn _mm_lfence(); } extern "C" { pub fn _mm_mfence(); } extern "C" { pub fn _mm_sfence(); } extern "C" { pub fn _mm_pause(); } extern "C" { pub fn _mm_prefetch(a: *const ::std::os::raw::c_char, sel: ::std::os::raw::c_int); } extern "C" { pub fn _m_prefetchw(Source: *const ::std::os::raw::c_void); } extern "C" { pub fn _mm_getcsr() -> ::std::os::raw::c_uint; } extern "C" { pub fn _mm_setcsr(MxCsr: ::std::os::raw::c_uint); } extern "C" { pub fn __getcallerseflags() -> ::std::os::raw::c_uint; } extern "C" { pub fn __segmentlimit(Selector: DWORD) -> DWORD; } extern "C" { pub fn __readpmc(Counter: DWORD) -> DWORD64; } extern "C" { pub fn __rdtsc() -> ::std::os::raw::c_ulonglong; } extern "C" { pub fn __movsb(Destination: PBYTE, Source: *const BYTE, Count: SIZE_T); } extern "C" { pub fn __movsw(Destination: PWORD, Source: *const WORD, Count: SIZE_T); } extern "C" { pub fn __movsd(Destination: PDWORD, Source: *const DWORD, Count: SIZE_T); } extern "C" { pub fn __movsq(Destination: PDWORD64, Source: *const DWORD64, Count: SIZE_T); } extern "C" { pub fn __stosb( Destination: *mut ::std::os::raw::c_uchar, Value: ::std::os::raw::c_uchar, Count: ::std::os::raw::c_ulonglong, ); } extern "C" { pub fn __stosw(Destination: PWORD, Value: WORD, Count: SIZE_T); } extern "C" { pub fn __stosd(Destination: PDWORD, Value: DWORD, Count: SIZE_T); } extern "C" { pub fn __stosq(Destination: PDWORD64, Value: DWORD64, Count: SIZE_T); } extern "C" { pub fn __mulh( Multiplier: ::std::os::raw::c_longlong, Multiplicand: ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_longlong; } extern "C" { pub fn __umulh( Multiplier: ::std::os::raw::c_ulonglong, Multiplicand: ::std::os::raw::c_ulonglong, ) -> ::std::os::raw::c_ulonglong; } extern "C" { pub fn __popcnt64(operand: ::std::os::raw::c_ulonglong) -> ::std::os::raw::c_ulonglong; } extern "C" { pub fn __shiftleft128( LowPart: ::std::os::raw::c_ulonglong, HighPart: ::std::os::raw::c_ulonglong, Shift: ::std::os::raw::c_uchar, ) -> ::std::os::raw::c_ulonglong; } extern "C" { pub fn __shiftright128( LowPart: ::std::os::raw::c_ulonglong, HighPart: ::std::os::raw::c_ulonglong, Shift: ::std::os::raw::c_uchar, ) -> ::std::os::raw::c_ulonglong; } extern "C" { pub fn _mul128( Multiplier: ::std::os::raw::c_longlong, Multiplicand: ::std::os::raw::c_longlong, HighProduct: *mut ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_longlong; } extern "C" { pub fn _umul128( Multiplier: ::std::os::raw::c_ulonglong, Multiplicand: ::std::os::raw::c_ulonglong, HighProduct: *mut ::std::os::raw::c_ulonglong, ) -> ::std::os::raw::c_ulonglong; } extern "C" { pub fn __readgsbyte(Offset: ::std::os::raw::c_ulong) -> ::std::os::raw::c_uchar; } extern "C" { pub fn __readgsword(Offset: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ushort; } extern "C" { pub fn __readgsdword(Offset: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ulong; } extern "C" { pub fn __readgsqword(Offset: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ulonglong; } extern "C" { pub fn __writegsbyte(Offset: DWORD, Data: BYTE); } extern "C" { pub fn __writegsword(Offset: DWORD, Data: WORD); } extern "C" { pub fn __writegsdword(Offset: DWORD, Data: DWORD); } extern "C" { pub fn __writegsqword(Offset: DWORD, Data: DWORD64); } extern "C" { pub fn __incgsbyte(Offset: DWORD); } extern "C" { pub fn __addgsbyte(Offset: DWORD, Value: BYTE); } extern "C" { pub fn __incgsword(Offset: DWORD); } extern "C" { pub fn __addgsword(Offset: DWORD, Value: WORD); } extern "C" { pub fn __incgsdword(Offset: DWORD); } extern "C" { pub fn __addgsdword(Offset: DWORD, Value: DWORD); } extern "C" { pub fn __incgsqword(Offset: DWORD); } extern "C" { pub fn __addgsqword(Offset: DWORD, Value: DWORD64); } pub type XMM_SAVE_AREA32 = XSAVE_FORMAT; pub type PXMM_SAVE_AREA32 = *mut XSAVE_FORMAT; #[repr(C)] #[repr(align(16))] #[derive(Copy, Clone)] pub struct _CONTEXT { pub P1Home: DWORD64, pub P2Home: DWORD64, pub P3Home: DWORD64, pub P4Home: DWORD64, pub P5Home: DWORD64, pub P6Home: DWORD64, pub ContextFlags: DWORD, pub MxCsr: DWORD, pub SegCs: WORD, pub SegDs: WORD, pub SegEs: WORD, pub SegFs: WORD, pub SegGs: WORD, pub SegSs: WORD, pub EFlags: DWORD, pub Dr0: DWORD64, pub Dr1: DWORD64, pub Dr2: DWORD64, pub Dr3: DWORD64, pub Dr6: DWORD64, pub Dr7: DWORD64, pub Rax: DWORD64, pub Rcx: DWORD64, pub Rdx: DWORD64, pub Rbx: DWORD64, pub Rsp: DWORD64, pub Rbp: DWORD64, pub Rsi: DWORD64, pub Rdi: DWORD64, pub R8: DWORD64, pub R9: DWORD64, pub R10: DWORD64, pub R11: DWORD64, pub R12: DWORD64, pub R13: DWORD64, pub R14: DWORD64, pub R15: DWORD64, pub Rip: DWORD64, pub __bindgen_anon_1: _CONTEXT__bindgen_ty_1, pub VectorRegister: [M128A; 26usize], pub VectorControl: DWORD64, pub DebugControl: DWORD64, pub LastBranchToRip: DWORD64, pub LastBranchFromRip: DWORD64, pub LastExceptionToRip: DWORD64, pub LastExceptionFromRip: DWORD64, } #[repr(C)] #[repr(align(16))] #[derive(Copy, Clone)] pub union _CONTEXT__bindgen_ty_1 { pub FltSave: XMM_SAVE_AREA32, pub __bindgen_anon_1: _CONTEXT__bindgen_ty_1__bindgen_ty_1, _bindgen_union_align: [u128; 32usize], } #[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() { 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::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Legacy as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Legacy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm0 as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm1 as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm2 as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm3 as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm4 as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm5 as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm5) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm6 as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm6) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm7 as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm7) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm8 as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm9 as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm9) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm10 as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm10) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm11 as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm12 as *const _ as usize }, 352usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm13 as *const _ as usize }, 368usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm13) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm14 as *const _ as usize }, 384usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).Xmm15 as *const _ 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() { 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::null::<_CONTEXT__bindgen_ty_1>())).FltSave as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CONTEXT__bindgen_ty_1), "::", stringify!(FltSave) ) ); } #[test] fn bindgen_test_layout__CONTEXT() { 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::null::<_CONTEXT>())).P1Home as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(P1Home) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).P2Home as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(P2Home) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).P3Home as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(P3Home) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).P4Home as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(P4Home) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).P5Home as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(P5Home) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).P6Home as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(P6Home) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).ContextFlags as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(ContextFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).MxCsr as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(MxCsr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).SegCs as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(SegCs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).SegDs as *const _ as usize }, 58usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(SegDs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).SegEs as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(SegEs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).SegFs as *const _ as usize }, 62usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(SegFs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).SegGs as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(SegGs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).SegSs as *const _ as usize }, 66usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(SegSs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).EFlags as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(EFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).Dr0 as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(Dr0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).Dr1 as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(Dr1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).Dr2 as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(Dr2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).Dr3 as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(Dr3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).Dr6 as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(Dr6) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).Dr7 as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(Dr7) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).Rax as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(Rax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).Rcx as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(Rcx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).Rdx as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(Rdx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).Rbx as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(Rbx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).Rsp as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(Rsp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).Rbp as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(Rbp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).Rsi as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(Rsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).Rdi as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(Rdi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).R8 as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(R8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).R9 as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(R9) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).R10 as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(R10) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).R11 as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(R11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).R12 as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(R12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).R13 as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(R13) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).R14 as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(R14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).R15 as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(R15) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).Rip as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(Rip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).VectorRegister as *const _ as usize }, 768usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(VectorRegister) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).VectorControl as *const _ as usize }, 1184usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(VectorControl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).DebugControl as *const _ as usize }, 1192usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(DebugControl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).LastBranchToRip as *const _ as usize }, 1200usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(LastBranchToRip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).LastBranchFromRip as *const _ as usize }, 1208usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(LastBranchFromRip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).LastExceptionToRip as *const _ as usize }, 1216usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(LastExceptionToRip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTEXT>())).LastExceptionFromRip as *const _ as usize }, 1224usize, concat!( "Offset of field: ", stringify!(_CONTEXT), "::", stringify!(LastExceptionFromRip) ) ); } pub type CONTEXT = _CONTEXT; pub type PCONTEXT = *mut _CONTEXT; pub type RUNTIME_FUNCTION = _IMAGE_RUNTIME_FUNCTION_ENTRY; pub type PRUNTIME_FUNCTION = *mut _IMAGE_RUNTIME_FUNCTION_ENTRY; pub type SCOPE_TABLE = SCOPE_TABLE_AMD64; pub type PSCOPE_TABLE = *mut SCOPE_TABLE_AMD64; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _UNWIND_HISTORY_TABLE_ENTRY { pub ImageBase: DWORD64, pub FunctionEntry: PRUNTIME_FUNCTION, } #[test] fn bindgen_test_layout__UNWIND_HISTORY_TABLE_ENTRY() { 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::null::<_UNWIND_HISTORY_TABLE_ENTRY>())).ImageBase as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_UNWIND_HISTORY_TABLE_ENTRY), "::", stringify!(ImageBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_UNWIND_HISTORY_TABLE_ENTRY>())).FunctionEntry as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_UNWIND_HISTORY_TABLE_ENTRY), "::", stringify!(FunctionEntry) ) ); } pub type UNWIND_HISTORY_TABLE_ENTRY = _UNWIND_HISTORY_TABLE_ENTRY; pub type PUNWIND_HISTORY_TABLE_ENTRY = *mut _UNWIND_HISTORY_TABLE_ENTRY; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _UNWIND_HISTORY_TABLE { pub Count: DWORD, pub LocalHint: BYTE, pub GlobalHint: BYTE, pub Search: BYTE, pub Once: BYTE, pub LowAddress: DWORD64, pub HighAddress: DWORD64, pub Entry: [UNWIND_HISTORY_TABLE_ENTRY; 12usize], } #[test] fn bindgen_test_layout__UNWIND_HISTORY_TABLE() { 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::null::<_UNWIND_HISTORY_TABLE>())).Count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_UNWIND_HISTORY_TABLE), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_UNWIND_HISTORY_TABLE>())).LocalHint as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_UNWIND_HISTORY_TABLE), "::", stringify!(LocalHint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_UNWIND_HISTORY_TABLE>())).GlobalHint as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(_UNWIND_HISTORY_TABLE), "::", stringify!(GlobalHint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_UNWIND_HISTORY_TABLE>())).Search as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_UNWIND_HISTORY_TABLE), "::", stringify!(Search) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_UNWIND_HISTORY_TABLE>())).Once as *const _ as usize }, 7usize, concat!( "Offset of field: ", stringify!(_UNWIND_HISTORY_TABLE), "::", stringify!(Once) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_UNWIND_HISTORY_TABLE>())).LowAddress as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_UNWIND_HISTORY_TABLE), "::", stringify!(LowAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_UNWIND_HISTORY_TABLE>())).HighAddress as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_UNWIND_HISTORY_TABLE), "::", stringify!(HighAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_UNWIND_HISTORY_TABLE>())).Entry as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_UNWIND_HISTORY_TABLE), "::", stringify!(Entry) ) ); } pub type UNWIND_HISTORY_TABLE = _UNWIND_HISTORY_TABLE; pub type PUNWIND_HISTORY_TABLE = *mut _UNWIND_HISTORY_TABLE; pub type GET_RUNTIME_FUNCTION_CALLBACK = ::std::option::Option< unsafe extern "C" fn(ControlPc: DWORD64, Context: PVOID) -> PRUNTIME_FUNCTION, >; pub type PGET_RUNTIME_FUNCTION_CALLBACK = GET_RUNTIME_FUNCTION_CALLBACK; pub type OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK = ::std::option::Option< unsafe extern "C" fn( Process: HANDLE, TableAddress: PVOID, Entries: PDWORD, Functions: *mut PRUNTIME_FUNCTION, ) -> DWORD, >; pub type POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK = OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _DISPATCHER_CONTEXT { pub ControlPc: DWORD64, pub ImageBase: DWORD64, pub FunctionEntry: PRUNTIME_FUNCTION, pub EstablisherFrame: DWORD64, pub TargetIp: DWORD64, pub ContextRecord: PCONTEXT, pub LanguageHandler: PEXCEPTION_ROUTINE, pub HandlerData: PVOID, pub HistoryTable: PUNWIND_HISTORY_TABLE, pub ScopeIndex: DWORD, pub Fill0: DWORD, } #[test] fn bindgen_test_layout__DISPATCHER_CONTEXT() { 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::null::<_DISPATCHER_CONTEXT>())).ControlPc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISPATCHER_CONTEXT), "::", stringify!(ControlPc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPATCHER_CONTEXT>())).ImageBase as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DISPATCHER_CONTEXT), "::", stringify!(ImageBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPATCHER_CONTEXT>())).FunctionEntry as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DISPATCHER_CONTEXT), "::", stringify!(FunctionEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPATCHER_CONTEXT>())).EstablisherFrame as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DISPATCHER_CONTEXT), "::", stringify!(EstablisherFrame) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPATCHER_CONTEXT>())).TargetIp as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DISPATCHER_CONTEXT), "::", stringify!(TargetIp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPATCHER_CONTEXT>())).ContextRecord as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_DISPATCHER_CONTEXT), "::", stringify!(ContextRecord) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPATCHER_CONTEXT>())).LanguageHandler as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_DISPATCHER_CONTEXT), "::", stringify!(LanguageHandler) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPATCHER_CONTEXT>())).HandlerData as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_DISPATCHER_CONTEXT), "::", stringify!(HandlerData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPATCHER_CONTEXT>())).HistoryTable as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_DISPATCHER_CONTEXT), "::", stringify!(HistoryTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPATCHER_CONTEXT>())).ScopeIndex as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_DISPATCHER_CONTEXT), "::", stringify!(ScopeIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPATCHER_CONTEXT>())).Fill0 as *const _ 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, _bindgen_union_align: [u64; 16usize], } #[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() { 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::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm0 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm1 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm2 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm3 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm4 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm5 as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm5) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm6 as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm6) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm7 as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm7) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm8 as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm9 as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm9) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm10 as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm10) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm11 as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm12 as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm13 as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm13) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm14 as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Xmm14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>())) .Xmm15 as *const _ 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() { 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::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1>())).FloatingContext as *const _ 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, _bindgen_union_align: [u64; 16usize], } #[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() { 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::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .Rax as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), "::", stringify!(Rax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .Rcx as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), "::", stringify!(Rcx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .Rdx as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), "::", stringify!(Rdx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .Rbx as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), "::", stringify!(Rbx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .Rsp as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), "::", stringify!(Rsp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .Rbp as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), "::", stringify!(Rbp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .Rsi as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), "::", stringify!(Rsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .Rdi as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), "::", stringify!(Rdi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .R8 as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), "::", stringify!(R8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .R9 as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), "::", stringify!(R9) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .R10 as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), "::", stringify!(R10) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .R11 as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), "::", stringify!(R11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .R12 as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), "::", stringify!(R12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .R13 as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), "::", stringify!(R13) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .R14 as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), "::", stringify!(R14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>())) .R15 as *const _ 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() { 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::null::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2>())).IntegerContext as *const _ 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() { 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::null::<_SCOPE_TABLE_ARM__bindgen_ty_1>())).BeginAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1), "::", stringify!(BeginAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCOPE_TABLE_ARM__bindgen_ty_1>())).EndAddress as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1), "::", stringify!(EndAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCOPE_TABLE_ARM__bindgen_ty_1>())).HandlerAddress as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1), "::", stringify!(HandlerAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCOPE_TABLE_ARM__bindgen_ty_1>())).JumpTarget as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1), "::", stringify!(JumpTarget) ) ); } #[test] fn bindgen_test_layout__SCOPE_TABLE_ARM() { 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::null::<_SCOPE_TABLE_ARM>())).Count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_ARM), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCOPE_TABLE_ARM>())).ScopeRecord as *const _ 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() { 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::null::<_SCOPE_TABLE_ARM64__bindgen_ty_1>())).BeginAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1), "::", stringify!(BeginAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCOPE_TABLE_ARM64__bindgen_ty_1>())).EndAddress as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1), "::", stringify!(EndAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCOPE_TABLE_ARM64__bindgen_ty_1>())).HandlerAddress as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1), "::", stringify!(HandlerAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCOPE_TABLE_ARM64__bindgen_ty_1>())).JumpTarget as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1), "::", stringify!(JumpTarget) ) ); } #[test] fn bindgen_test_layout__SCOPE_TABLE_ARM64() { 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::null::<_SCOPE_TABLE_ARM64>())).Count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_ARM64), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCOPE_TABLE_ARM64>())).ScopeRecord as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCOPE_TABLE_ARM64), "::", stringify!(ScopeRecord) ) ); } pub type SCOPE_TABLE_ARM64 = _SCOPE_TABLE_ARM64; pub type PSCOPE_TABLE_ARM64 = *mut _SCOPE_TABLE_ARM64; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _KNONVOLATILE_CONTEXT_POINTERS_ARM64 { pub X19: PDWORD64, pub X20: PDWORD64, pub X21: PDWORD64, pub X22: PDWORD64, pub X23: PDWORD64, pub X24: PDWORD64, pub X25: PDWORD64, pub X26: PDWORD64, pub X27: PDWORD64, pub X28: PDWORD64, pub Fp: PDWORD64, pub Lr: PDWORD64, pub D8: PDWORD64, pub D9: PDWORD64, pub D10: PDWORD64, pub D11: PDWORD64, pub D12: PDWORD64, pub D13: PDWORD64, pub D14: PDWORD64, pub D15: PDWORD64, } #[test] fn bindgen_test_layout__KNONVOLATILE_CONTEXT_POINTERS_ARM64() { 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::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).X19 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(X19) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).X20 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(X20) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).X21 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(X21) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).X22 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(X22) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).X23 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(X23) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).X24 as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(X24) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).X25 as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(X25) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).X26 as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(X26) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).X27 as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(X27) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).X28 as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(X28) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).Fp as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(Fp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).Lr as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(Lr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).D8 as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(D8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).D9 as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(D9) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).D10 as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(D10) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).D11 as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(D11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).D12 as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(D12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).D13 as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(D13) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).D14 as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), "::", stringify!(D14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>())).D15 as *const _ 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, _bindgen_union_align: u32, } #[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() { 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::null::<_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>())).BaseMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), "::", stringify!(BaseMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>())).Flags1 as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Flags1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>())).Flags2 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Flags2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>())).BaseHi as *const _ 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_1: __BindgenBitfieldUnit<[u8; 4usize], u8>, } #[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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> = 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() { 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::null::<_LDT_ENTRY__bindgen_ty_1>())).Bytes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LDT_ENTRY__bindgen_ty_1), "::", stringify!(Bytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LDT_ENTRY__bindgen_ty_1>())).Bits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LDT_ENTRY__bindgen_ty_1), "::", stringify!(Bits) ) ); } #[test] fn bindgen_test_layout__LDT_ENTRY() { 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::null::<_LDT_ENTRY>())).LimitLow as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LDT_ENTRY), "::", stringify!(LimitLow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LDT_ENTRY>())).BaseLow as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_LDT_ENTRY), "::", stringify!(BaseLow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LDT_ENTRY>())).HighWord as *const _ 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(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() { 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::null::<_WOW64_FLOATING_SAVE_AREA>())).ControlWord as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WOW64_FLOATING_SAVE_AREA), "::", stringify!(ControlWord) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_FLOATING_SAVE_AREA>())).StatusWord as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_WOW64_FLOATING_SAVE_AREA), "::", stringify!(StatusWord) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_FLOATING_SAVE_AREA>())).TagWord as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_WOW64_FLOATING_SAVE_AREA), "::", stringify!(TagWord) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_FLOATING_SAVE_AREA>())).ErrorOffset as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_WOW64_FLOATING_SAVE_AREA), "::", stringify!(ErrorOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_FLOATING_SAVE_AREA>())).ErrorSelector as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_WOW64_FLOATING_SAVE_AREA), "::", stringify!(ErrorSelector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_FLOATING_SAVE_AREA>())).DataOffset as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_WOW64_FLOATING_SAVE_AREA), "::", stringify!(DataOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_FLOATING_SAVE_AREA>())).DataSelector as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_WOW64_FLOATING_SAVE_AREA), "::", stringify!(DataSelector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_FLOATING_SAVE_AREA>())).RegisterArea as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_WOW64_FLOATING_SAVE_AREA), "::", stringify!(RegisterArea) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_FLOATING_SAVE_AREA>())).Cr0NpxState as *const _ 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(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() { 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::null::<_WOW64_CONTEXT>())).ContextFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(ContextFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).Dr0 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(Dr0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).Dr1 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(Dr1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).Dr2 as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(Dr2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).Dr3 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(Dr3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).Dr6 as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(Dr6) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).Dr7 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(Dr7) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).FloatSave as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(FloatSave) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).SegGs as *const _ as usize }, 140usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(SegGs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).SegFs as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(SegFs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).SegEs as *const _ as usize }, 148usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(SegEs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).SegDs as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(SegDs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).Edi as *const _ as usize }, 156usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(Edi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).Esi as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(Esi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).Ebx as *const _ as usize }, 164usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(Ebx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).Edx as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(Edx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).Ecx as *const _ as usize }, 172usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(Ecx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).Eax as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(Eax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).Ebp as *const _ as usize }, 180usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(Ebp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).Eip as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(Eip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).SegCs as *const _ as usize }, 188usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(SegCs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).EFlags as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(EFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).Esp as *const _ as usize }, 196usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(Esp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).SegSs as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(_WOW64_CONTEXT), "::", stringify!(SegSs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_CONTEXT>())).ExtendedRegisters as *const _ 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, _bindgen_union_align: u32, } #[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() { 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::null::<_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>())).BaseMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), "::", stringify!(BaseMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>())).Flags1 as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Flags1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>())).Flags2 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Flags2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>())).BaseHi as *const _ 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_1: __BindgenBitfieldUnit<[u8; 4usize], u8>, } #[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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> = 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() { 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::null::<_WOW64_LDT_ENTRY__bindgen_ty_1>())).Bytes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1), "::", stringify!(Bytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_LDT_ENTRY__bindgen_ty_1>())).Bits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1), "::", stringify!(Bits) ) ); } #[test] fn bindgen_test_layout__WOW64_LDT_ENTRY() { 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::null::<_WOW64_LDT_ENTRY>())).LimitLow as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WOW64_LDT_ENTRY), "::", stringify!(LimitLow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_LDT_ENTRY>())).BaseLow as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_WOW64_LDT_ENTRY), "::", stringify!(BaseLow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_LDT_ENTRY>())).HighWord as *const _ 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() { 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::null::<_WOW64_DESCRIPTOR_TABLE_ENTRY>())).Selector as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WOW64_DESCRIPTOR_TABLE_ENTRY), "::", stringify!(Selector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOW64_DESCRIPTOR_TABLE_ENTRY>())).Descriptor as *const _ 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() { 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::null::<_EXCEPTION_RECORD>())).ExceptionCode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD), "::", stringify!(ExceptionCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD>())).ExceptionFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD), "::", stringify!(ExceptionFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD>())).ExceptionRecord as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD), "::", stringify!(ExceptionRecord) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD>())).ExceptionAddress as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD), "::", stringify!(ExceptionAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD>())).NumberParameters as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD), "::", stringify!(NumberParameters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD>())).ExceptionInformation as *const _ 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() { 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::null::<_EXCEPTION_RECORD32>())).ExceptionCode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD32), "::", stringify!(ExceptionCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD32>())).ExceptionFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD32), "::", stringify!(ExceptionFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD32>())).ExceptionRecord as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD32), "::", stringify!(ExceptionRecord) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD32>())).ExceptionAddress as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD32), "::", stringify!(ExceptionAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD32>())).NumberParameters as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD32), "::", stringify!(NumberParameters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD32>())).ExceptionInformation as *const _ 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() { 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::null::<_EXCEPTION_RECORD64>())).ExceptionCode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD64), "::", stringify!(ExceptionCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD64>())).ExceptionFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD64), "::", stringify!(ExceptionFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD64>())).ExceptionRecord as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD64), "::", stringify!(ExceptionRecord) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD64>())).ExceptionAddress as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD64), "::", stringify!(ExceptionAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD64>())).NumberParameters as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD64), "::", stringify!(NumberParameters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD64>())).__unusedAlignment as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_RECORD64), "::", stringify!(__unusedAlignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_RECORD64>())).ExceptionInformation as *const _ 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() { 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::null::<_EXCEPTION_POINTERS>())).ExceptionRecord as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_POINTERS), "::", stringify!(ExceptionRecord) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_POINTERS>())).ContextRecord as *const _ 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() { 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::null::<_GENERIC_MAPPING>())).GenericRead as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GENERIC_MAPPING), "::", stringify!(GenericRead) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GENERIC_MAPPING>())).GenericWrite as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_GENERIC_MAPPING), "::", stringify!(GenericWrite) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GENERIC_MAPPING>())).GenericExecute as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_GENERIC_MAPPING), "::", stringify!(GenericExecute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GENERIC_MAPPING>())).GenericAll as *const _ 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() { 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::null::<_LUID_AND_ATTRIBUTES>())).Luid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LUID_AND_ATTRIBUTES), "::", stringify!(Luid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LUID_AND_ATTRIBUTES>())).Attributes as *const _ 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() { 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::null::<_SID_IDENTIFIER_AUTHORITY>())).Value as *const _ 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() { 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::null::<_SID>())).Revision as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SID), "::", stringify!(Revision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SID>())).SubAuthorityCount as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_SID), "::", stringify!(SubAuthorityCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SID>())).IdentifierAuthority as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_SID), "::", stringify!(IdentifierAuthority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SID>())).SubAuthority as *const _ 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], _bindgen_union_align: [u32; 17usize], } #[test] fn bindgen_test_layout__SE_SID() { 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::null::<_SE_SID>())).Sid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SE_SID), "::", stringify!(Sid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_SID>())).Buffer as *const _ 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() { 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::null::<_SID_AND_ATTRIBUTES>())).Sid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SID_AND_ATTRIBUTES), "::", stringify!(Sid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SID_AND_ATTRIBUTES>())).Attributes as *const _ 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() { 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::null::<_SID_AND_ATTRIBUTES_HASH>())).SidCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SID_AND_ATTRIBUTES_HASH), "::", stringify!(SidCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SID_AND_ATTRIBUTES_HASH>())).SidAttr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SID_AND_ATTRIBUTES_HASH), "::", stringify!(SidAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SID_AND_ATTRIBUTES_HASH>())).Hash as *const _ 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() { 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::null::<_ACL>())).AclRevision as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACL), "::", stringify!(AclRevision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACL>())).Sbz1 as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_ACL), "::", stringify!(Sbz1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACL>())).AclSize as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_ACL), "::", stringify!(AclSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACL>())).AceCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ACL), "::", stringify!(AceCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACL>())).Sbz2 as *const _ 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() { 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::null::<_ACE_HEADER>())).AceType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACE_HEADER), "::", stringify!(AceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACE_HEADER>())).AceFlags as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_ACE_HEADER), "::", stringify!(AceFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACE_HEADER>())).AceSize as *const _ 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() { 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::null::<_ACCESS_ALLOWED_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACCESS_ALLOWED_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_ALLOWED_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ACCESS_ALLOWED_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_ALLOWED_ACE>())).SidStart as *const _ 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() { 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::null::<_ACCESS_DENIED_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACCESS_DENIED_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_DENIED_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ACCESS_DENIED_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_DENIED_ACE>())).SidStart as *const _ 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() { 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::null::<_SYSTEM_AUDIT_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_AUDIT_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_AUDIT_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_AUDIT_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_AUDIT_ACE>())).SidStart as *const _ 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() { 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::null::<_SYSTEM_ALARM_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ALARM_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ALARM_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ALARM_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ALARM_ACE>())).SidStart as *const _ 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() { 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::null::<_SYSTEM_RESOURCE_ATTRIBUTE_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_RESOURCE_ATTRIBUTE_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_RESOURCE_ATTRIBUTE_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_RESOURCE_ATTRIBUTE_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_RESOURCE_ATTRIBUTE_ACE>())).SidStart as *const _ 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() { 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::null::<_SYSTEM_SCOPED_POLICY_ID_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_SCOPED_POLICY_ID_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_SCOPED_POLICY_ID_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_SCOPED_POLICY_ID_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_SCOPED_POLICY_ID_ACE>())).SidStart as *const _ 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() { 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::null::<_SYSTEM_MANDATORY_LABEL_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_MANDATORY_LABEL_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_MANDATORY_LABEL_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_MANDATORY_LABEL_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_MANDATORY_LABEL_ACE>())).SidStart as *const _ 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() { 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::null::<_SYSTEM_PROCESS_TRUST_LABEL_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_PROCESS_TRUST_LABEL_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_PROCESS_TRUST_LABEL_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_PROCESS_TRUST_LABEL_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_PROCESS_TRUST_LABEL_ACE>())).SidStart as *const _ 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() { 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::null::<_SYSTEM_ACCESS_FILTER_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ACCESS_FILTER_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ACCESS_FILTER_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ACCESS_FILTER_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ACCESS_FILTER_ACE>())).SidStart as *const _ 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() { 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::null::<_ACCESS_ALLOWED_OBJECT_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACCESS_ALLOWED_OBJECT_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_ALLOWED_OBJECT_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ACCESS_ALLOWED_OBJECT_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_ALLOWED_OBJECT_ACE>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ACCESS_ALLOWED_OBJECT_ACE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_ALLOWED_OBJECT_ACE>())).ObjectType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_ACCESS_ALLOWED_OBJECT_ACE), "::", stringify!(ObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_ALLOWED_OBJECT_ACE>())).InheritedObjectType as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_ACCESS_ALLOWED_OBJECT_ACE), "::", stringify!(InheritedObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_ALLOWED_OBJECT_ACE>())).SidStart as *const _ 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() { 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::null::<_ACCESS_DENIED_OBJECT_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACCESS_DENIED_OBJECT_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_DENIED_OBJECT_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ACCESS_DENIED_OBJECT_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_DENIED_OBJECT_ACE>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ACCESS_DENIED_OBJECT_ACE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_DENIED_OBJECT_ACE>())).ObjectType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_ACCESS_DENIED_OBJECT_ACE), "::", stringify!(ObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_DENIED_OBJECT_ACE>())).InheritedObjectType as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_ACCESS_DENIED_OBJECT_ACE), "::", stringify!(InheritedObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_DENIED_OBJECT_ACE>())).SidStart as *const _ 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() { 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::null::<_SYSTEM_AUDIT_OBJECT_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_AUDIT_OBJECT_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_AUDIT_OBJECT_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_AUDIT_OBJECT_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_AUDIT_OBJECT_ACE>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SYSTEM_AUDIT_OBJECT_ACE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_AUDIT_OBJECT_ACE>())).ObjectType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SYSTEM_AUDIT_OBJECT_ACE), "::", stringify!(ObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_AUDIT_OBJECT_ACE>())).InheritedObjectType as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_SYSTEM_AUDIT_OBJECT_ACE), "::", stringify!(InheritedObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_AUDIT_OBJECT_ACE>())).SidStart as *const _ 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() { 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::null::<_SYSTEM_ALARM_OBJECT_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ALARM_OBJECT_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ALARM_OBJECT_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ALARM_OBJECT_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ALARM_OBJECT_ACE>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ALARM_OBJECT_ACE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ALARM_OBJECT_ACE>())).ObjectType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ALARM_OBJECT_ACE), "::", stringify!(ObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ALARM_OBJECT_ACE>())).InheritedObjectType as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ALARM_OBJECT_ACE), "::", stringify!(InheritedObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ALARM_OBJECT_ACE>())).SidStart as *const _ 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() { 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::null::<_ACCESS_ALLOWED_CALLBACK_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACCESS_ALLOWED_CALLBACK_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_ALLOWED_CALLBACK_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ACCESS_ALLOWED_CALLBACK_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_ALLOWED_CALLBACK_ACE>())).SidStart as *const _ 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() { 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::null::<_ACCESS_DENIED_CALLBACK_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACCESS_DENIED_CALLBACK_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_DENIED_CALLBACK_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ACCESS_DENIED_CALLBACK_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_DENIED_CALLBACK_ACE>())).SidStart as *const _ 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() { 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::null::<_SYSTEM_AUDIT_CALLBACK_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_AUDIT_CALLBACK_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_AUDIT_CALLBACK_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_AUDIT_CALLBACK_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_AUDIT_CALLBACK_ACE>())).SidStart as *const _ 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() { 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::null::<_SYSTEM_ALARM_CALLBACK_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ALARM_CALLBACK_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ALARM_CALLBACK_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ALARM_CALLBACK_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ALARM_CALLBACK_ACE>())).SidStart as *const _ 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() { 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::null::<_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE>())).ObjectType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), "::", stringify!(ObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE>())).InheritedObjectType as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), "::", stringify!(InheritedObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE>())).SidStart as *const _ 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() { 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::null::<_ACCESS_DENIED_CALLBACK_OBJECT_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_DENIED_CALLBACK_OBJECT_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_DENIED_CALLBACK_OBJECT_ACE>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_DENIED_CALLBACK_OBJECT_ACE>())).ObjectType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), "::", stringify!(ObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_DENIED_CALLBACK_OBJECT_ACE>())).InheritedObjectType as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), "::", stringify!(InheritedObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACCESS_DENIED_CALLBACK_OBJECT_ACE>())).SidStart as *const _ 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() { 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::null::<_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE>())).ObjectType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), "::", stringify!(ObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE>())).InheritedObjectType as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), "::", stringify!(InheritedObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE>())).SidStart as *const _ 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() { 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::null::<_SYSTEM_ALARM_CALLBACK_OBJECT_ACE>())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ALARM_CALLBACK_OBJECT_ACE>())).Mask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), "::", stringify!(Mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ALARM_CALLBACK_OBJECT_ACE>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ALARM_CALLBACK_OBJECT_ACE>())).ObjectType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), "::", stringify!(ObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ALARM_CALLBACK_OBJECT_ACE>())).InheritedObjectType as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), "::", stringify!(InheritedObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_ALARM_CALLBACK_OBJECT_ACE>())).SidStart as *const _ 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() { 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::null::<_ACL_REVISION_INFORMATION>())).AclRevision as *const _ 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() { 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::null::<_ACL_SIZE_INFORMATION>())).AceCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACL_SIZE_INFORMATION), "::", stringify!(AceCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACL_SIZE_INFORMATION>())).AclBytesInUse as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ACL_SIZE_INFORMATION), "::", stringify!(AclBytesInUse) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACL_SIZE_INFORMATION>())).AclBytesFree as *const _ 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() { 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::null::<_SECURITY_DESCRIPTOR_RELATIVE>())).Revision as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SECURITY_DESCRIPTOR_RELATIVE), "::", stringify!(Revision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_DESCRIPTOR_RELATIVE>())).Sbz1 as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_SECURITY_DESCRIPTOR_RELATIVE), "::", stringify!(Sbz1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_DESCRIPTOR_RELATIVE>())).Control as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_SECURITY_DESCRIPTOR_RELATIVE), "::", stringify!(Control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_DESCRIPTOR_RELATIVE>())).Owner as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SECURITY_DESCRIPTOR_RELATIVE), "::", stringify!(Owner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_DESCRIPTOR_RELATIVE>())).Group as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SECURITY_DESCRIPTOR_RELATIVE), "::", stringify!(Group) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_DESCRIPTOR_RELATIVE>())).Sacl as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SECURITY_DESCRIPTOR_RELATIVE), "::", stringify!(Sacl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_DESCRIPTOR_RELATIVE>())).Dacl as *const _ 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() { 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::null::<_SECURITY_DESCRIPTOR>())).Revision as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SECURITY_DESCRIPTOR), "::", stringify!(Revision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_DESCRIPTOR>())).Sbz1 as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_SECURITY_DESCRIPTOR), "::", stringify!(Sbz1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_DESCRIPTOR>())).Control as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_SECURITY_DESCRIPTOR), "::", stringify!(Control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_DESCRIPTOR>())).Owner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SECURITY_DESCRIPTOR), "::", stringify!(Owner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_DESCRIPTOR>())).Group as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SECURITY_DESCRIPTOR), "::", stringify!(Group) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_DESCRIPTOR>())).Sacl as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SECURITY_DESCRIPTOR), "::", stringify!(Sacl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_DESCRIPTOR>())).Dacl as *const _ 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() { 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::null::<_SECURITY_OBJECT_AI_PARAMS>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SECURITY_OBJECT_AI_PARAMS), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_OBJECT_AI_PARAMS>())).ConstraintMask as *const _ 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() { 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::null::<_OBJECT_TYPE_LIST>())).Level as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OBJECT_TYPE_LIST), "::", stringify!(Level) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OBJECT_TYPE_LIST>())).Sbz as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_OBJECT_TYPE_LIST), "::", stringify!(Sbz) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OBJECT_TYPE_LIST>())).ObjectType as *const _ 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() { 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::null::<_PRIVILEGE_SET>())).PrivilegeCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRIVILEGE_SET), "::", stringify!(PrivilegeCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRIVILEGE_SET>())).Control as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PRIVILEGE_SET), "::", stringify!(Control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRIVILEGE_SET>())).Privilege as *const _ 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() { 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::null::<_ACCESS_REASONS>())).Data as *const _ 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() { 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::null::<_SE_SECURITY_DESCRIPTOR>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SE_SECURITY_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_SECURITY_DESCRIPTOR>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SE_SECURITY_DESCRIPTOR), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_SECURITY_DESCRIPTOR>())).SecurityDescriptor as *const _ 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() { 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::null::<_SE_ACCESS_REQUEST>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SE_ACCESS_REQUEST), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_ACCESS_REQUEST>())).SeSecurityDescriptor as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SE_ACCESS_REQUEST), "::", stringify!(SeSecurityDescriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_ACCESS_REQUEST>())).DesiredAccess as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SE_ACCESS_REQUEST), "::", stringify!(DesiredAccess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_ACCESS_REQUEST>())).PreviouslyGrantedAccess as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_SE_ACCESS_REQUEST), "::", stringify!(PreviouslyGrantedAccess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_ACCESS_REQUEST>())).PrincipalSelfSid as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SE_ACCESS_REQUEST), "::", stringify!(PrincipalSelfSid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_ACCESS_REQUEST>())).GenericMapping as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_SE_ACCESS_REQUEST), "::", stringify!(GenericMapping) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_ACCESS_REQUEST>())).ObjectTypeListCount as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_SE_ACCESS_REQUEST), "::", stringify!(ObjectTypeListCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_ACCESS_REQUEST>())).ObjectTypeList as *const _ 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() { 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::null::<_SE_ACCESS_REPLY>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SE_ACCESS_REPLY), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_ACCESS_REPLY>())).ResultListCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SE_ACCESS_REPLY), "::", stringify!(ResultListCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_ACCESS_REPLY>())).GrantedAccess as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SE_ACCESS_REPLY), "::", stringify!(GrantedAccess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_ACCESS_REPLY>())).AccessStatus as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SE_ACCESS_REPLY), "::", stringify!(AccessStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_ACCESS_REPLY>())).AccessReason as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SE_ACCESS_REPLY), "::", stringify!(AccessReason) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_ACCESS_REPLY>())).Privileges as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_SE_ACCESS_REPLY), "::", stringify!(Privileges) ) ); } pub type SE_ACCESS_REPLY = _SE_ACCESS_REPLY; pub type PSE_ACCESS_REPLY = *mut _SE_ACCESS_REPLY; pub const _SECURITY_IMPERSONATION_LEVEL_SecurityAnonymous: _SECURITY_IMPERSONATION_LEVEL = 0; pub const _SECURITY_IMPERSONATION_LEVEL_SecurityIdentification: _SECURITY_IMPERSONATION_LEVEL = 1; pub const _SECURITY_IMPERSONATION_LEVEL_SecurityImpersonation: _SECURITY_IMPERSONATION_LEVEL = 2; pub const _SECURITY_IMPERSONATION_LEVEL_SecurityDelegation: _SECURITY_IMPERSONATION_LEVEL = 3; pub type _SECURITY_IMPERSONATION_LEVEL = ::std::os::raw::c_int; pub use self::_SECURITY_IMPERSONATION_LEVEL as SECURITY_IMPERSONATION_LEVEL; pub type PSECURITY_IMPERSONATION_LEVEL = *mut _SECURITY_IMPERSONATION_LEVEL; pub const _TOKEN_TYPE_TokenPrimary: _TOKEN_TYPE = 1; pub const _TOKEN_TYPE_TokenImpersonation: _TOKEN_TYPE = 2; pub type _TOKEN_TYPE = ::std::os::raw::c_int; pub use self::_TOKEN_TYPE as TOKEN_TYPE; pub type PTOKEN_TYPE = *mut TOKEN_TYPE; pub const _TOKEN_ELEVATION_TYPE_TokenElevationTypeDefault: _TOKEN_ELEVATION_TYPE = 1; pub const _TOKEN_ELEVATION_TYPE_TokenElevationTypeFull: _TOKEN_ELEVATION_TYPE = 2; pub const _TOKEN_ELEVATION_TYPE_TokenElevationTypeLimited: _TOKEN_ELEVATION_TYPE = 3; pub type _TOKEN_ELEVATION_TYPE = ::std::os::raw::c_int; pub use self::_TOKEN_ELEVATION_TYPE as TOKEN_ELEVATION_TYPE; pub type PTOKEN_ELEVATION_TYPE = *mut _TOKEN_ELEVATION_TYPE; pub const _TOKEN_INFORMATION_CLASS_TokenUser: _TOKEN_INFORMATION_CLASS = 1; pub const _TOKEN_INFORMATION_CLASS_TokenGroups: _TOKEN_INFORMATION_CLASS = 2; pub const _TOKEN_INFORMATION_CLASS_TokenPrivileges: _TOKEN_INFORMATION_CLASS = 3; pub const _TOKEN_INFORMATION_CLASS_TokenOwner: _TOKEN_INFORMATION_CLASS = 4; pub const _TOKEN_INFORMATION_CLASS_TokenPrimaryGroup: _TOKEN_INFORMATION_CLASS = 5; pub const _TOKEN_INFORMATION_CLASS_TokenDefaultDacl: _TOKEN_INFORMATION_CLASS = 6; pub const _TOKEN_INFORMATION_CLASS_TokenSource: _TOKEN_INFORMATION_CLASS = 7; pub const _TOKEN_INFORMATION_CLASS_TokenType: _TOKEN_INFORMATION_CLASS = 8; pub const _TOKEN_INFORMATION_CLASS_TokenImpersonationLevel: _TOKEN_INFORMATION_CLASS = 9; pub const _TOKEN_INFORMATION_CLASS_TokenStatistics: _TOKEN_INFORMATION_CLASS = 10; pub const _TOKEN_INFORMATION_CLASS_TokenRestrictedSids: _TOKEN_INFORMATION_CLASS = 11; pub const _TOKEN_INFORMATION_CLASS_TokenSessionId: _TOKEN_INFORMATION_CLASS = 12; pub const _TOKEN_INFORMATION_CLASS_TokenGroupsAndPrivileges: _TOKEN_INFORMATION_CLASS = 13; pub const _TOKEN_INFORMATION_CLASS_TokenSessionReference: _TOKEN_INFORMATION_CLASS = 14; pub const _TOKEN_INFORMATION_CLASS_TokenSandBoxInert: _TOKEN_INFORMATION_CLASS = 15; pub const _TOKEN_INFORMATION_CLASS_TokenAuditPolicy: _TOKEN_INFORMATION_CLASS = 16; pub const _TOKEN_INFORMATION_CLASS_TokenOrigin: _TOKEN_INFORMATION_CLASS = 17; pub const _TOKEN_INFORMATION_CLASS_TokenElevationType: _TOKEN_INFORMATION_CLASS = 18; pub const _TOKEN_INFORMATION_CLASS_TokenLinkedToken: _TOKEN_INFORMATION_CLASS = 19; pub const _TOKEN_INFORMATION_CLASS_TokenElevation: _TOKEN_INFORMATION_CLASS = 20; pub const _TOKEN_INFORMATION_CLASS_TokenHasRestrictions: _TOKEN_INFORMATION_CLASS = 21; pub const _TOKEN_INFORMATION_CLASS_TokenAccessInformation: _TOKEN_INFORMATION_CLASS = 22; pub const _TOKEN_INFORMATION_CLASS_TokenVirtualizationAllowed: _TOKEN_INFORMATION_CLASS = 23; pub const _TOKEN_INFORMATION_CLASS_TokenVirtualizationEnabled: _TOKEN_INFORMATION_CLASS = 24; pub const _TOKEN_INFORMATION_CLASS_TokenIntegrityLevel: _TOKEN_INFORMATION_CLASS = 25; pub const _TOKEN_INFORMATION_CLASS_TokenUIAccess: _TOKEN_INFORMATION_CLASS = 26; pub const _TOKEN_INFORMATION_CLASS_TokenMandatoryPolicy: _TOKEN_INFORMATION_CLASS = 27; pub const _TOKEN_INFORMATION_CLASS_TokenLogonSid: _TOKEN_INFORMATION_CLASS = 28; pub const _TOKEN_INFORMATION_CLASS_TokenIsAppContainer: _TOKEN_INFORMATION_CLASS = 29; pub const _TOKEN_INFORMATION_CLASS_TokenCapabilities: _TOKEN_INFORMATION_CLASS = 30; pub const _TOKEN_INFORMATION_CLASS_TokenAppContainerSid: _TOKEN_INFORMATION_CLASS = 31; pub const _TOKEN_INFORMATION_CLASS_TokenAppContainerNumber: _TOKEN_INFORMATION_CLASS = 32; pub const _TOKEN_INFORMATION_CLASS_TokenUserClaimAttributes: _TOKEN_INFORMATION_CLASS = 33; pub const _TOKEN_INFORMATION_CLASS_TokenDeviceClaimAttributes: _TOKEN_INFORMATION_CLASS = 34; pub const _TOKEN_INFORMATION_CLASS_TokenRestrictedUserClaimAttributes: _TOKEN_INFORMATION_CLASS = 35; pub const _TOKEN_INFORMATION_CLASS_TokenRestrictedDeviceClaimAttributes: _TOKEN_INFORMATION_CLASS = 36; pub const _TOKEN_INFORMATION_CLASS_TokenDeviceGroups: _TOKEN_INFORMATION_CLASS = 37; pub const _TOKEN_INFORMATION_CLASS_TokenRestrictedDeviceGroups: _TOKEN_INFORMATION_CLASS = 38; pub const _TOKEN_INFORMATION_CLASS_TokenSecurityAttributes: _TOKEN_INFORMATION_CLASS = 39; pub const _TOKEN_INFORMATION_CLASS_TokenIsRestricted: _TOKEN_INFORMATION_CLASS = 40; pub const _TOKEN_INFORMATION_CLASS_TokenProcessTrustLevel: _TOKEN_INFORMATION_CLASS = 41; pub const _TOKEN_INFORMATION_CLASS_TokenPrivateNameSpace: _TOKEN_INFORMATION_CLASS = 42; pub const _TOKEN_INFORMATION_CLASS_TokenSingletonAttributes: _TOKEN_INFORMATION_CLASS = 43; pub const _TOKEN_INFORMATION_CLASS_TokenBnoIsolation: _TOKEN_INFORMATION_CLASS = 44; pub const _TOKEN_INFORMATION_CLASS_TokenChildProcessFlags: _TOKEN_INFORMATION_CLASS = 45; pub const _TOKEN_INFORMATION_CLASS_TokenIsLessPrivilegedAppContainer: _TOKEN_INFORMATION_CLASS = 46; pub const _TOKEN_INFORMATION_CLASS_TokenIsSandboxed: _TOKEN_INFORMATION_CLASS = 47; pub const _TOKEN_INFORMATION_CLASS_TokenOriginatingProcessTrustLevel: _TOKEN_INFORMATION_CLASS = 48; pub const _TOKEN_INFORMATION_CLASS_MaxTokenInfoClass: _TOKEN_INFORMATION_CLASS = 49; pub type _TOKEN_INFORMATION_CLASS = ::std::os::raw::c_int; pub use self::_TOKEN_INFORMATION_CLASS as TOKEN_INFORMATION_CLASS; pub type PTOKEN_INFORMATION_CLASS = *mut _TOKEN_INFORMATION_CLASS; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _TOKEN_USER { pub User: SID_AND_ATTRIBUTES, } #[test] fn bindgen_test_layout__TOKEN_USER() { 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::null::<_TOKEN_USER>())).User as *const _ 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, _bindgen_union_align: [u64; 2usize], } #[test] fn bindgen_test_layout__SE_TOKEN_USER__bindgen_ty_1() { 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::null::<_SE_TOKEN_USER__bindgen_ty_1>())).TokenUser as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SE_TOKEN_USER__bindgen_ty_1), "::", stringify!(TokenUser) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_TOKEN_USER__bindgen_ty_1>())).User as *const _ 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], _bindgen_union_align: [u32; 17usize], } #[test] fn bindgen_test_layout__SE_TOKEN_USER__bindgen_ty_2() { 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::null::<_SE_TOKEN_USER__bindgen_ty_2>())).Sid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SE_TOKEN_USER__bindgen_ty_2), "::", stringify!(Sid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_TOKEN_USER__bindgen_ty_2>())).Buffer as *const _ 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() { 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::null::<_TOKEN_GROUPS>())).GroupCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TOKEN_GROUPS), "::", stringify!(GroupCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_GROUPS>())).Groups as *const _ 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() { 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::null::<_TOKEN_PRIVILEGES>())).PrivilegeCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TOKEN_PRIVILEGES), "::", stringify!(PrivilegeCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_PRIVILEGES>())).Privileges as *const _ 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() { 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::null::<_TOKEN_OWNER>())).Owner as *const _ 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() { 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::null::<_TOKEN_PRIMARY_GROUP>())).PrimaryGroup as *const _ 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() { 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::null::<_TOKEN_DEFAULT_DACL>())).DefaultDacl as *const _ 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() { 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::null::<_TOKEN_USER_CLAIMS>())).UserClaims as *const _ 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() { 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::null::<_TOKEN_DEVICE_CLAIMS>())).DeviceClaims as *const _ 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() { 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::null::<_TOKEN_GROUPS_AND_PRIVILEGES>())).SidCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), "::", stringify!(SidCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_GROUPS_AND_PRIVILEGES>())).SidLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), "::", stringify!(SidLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_GROUPS_AND_PRIVILEGES>())).Sids as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), "::", stringify!(Sids) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_GROUPS_AND_PRIVILEGES>())).RestrictedSidCount as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), "::", stringify!(RestrictedSidCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_GROUPS_AND_PRIVILEGES>())).RestrictedSidLength as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), "::", stringify!(RestrictedSidLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_GROUPS_AND_PRIVILEGES>())).RestrictedSids as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), "::", stringify!(RestrictedSids) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_GROUPS_AND_PRIVILEGES>())).PrivilegeCount as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), "::", stringify!(PrivilegeCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_GROUPS_AND_PRIVILEGES>())).PrivilegeLength as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), "::", stringify!(PrivilegeLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_GROUPS_AND_PRIVILEGES>())).Privileges as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), "::", stringify!(Privileges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_GROUPS_AND_PRIVILEGES>())).AuthenticationId as *const _ 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() { 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::null::<_TOKEN_LINKED_TOKEN>())).LinkedToken as *const _ 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() { 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::null::<_TOKEN_ELEVATION>())).TokenIsElevated as *const _ 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() { 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::null::<_TOKEN_MANDATORY_LABEL>())).Label as *const _ 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() { 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::null::<_TOKEN_MANDATORY_POLICY>())).Policy as *const _ 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() { 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::null::<_TOKEN_ACCESS_INFORMATION>())).SidHash as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TOKEN_ACCESS_INFORMATION), "::", stringify!(SidHash) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_ACCESS_INFORMATION>())).RestrictedSidHash as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TOKEN_ACCESS_INFORMATION), "::", stringify!(RestrictedSidHash) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_ACCESS_INFORMATION>())).Privileges as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TOKEN_ACCESS_INFORMATION), "::", stringify!(Privileges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_ACCESS_INFORMATION>())).AuthenticationId as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_TOKEN_ACCESS_INFORMATION), "::", stringify!(AuthenticationId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_ACCESS_INFORMATION>())).TokenType as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_TOKEN_ACCESS_INFORMATION), "::", stringify!(TokenType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_ACCESS_INFORMATION>())).ImpersonationLevel as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_TOKEN_ACCESS_INFORMATION), "::", stringify!(ImpersonationLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_ACCESS_INFORMATION>())).MandatoryPolicy as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_TOKEN_ACCESS_INFORMATION), "::", stringify!(MandatoryPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_ACCESS_INFORMATION>())).Flags as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_TOKEN_ACCESS_INFORMATION), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_ACCESS_INFORMATION>())).AppContainerNumber as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_TOKEN_ACCESS_INFORMATION), "::", stringify!(AppContainerNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_ACCESS_INFORMATION>())).PackageSid as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_TOKEN_ACCESS_INFORMATION), "::", stringify!(PackageSid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_ACCESS_INFORMATION>())).CapabilitiesHash as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_TOKEN_ACCESS_INFORMATION), "::", stringify!(CapabilitiesHash) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_ACCESS_INFORMATION>())).TrustLevelSid as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_TOKEN_ACCESS_INFORMATION), "::", stringify!(TrustLevelSid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_ACCESS_INFORMATION>())).SecurityAttributes as *const _ 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() { 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::null::<_TOKEN_AUDIT_POLICY>())).PerUserPolicy as *const _ 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() { 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::null::<_TOKEN_SOURCE>())).SourceName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TOKEN_SOURCE), "::", stringify!(SourceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_SOURCE>())).SourceIdentifier as *const _ 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() { 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::null::<_TOKEN_STATISTICS>())).TokenId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TOKEN_STATISTICS), "::", stringify!(TokenId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_STATISTICS>())).AuthenticationId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TOKEN_STATISTICS), "::", stringify!(AuthenticationId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_STATISTICS>())).ExpirationTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TOKEN_STATISTICS), "::", stringify!(ExpirationTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_STATISTICS>())).TokenType as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_TOKEN_STATISTICS), "::", stringify!(TokenType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_STATISTICS>())).ImpersonationLevel as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_TOKEN_STATISTICS), "::", stringify!(ImpersonationLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_STATISTICS>())).DynamicCharged as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_TOKEN_STATISTICS), "::", stringify!(DynamicCharged) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_STATISTICS>())).DynamicAvailable as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_TOKEN_STATISTICS), "::", stringify!(DynamicAvailable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_STATISTICS>())).GroupCount as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_TOKEN_STATISTICS), "::", stringify!(GroupCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_STATISTICS>())).PrivilegeCount as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_TOKEN_STATISTICS), "::", stringify!(PrivilegeCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_STATISTICS>())).ModifiedId as *const _ 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() { 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::null::<_TOKEN_CONTROL>())).TokenId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TOKEN_CONTROL), "::", stringify!(TokenId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_CONTROL>())).AuthenticationId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TOKEN_CONTROL), "::", stringify!(AuthenticationId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_CONTROL>())).ModifiedId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TOKEN_CONTROL), "::", stringify!(ModifiedId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_CONTROL>())).TokenSource as *const _ 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() { 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::null::<_TOKEN_ORIGIN>())).OriginatingLogonSession as *const _ 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() { 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::null::<_TOKEN_APPCONTAINER_INFORMATION>())).TokenAppContainer as *const _ 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() { 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::null::<_TOKEN_SID_INFORMATION>())).Sid as *const _ 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() { 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::null::<_TOKEN_BNO_ISOLATION_INFORMATION>())).IsolationPrefix as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TOKEN_BNO_ISOLATION_INFORMATION), "::", stringify!(IsolationPrefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TOKEN_BNO_ISOLATION_INFORMATION>())).IsolationEnabled as *const _ 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() { 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::null::<_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE>())).Name as *const _ 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() { 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::null::<_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE>())).pValue as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE), "::", stringify!(pValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE>())).ValueLength as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1() { 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::null::<_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1>())).pInt64 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1), "::", stringify!(pInt64) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1>())).pUint64 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1), "::", stringify!(pUint64) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1>())).ppString as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1), "::", stringify!(ppString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1>())).pFqbn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1), "::", stringify!(pFqbn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1>())).pOctetString as *const _ 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() { 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::null::<_CLAIM_SECURITY_ATTRIBUTE_V1>())).Name as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), "::", stringify!(Name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_V1>())).ValueType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), "::", stringify!(ValueType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_V1>())).Reserved as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_V1>())).Flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_V1>())).ValueCount as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), "::", stringify!(ValueCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_V1>())).Values as *const _ 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], _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1() { 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::null::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1>())).pInt64 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1), "::", stringify!(pInt64) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1>())).pUint64 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1), "::", stringify!(pUint64) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1>())).ppString as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1), "::", stringify!(ppString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1>())).pFqbn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1), "::", stringify!(pFqbn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1>())) .pOctetString as *const _ 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() { 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::null::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1>())).Name as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), "::", stringify!(Name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1>())).ValueType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), "::", stringify!(ValueType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1>())).Reserved as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1>())).ValueCount as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), "::", stringify!(ValueCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1>())).Values as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1() { 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::null::<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1>())) .pAttributeV1 as *const _ 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() { 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::null::<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION>())).Reserved as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION>())).AttributeCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION), "::", stringify!(AttributeCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION>())).Attribute as *const _ 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() { 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::null::<_SECURITY_QUALITY_OF_SERVICE>())).Length as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SECURITY_QUALITY_OF_SERVICE), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_QUALITY_OF_SERVICE>())).ImpersonationLevel as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SECURITY_QUALITY_OF_SERVICE), "::", stringify!(ImpersonationLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_QUALITY_OF_SERVICE>())).ContextTrackingMode as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SECURITY_QUALITY_OF_SERVICE), "::", stringify!(ContextTrackingMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_QUALITY_OF_SERVICE>())).EffectiveOnly as *const _ 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() { 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::null::<_SE_IMPERSONATION_STATE>())).Token as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SE_IMPERSONATION_STATE), "::", stringify!(Token) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_IMPERSONATION_STATE>())).CopyOnOpen as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SE_IMPERSONATION_STATE), "::", stringify!(CopyOnOpen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_IMPERSONATION_STATE>())).EffectiveOnly as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(_SE_IMPERSONATION_STATE), "::", stringify!(EffectiveOnly) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SE_IMPERSONATION_STATE>())).Level as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SE_IMPERSONATION_STATE), "::", stringify!(Level) ) ); } pub type SE_IMPERSONATION_STATE = _SE_IMPERSONATION_STATE; pub type PSE_IMPERSONATION_STATE = *mut _SE_IMPERSONATION_STATE; pub type SECURITY_INFORMATION = DWORD; pub type PSECURITY_INFORMATION = *mut DWORD; pub type SE_SIGNING_LEVEL = BYTE; pub type PSE_SIGNING_LEVEL = *mut BYTE; pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureNone: _SE_IMAGE_SIGNATURE_TYPE = 0; pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureEmbedded: _SE_IMAGE_SIGNATURE_TYPE = 1; pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureCache: _SE_IMAGE_SIGNATURE_TYPE = 2; pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureCatalogCached: _SE_IMAGE_SIGNATURE_TYPE = 3; pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureCatalogNotCached: _SE_IMAGE_SIGNATURE_TYPE = 4; pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureCatalogHint: _SE_IMAGE_SIGNATURE_TYPE = 5; pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignaturePackageCatalog: _SE_IMAGE_SIGNATURE_TYPE = 6; pub type _SE_IMAGE_SIGNATURE_TYPE = ::std::os::raw::c_int; pub use self::_SE_IMAGE_SIGNATURE_TYPE as SE_IMAGE_SIGNATURE_TYPE; pub type PSE_IMAGE_SIGNATURE_TYPE = *mut _SE_IMAGE_SIGNATURE_TYPE; pub const _SE_LEARNING_MODE_DATA_TYPE_SeLearningModeInvalidType: _SE_LEARNING_MODE_DATA_TYPE = 0; pub const _SE_LEARNING_MODE_DATA_TYPE_SeLearningModeSettings: _SE_LEARNING_MODE_DATA_TYPE = 1; pub const _SE_LEARNING_MODE_DATA_TYPE_SeLearningModeMax: _SE_LEARNING_MODE_DATA_TYPE = 2; pub type _SE_LEARNING_MODE_DATA_TYPE = ::std::os::raw::c_int; pub use self::_SE_LEARNING_MODE_DATA_TYPE as SE_LEARNING_MODE_DATA_TYPE; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _SECURITY_CAPABILITIES { pub AppContainerSid: PSID, pub Capabilities: PSID_AND_ATTRIBUTES, pub CapabilityCount: DWORD, pub Reserved: DWORD, } #[test] fn bindgen_test_layout__SECURITY_CAPABILITIES() { 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::null::<_SECURITY_CAPABILITIES>())).AppContainerSid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SECURITY_CAPABILITIES), "::", stringify!(AppContainerSid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_CAPABILITIES>())).Capabilities as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SECURITY_CAPABILITIES), "::", stringify!(Capabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_CAPABILITIES>())).CapabilityCount as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SECURITY_CAPABILITIES), "::", stringify!(CapabilityCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_CAPABILITIES>())).Reserved as *const _ 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() { 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::null::<_JOB_SET_ARRAY>())).JobHandle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOB_SET_ARRAY), "::", stringify!(JobHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_SET_ARRAY>())).MemberLevel as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_JOB_SET_ARRAY), "::", stringify!(MemberLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_SET_ARRAY>())).Flags as *const _ 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() { 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::null::<_EXCEPTION_REGISTRATION_RECORD>())).Next as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_REGISTRATION_RECORD), "::", stringify!(Next) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_REGISTRATION_RECORD>())).Handler as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__NT_TIB__bindgen_ty_1() { 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::null::<_NT_TIB__bindgen_ty_1>())).FiberData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NT_TIB__bindgen_ty_1), "::", stringify!(FiberData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB__bindgen_ty_1>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NT_TIB__bindgen_ty_1), "::", stringify!(Version) ) ); } #[test] fn bindgen_test_layout__NT_TIB() { 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::null::<_NT_TIB>())).ExceptionList as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NT_TIB), "::", stringify!(ExceptionList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB>())).StackBase as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NT_TIB), "::", stringify!(StackBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB>())).StackLimit as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NT_TIB), "::", stringify!(StackLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB>())).SubSystemTib as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NT_TIB), "::", stringify!(SubSystemTib) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB>())).ArbitraryUserPointer as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_NT_TIB), "::", stringify!(ArbitraryUserPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB>())).Self_ as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__NT_TIB32__bindgen_ty_1() { 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::null::<_NT_TIB32__bindgen_ty_1>())).FiberData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NT_TIB32__bindgen_ty_1), "::", stringify!(FiberData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB32__bindgen_ty_1>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NT_TIB32__bindgen_ty_1), "::", stringify!(Version) ) ); } #[test] fn bindgen_test_layout__NT_TIB32() { 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::null::<_NT_TIB32>())).ExceptionList as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NT_TIB32), "::", stringify!(ExceptionList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB32>())).StackBase as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NT_TIB32), "::", stringify!(StackBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB32>())).StackLimit as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NT_TIB32), "::", stringify!(StackLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB32>())).SubSystemTib as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_NT_TIB32), "::", stringify!(SubSystemTib) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB32>())).ArbitraryUserPointer as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_NT_TIB32), "::", stringify!(ArbitraryUserPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB32>())).Self_ as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__NT_TIB64__bindgen_ty_1() { 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::null::<_NT_TIB64__bindgen_ty_1>())).FiberData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NT_TIB64__bindgen_ty_1), "::", stringify!(FiberData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB64__bindgen_ty_1>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NT_TIB64__bindgen_ty_1), "::", stringify!(Version) ) ); } #[test] fn bindgen_test_layout__NT_TIB64() { 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::null::<_NT_TIB64>())).ExceptionList as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NT_TIB64), "::", stringify!(ExceptionList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB64>())).StackBase as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NT_TIB64), "::", stringify!(StackBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB64>())).StackLimit as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NT_TIB64), "::", stringify!(StackLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB64>())).SubSystemTib as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NT_TIB64), "::", stringify!(SubSystemTib) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB64>())).ArbitraryUserPointer as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_NT_TIB64), "::", stringify!(ArbitraryUserPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NT_TIB64>())).Self_ as *const _ 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() { 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::null::<_UMS_CREATE_THREAD_ATTRIBUTES>())).UmsVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_UMS_CREATE_THREAD_ATTRIBUTES), "::", stringify!(UmsVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_UMS_CREATE_THREAD_ATTRIBUTES>())).UmsContext as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_UMS_CREATE_THREAD_ATTRIBUTES), "::", stringify!(UmsContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_UMS_CREATE_THREAD_ATTRIBUTES>())).UmsCompletionList as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_UMS_CREATE_THREAD_ATTRIBUTES), "::", stringify!(UmsCompletionList) ) ); } pub type UMS_CREATE_THREAD_ATTRIBUTES = _UMS_CREATE_THREAD_ATTRIBUTES; pub type PUMS_CREATE_THREAD_ATTRIBUTES = *mut _UMS_CREATE_THREAD_ATTRIBUTES; #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _WOW64_ARCHITECTURE_INFORMATION { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, } #[test] fn bindgen_test_layout__WOW64_ARCHITECTURE_INFORMATION() { assert_eq!( ::std::mem::size_of::<_WOW64_ARCHITECTURE_INFORMATION>(), 4usize, concat!("Size of: ", stringify!(_WOW64_ARCHITECTURE_INFORMATION)) ); assert_eq!( ::std::mem::align_of::<_WOW64_ARCHITECTURE_INFORMATION>(), 4usize, concat!("Alignment of ", stringify!(_WOW64_ARCHITECTURE_INFORMATION)) ); } impl _WOW64_ARCHITECTURE_INFORMATION { #[inline] pub fn Machine(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } } #[inline] pub fn set_Machine(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(0usize, 16u8, val as u64) } } #[inline] pub fn KernelMode(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } } #[inline] pub fn set_KernelMode(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(16usize, 1u8, val as u64) } } #[inline] pub fn UserMode(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) } } #[inline] pub fn set_UserMode(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(17usize, 1u8, val as u64) } } #[inline] pub fn Native(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) } } #[inline] pub fn set_Native(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(18usize, 1u8, val as u64) } } #[inline] pub fn Process(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) } } #[inline] pub fn set_Process(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(19usize, 1u8, val as u64) } } #[inline] pub fn ReservedZero0(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) } } #[inline] pub fn set_ReservedZero0(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(20usize, 12u8, val as u64) } } #[inline] pub fn new_bitfield_1( Machine: DWORD, KernelMode: DWORD, UserMode: DWORD, Native: DWORD, Process: DWORD, ReservedZero0: DWORD, ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = Default::default(); __bindgen_bitfield_unit.set(0usize, 16u8, { let Machine: u32 = unsafe { ::std::mem::transmute(Machine) }; Machine as u64 }); __bindgen_bitfield_unit.set(16usize, 1u8, { let KernelMode: u32 = unsafe { ::std::mem::transmute(KernelMode) }; KernelMode as u64 }); __bindgen_bitfield_unit.set(17usize, 1u8, { let UserMode: u32 = unsafe { ::std::mem::transmute(UserMode) }; UserMode as u64 }); __bindgen_bitfield_unit.set(18usize, 1u8, { let Native: u32 = unsafe { ::std::mem::transmute(Native) }; Native as u64 }); __bindgen_bitfield_unit.set(19usize, 1u8, { let Process: u32 = unsafe { ::std::mem::transmute(Process) }; Process as u64 }); __bindgen_bitfield_unit.set(20usize, 12u8, { let ReservedZero0: u32 = unsafe { ::std::mem::transmute(ReservedZero0) }; ReservedZero0 as u64 }); __bindgen_bitfield_unit } } pub type WOW64_ARCHITECTURE_INFORMATION = _WOW64_ARCHITECTURE_INFORMATION; #[repr(C)] #[derive(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() { 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::null::<_QUOTA_LIMITS>())).PagedPoolLimit as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS), "::", stringify!(PagedPoolLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS>())).NonPagedPoolLimit as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS), "::", stringify!(NonPagedPoolLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS>())).MinimumWorkingSetSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS), "::", stringify!(MinimumWorkingSetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS>())).MaximumWorkingSetSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS), "::", stringify!(MaximumWorkingSetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS>())).PagefileLimit as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS), "::", stringify!(PagefileLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS>())).TimeLimit as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _RATE_QUOTA_LIMIT__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_RATE_QUOTA_LIMIT>())).RateData as *const _ 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() { 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::null::<_QUOTA_LIMITS_EX>())).PagedPoolLimit as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS_EX), "::", stringify!(PagedPoolLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS_EX>())).NonPagedPoolLimit as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS_EX), "::", stringify!(NonPagedPoolLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS_EX>())).MinimumWorkingSetSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS_EX), "::", stringify!(MinimumWorkingSetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS_EX>())).MaximumWorkingSetSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS_EX), "::", stringify!(MaximumWorkingSetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS_EX>())).PagefileLimit as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS_EX), "::", stringify!(PagefileLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS_EX>())).TimeLimit as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS_EX), "::", stringify!(TimeLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS_EX>())).WorkingSetLimit as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS_EX), "::", stringify!(WorkingSetLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS_EX>())).Reserved2 as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS_EX), "::", stringify!(Reserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS_EX>())).Reserved3 as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS_EX), "::", stringify!(Reserved3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS_EX>())).Reserved4 as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS_EX), "::", stringify!(Reserved4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS_EX>())).Flags as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_QUOTA_LIMITS_EX), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUOTA_LIMITS_EX>())).CpuRateLimit as *const _ 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() { 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::null::<_IO_COUNTERS>())).ReadOperationCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IO_COUNTERS), "::", stringify!(ReadOperationCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IO_COUNTERS>())).WriteOperationCount as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IO_COUNTERS), "::", stringify!(WriteOperationCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IO_COUNTERS>())).OtherOperationCount as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IO_COUNTERS), "::", stringify!(OtherOperationCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IO_COUNTERS>())).ReadTransferCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IO_COUNTERS), "::", stringify!(ReadTransferCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IO_COUNTERS>())).WriteTransferCount as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_IO_COUNTERS), "::", stringify!(WriteTransferCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IO_COUNTERS>())).OtherTransferCount as *const _ 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_MaxProcessMitigationPolicy: _PROCESS_MITIGATION_POLICY = 15; 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1>())).Flags as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1>())).Flags as *const _ 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() { 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::null::<_PROCESS_MITIGATION_DEP_POLICY>())).Permanent as *const _ 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, _bindgen_union_align: u32, } #[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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1>())) .Flags as *const _ 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, _bindgen_union_align: u32, } #[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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1>())) .Flags as *const _ 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, _bindgen_union_align: u32, } #[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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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 :: null :: < _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1 > ())) . Flags as * const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1>())).Flags as *const _ 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, _bindgen_union_align: u32, } #[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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[test] fn bindgen_test_layout__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::< _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1, >(), 4usize, concat!( "Size of: ", stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::< _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1, >(), 4usize, concat!( "Alignment of ", stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1) ) ); } impl _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1 { #[inline] pub fn EnableControlFlowGuard(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } } #[inline] pub fn set_EnableControlFlowGuard(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(0usize, 1u8, val as u64) } } #[inline] pub fn EnableExportSuppression(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } } #[inline] pub fn set_EnableExportSuppression(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(1usize, 1u8, val as u64) } } #[inline] pub fn StrictMode(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } } #[inline] pub fn set_StrictMode(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(2usize, 1u8, val as u64) } } #[inline] pub fn ReservedFlags(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) } } #[inline] pub fn set_ReservedFlags(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(3usize, 29u8, val as u64) } } #[inline] pub fn new_bitfield_1( EnableControlFlowGuard: DWORD, EnableExportSuppression: DWORD, StrictMode: DWORD, ReservedFlags: DWORD, ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = Default::default(); __bindgen_bitfield_unit.set(0usize, 1u8, { let EnableControlFlowGuard: u32 = unsafe { ::std::mem::transmute(EnableControlFlowGuard) }; EnableControlFlowGuard as u64 }); __bindgen_bitfield_unit.set(1usize, 1u8, { let EnableExportSuppression: u32 = unsafe { ::std::mem::transmute(EnableExportSuppression) }; EnableExportSuppression as u64 }); __bindgen_bitfield_unit.set(2usize, 1u8, { let StrictMode: u32 = unsafe { ::std::mem::transmute(StrictMode) }; StrictMode as u64 }); __bindgen_bitfield_unit.set(3usize, 29u8, { let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; ReservedFlags as u64 }); __bindgen_bitfield_unit } } #[test] fn bindgen_test_layout__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1() { 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::null::<_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1>())) .Flags as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1>())) .Flags as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1>())).Flags as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1>())).Flags as *const _ 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, _bindgen_union_align: u32, } #[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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1>())) .Flags as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1>())) .Flags as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1>())).Flags as *const _ 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, _bindgen_union_align: u32, } #[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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1>( ))) .Flags as *const _ 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 _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() { 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::null::<_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION>())).TotalUserTime as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), "::", stringify!(TotalUserTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION>())).TotalKernelTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), "::", stringify!(TotalKernelTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION>())) .ThisPeriodTotalUserTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), "::", stringify!(ThisPeriodTotalUserTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION>())) .ThisPeriodTotalKernelTime as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), "::", stringify!(ThisPeriodTotalKernelTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION>())).TotalPageFaultCount as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), "::", stringify!(TotalPageFaultCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION>())).TotalProcesses as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), "::", stringify!(TotalProcesses) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION>())).ActiveProcesses as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), "::", stringify!(ActiveProcesses) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION>())) .TotalTerminatedProcesses as *const _ 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() { 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::null::<_JOBOBJECT_BASIC_LIMIT_INFORMATION>())).PerProcessUserTimeLimit as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), "::", stringify!(PerProcessUserTimeLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_LIMIT_INFORMATION>())).PerJobUserTimeLimit as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), "::", stringify!(PerJobUserTimeLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_LIMIT_INFORMATION>())).LimitFlags as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), "::", stringify!(LimitFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_LIMIT_INFORMATION>())).MinimumWorkingSetSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), "::", stringify!(MinimumWorkingSetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_LIMIT_INFORMATION>())).MaximumWorkingSetSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), "::", stringify!(MaximumWorkingSetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_LIMIT_INFORMATION>())).ActiveProcessLimit as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), "::", stringify!(ActiveProcessLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_LIMIT_INFORMATION>())).Affinity as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), "::", stringify!(Affinity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_LIMIT_INFORMATION>())).PriorityClass as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), "::", stringify!(PriorityClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_LIMIT_INFORMATION>())).SchedulingClass as *const _ 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() { 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::null::<_JOBOBJECT_EXTENDED_LIMIT_INFORMATION>())).BasicLimitInformation as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), "::", stringify!(BasicLimitInformation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_EXTENDED_LIMIT_INFORMATION>())).IoInfo as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), "::", stringify!(IoInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_EXTENDED_LIMIT_INFORMATION>())).ProcessMemoryLimit as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), "::", stringify!(ProcessMemoryLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_EXTENDED_LIMIT_INFORMATION>())).JobMemoryLimit as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), "::", stringify!(JobMemoryLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_EXTENDED_LIMIT_INFORMATION>())).PeakProcessMemoryUsed as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), "::", stringify!(PeakProcessMemoryUsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_EXTENDED_LIMIT_INFORMATION>())).PeakJobMemoryUsed as *const _ 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() { 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::null::<_JOBOBJECT_BASIC_PROCESS_ID_LIST>())).NumberOfAssignedProcesses as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_PROCESS_ID_LIST), "::", stringify!(NumberOfAssignedProcesses) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_PROCESS_ID_LIST>())).NumberOfProcessIdsInList as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_PROCESS_ID_LIST), "::", stringify!(NumberOfProcessIdsInList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_PROCESS_ID_LIST>())).ProcessIdList as *const _ 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() { 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::null::<_JOBOBJECT_BASIC_UI_RESTRICTIONS>())).UIRestrictionsClass as *const _ 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() { 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::null::<_JOBOBJECT_SECURITY_LIMIT_INFORMATION>())).SecurityLimitFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION), "::", stringify!(SecurityLimitFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_SECURITY_LIMIT_INFORMATION>())).JobToken as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION), "::", stringify!(JobToken) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_SECURITY_LIMIT_INFORMATION>())).SidsToDisable as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION), "::", stringify!(SidsToDisable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_SECURITY_LIMIT_INFORMATION>())).PrivilegesToDelete as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION), "::", stringify!(PrivilegesToDelete) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_SECURITY_LIMIT_INFORMATION>())).RestrictedSids as *const _ 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() { 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::null::<_JOBOBJECT_END_OF_JOB_TIME_INFORMATION>())).EndOfJobTimeAction as *const _ 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() { 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::null::<_JOBOBJECT_ASSOCIATE_COMPLETION_PORT>())).CompletionKey as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_ASSOCIATE_COMPLETION_PORT), "::", stringify!(CompletionKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_ASSOCIATE_COMPLETION_PORT>())).CompletionPort as *const _ 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() { 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::null::<_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION>())).BasicInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION), "::", stringify!(BasicInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION>())).IoInfo as *const _ 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() { 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::null::<_JOBOBJECT_JOBSET_INFORMATION>())).MemberLevel as *const _ 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() { 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::null::<_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION>())).IoReadBytesLimit as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), "::", stringify!(IoReadBytesLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION>())).IoWriteBytesLimit as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), "::", stringify!(IoWriteBytesLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION>())) .PerJobUserTimeLimit as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), "::", stringify!(PerJobUserTimeLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION>())).JobMemoryLimit as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), "::", stringify!(JobMemoryLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION>())) .RateControlTolerance as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), "::", stringify!(RateControlTolerance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION>())) .RateControlToleranceInterval as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), "::", stringify!(RateControlToleranceInterval) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION>())).LimitFlags as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1() { 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::null::())) .JobHighMemoryLimit as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1), "::", stringify!(JobHighMemoryLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .JobMemoryLimit as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2() { 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::null::())) .RateControlTolerance as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2), "::", stringify!(RateControlTolerance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .CpuRateControlTolerance as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3() { 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::null::())) .RateControlToleranceInterval as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3), "::", stringify!(RateControlToleranceInterval) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .CpuRateControlToleranceInterval as *const _ 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() { 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::null::())).IoReadBytesLimit as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), "::", stringify!(IoReadBytesLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IoWriteBytesLimit as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), "::", stringify!(IoWriteBytesLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .PerJobUserTimeLimit as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), "::", stringify!(PerJobUserTimeLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LimitFlags as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), "::", stringify!(LimitFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .IoRateControlTolerance as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), "::", stringify!(IoRateControlTolerance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).JobLowMemoryLimit as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), "::", stringify!(JobLowMemoryLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .IoRateControlToleranceInterval as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), "::", stringify!(IoRateControlToleranceInterval) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .NetRateControlTolerance as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), "::", stringify!(NetRateControlTolerance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .NetRateControlToleranceInterval as *const _ 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() { 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::null::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>())).LimitFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), "::", stringify!(LimitFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>())).ViolationLimitFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), "::", stringify!(ViolationLimitFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>())).IoReadBytes as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), "::", stringify!(IoReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>())).IoReadBytesLimit as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), "::", stringify!(IoReadBytesLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>())).IoWriteBytes as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), "::", stringify!(IoWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>())).IoWriteBytesLimit as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), "::", stringify!(IoWriteBytesLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>())).PerJobUserTime as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), "::", stringify!(PerJobUserTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>())).PerJobUserTimeLimit as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), "::", stringify!(PerJobUserTimeLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>())).JobMemory as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), "::", stringify!(JobMemory) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>())).JobMemoryLimit as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), "::", stringify!(JobMemoryLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>())).RateControlTolerance as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), "::", stringify!(RateControlTolerance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>())) .RateControlToleranceLimit as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1() { 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::null::())) .JobHighMemoryLimit as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1), "::", stringify!(JobHighMemoryLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .JobMemoryLimit as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2() { 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::null::())) .RateControlTolerance as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2), "::", stringify!(RateControlTolerance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .CpuRateControlTolerance as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3() { 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::null::())) .RateControlToleranceLimit as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3), "::", stringify!(RateControlToleranceLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .CpuRateControlToleranceLimit as *const _ 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() { 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::null::())).LimitFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), "::", stringify!(LimitFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ViolationLimitFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), "::", stringify!(ViolationLimitFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IoReadBytes as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), "::", stringify!(IoReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IoReadBytesLimit as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), "::", stringify!(IoReadBytesLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IoWriteBytes as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), "::", stringify!(IoWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IoWriteBytesLimit as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), "::", stringify!(IoWriteBytesLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PerJobUserTime as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), "::", stringify!(PerJobUserTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PerJobUserTimeLimit as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), "::", stringify!(PerJobUserTimeLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).JobMemory as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), "::", stringify!(JobMemory) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).JobLowMemoryLimit as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), "::", stringify!(JobLowMemoryLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .IoRateControlTolerance as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), "::", stringify!(IoRateControlTolerance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .IoRateControlToleranceLimit as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), "::", stringify!(IoRateControlToleranceLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .NetRateControlTolerance as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), "::", stringify!(NetRateControlTolerance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .NetRateControlToleranceLimit as *const _ 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, _bindgen_union_align: u32, } #[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() { 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::null::< _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1, >())) .MinRate as *const _ 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::null::< _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1, >())) .MaxRate as *const _ 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() { 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::null::<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1>())) .CpuRate as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1), "::", stringify!(CpuRate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1>())).Weight as *const _ 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() { 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::null::<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION>())).ControlFlags as *const _ 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() { 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::null::())).MaxBandwidth as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_NET_RATE_CONTROL_INFORMATION), "::", stringify!(MaxBandwidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ControlFlags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_NET_RATE_CONTROL_INFORMATION), "::", stringify!(ControlFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DscpTag as *const _ 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() { 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::null::())).MaxIops as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), "::", stringify!(MaxIops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxBandwidth as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), "::", stringify!(MaxBandwidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReservationIops as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), "::", stringify!(ReservationIops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).VolumeName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), "::", stringify!(VolumeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BaseIoSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), "::", stringify!(BaseIoSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ControlFlags as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), "::", stringify!(ControlFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .VolumeNameLength as *const _ 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() { 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::null::())).MaxIops as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), "::", stringify!(MaxIops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxBandwidth as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), "::", stringify!(MaxBandwidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .ReservationIops as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), "::", stringify!(ReservationIops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).VolumeName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), "::", stringify!(VolumeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BaseIoSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), "::", stringify!(BaseIoSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ControlFlags as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), "::", stringify!(ControlFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .VolumeNameLength as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), "::", stringify!(VolumeNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .CriticalReservationIops as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), "::", stringify!(CriticalReservationIops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .ReservationBandwidth as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), "::", stringify!(ReservationBandwidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .CriticalReservationBandwidth as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), "::", stringify!(CriticalReservationBandwidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .MaxTimePercent as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), "::", stringify!(MaxTimePercent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .ReservationTimePercent as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), "::", stringify!(ReservationTimePercent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .CriticalReservationTimePercent as *const _ 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() { 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::null::())).MaxIops as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(MaxIops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxBandwidth as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(MaxBandwidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .ReservationIops as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(ReservationIops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).VolumeName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(VolumeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BaseIoSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(BaseIoSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ControlFlags as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(ControlFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .VolumeNameLength as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(VolumeNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .CriticalReservationIops as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(CriticalReservationIops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .ReservationBandwidth as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(ReservationBandwidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .CriticalReservationBandwidth as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(CriticalReservationBandwidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .MaxTimePercent as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(MaxTimePercent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .ReservationTimePercent as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(ReservationTimePercent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .CriticalReservationTimePercent as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(CriticalReservationTimePercent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SoftMaxIops as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(SoftMaxIops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .SoftMaxBandwidth as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(SoftMaxBandwidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .SoftMaxTimePercent as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(SoftMaxTimePercent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .LimitExcessNotifyIops as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(LimitExcessNotifyIops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .LimitExcessNotifyBandwidth as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), "::", stringify!(LimitExcessNotifyBandwidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .LimitExcessNotifyTimePercent as *const _ 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() { 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::null::<_JOBOBJECT_IO_ATTRIBUTION_STATS>())).IoCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_IO_ATTRIBUTION_STATS), "::", stringify!(IoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_IO_ATTRIBUTION_STATS>())).TotalNonOverlappedQueueTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_IO_ATTRIBUTION_STATS), "::", stringify!(TotalNonOverlappedQueueTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_IO_ATTRIBUTION_STATS>())) .TotalNonOverlappedServiceTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_IO_ATTRIBUTION_STATS), "::", stringify!(TotalNonOverlappedServiceTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_IO_ATTRIBUTION_STATS>())).TotalSize as *const _ 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() { 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::null::<_JOBOBJECT_IO_ATTRIBUTION_INFORMATION>())).ControlFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_IO_ATTRIBUTION_INFORMATION), "::", stringify!(ControlFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_IO_ATTRIBUTION_INFORMATION>())).ReadStats as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_JOBOBJECT_IO_ATTRIBUTION_INFORMATION), "::", stringify!(ReadStats) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOBOBJECT_IO_ATTRIBUTION_INFORMATION>())).WriteStats as *const _ 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() { 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::null::<_SILOOBJECT_BASIC_INFORMATION>())).SiloId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SILOOBJECT_BASIC_INFORMATION), "::", stringify!(SiloId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SILOOBJECT_BASIC_INFORMATION>())).SiloParentId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SILOOBJECT_BASIC_INFORMATION), "::", stringify!(SiloParentId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SILOOBJECT_BASIC_INFORMATION>())).NumberOfProcesses as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SILOOBJECT_BASIC_INFORMATION), "::", stringify!(NumberOfProcesses) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SILOOBJECT_BASIC_INFORMATION>())).IsInServerSilo as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SILOOBJECT_BASIC_INFORMATION), "::", stringify!(IsInServerSilo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SILOOBJECT_BASIC_INFORMATION>())).Reserved as *const _ 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, } #[test] fn bindgen_test_layout__SERVERSILO_BASIC_INFORMATION() { assert_eq!( ::std::mem::size_of::<_SERVERSILO_BASIC_INFORMATION>(), 12usize, concat!("Size of: ", stringify!(_SERVERSILO_BASIC_INFORMATION)) ); assert_eq!( ::std::mem::align_of::<_SERVERSILO_BASIC_INFORMATION>(), 4usize, concat!("Alignment of ", stringify!(_SERVERSILO_BASIC_INFORMATION)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVERSILO_BASIC_INFORMATION>())).ServiceSessionId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVERSILO_BASIC_INFORMATION), "::", stringify!(ServiceSessionId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVERSILO_BASIC_INFORMATION>())).State as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SERVERSILO_BASIC_INFORMATION), "::", stringify!(State) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVERSILO_BASIC_INFORMATION>())).ExitStatus as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SERVERSILO_BASIC_INFORMATION), "::", stringify!(ExitStatus) ) ); } pub type SERVERSILO_BASIC_INFORMATION = _SERVERSILO_BASIC_INFORMATION; pub type PSERVERSILO_BASIC_INFORMATION = *mut _SERVERSILO_BASIC_INFORMATION; pub const _FIRMWARE_TYPE_FirmwareTypeUnknown: _FIRMWARE_TYPE = 0; pub const _FIRMWARE_TYPE_FirmwareTypeBios: _FIRMWARE_TYPE = 1; pub const _FIRMWARE_TYPE_FirmwareTypeUefi: _FIRMWARE_TYPE = 2; pub const _FIRMWARE_TYPE_FirmwareTypeMax: _FIRMWARE_TYPE = 3; pub type _FIRMWARE_TYPE = ::std::os::raw::c_int; pub use self::_FIRMWARE_TYPE as FIRMWARE_TYPE; pub type PFIRMWARE_TYPE = *mut _FIRMWARE_TYPE; pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationProcessorCore: _LOGICAL_PROCESSOR_RELATIONSHIP = 0; pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationNumaNode: _LOGICAL_PROCESSOR_RELATIONSHIP = 1; pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationCache: _LOGICAL_PROCESSOR_RELATIONSHIP = 2; pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationProcessorPackage: _LOGICAL_PROCESSOR_RELATIONSHIP = 3; pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationGroup: _LOGICAL_PROCESSOR_RELATIONSHIP = 4; pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationAll: _LOGICAL_PROCESSOR_RELATIONSHIP = 65535; pub type _LOGICAL_PROCESSOR_RELATIONSHIP = ::std::os::raw::c_int; pub use self::_LOGICAL_PROCESSOR_RELATIONSHIP as LOGICAL_PROCESSOR_RELATIONSHIP; pub const _PROCESSOR_CACHE_TYPE_CacheUnified: _PROCESSOR_CACHE_TYPE = 0; pub const _PROCESSOR_CACHE_TYPE_CacheInstruction: _PROCESSOR_CACHE_TYPE = 1; pub const _PROCESSOR_CACHE_TYPE_CacheData: _PROCESSOR_CACHE_TYPE = 2; pub const _PROCESSOR_CACHE_TYPE_CacheTrace: _PROCESSOR_CACHE_TYPE = 3; pub type _PROCESSOR_CACHE_TYPE = ::std::os::raw::c_int; pub use self::_PROCESSOR_CACHE_TYPE as PROCESSOR_CACHE_TYPE; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _CACHE_DESCRIPTOR { pub Level: BYTE, pub Associativity: BYTE, pub LineSize: WORD, pub Size: DWORD, pub Type: PROCESSOR_CACHE_TYPE, } #[test] fn bindgen_test_layout__CACHE_DESCRIPTOR() { 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::null::<_CACHE_DESCRIPTOR>())).Level as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CACHE_DESCRIPTOR), "::", stringify!(Level) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CACHE_DESCRIPTOR>())).Associativity as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_CACHE_DESCRIPTOR), "::", stringify!(Associativity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CACHE_DESCRIPTOR>())).LineSize as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_CACHE_DESCRIPTOR), "::", stringify!(LineSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CACHE_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CACHE_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CACHE_DESCRIPTOR>())).Type as *const _ 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], _bindgen_union_align: [u64; 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() { 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::null::< _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1, >())) .Flags as *const _ 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() { 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::null::< _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2, >())) .NodeNumber as *const _ 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() { 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::null::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1>())) .ProcessorCore as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1), "::", stringify!(ProcessorCore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1>())).NumaNode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1), "::", stringify!(NumaNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1>())).Cache as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1), "::", stringify!(Cache) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1>())).Reserved as *const _ 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() { 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::null::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION>())).ProcessorMask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION), "::", stringify!(ProcessorMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION>())).Relationship as *const _ 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() { 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::null::<_PROCESSOR_RELATIONSHIP>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_RELATIONSHIP), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_RELATIONSHIP>())).EfficiencyClass as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_RELATIONSHIP), "::", stringify!(EfficiencyClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_RELATIONSHIP>())).Reserved as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_RELATIONSHIP), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_RELATIONSHIP>())).GroupCount as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_RELATIONSHIP), "::", stringify!(GroupCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_RELATIONSHIP>())).GroupMask as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_RELATIONSHIP), "::", stringify!(GroupMask) ) ); } pub type PROCESSOR_RELATIONSHIP = _PROCESSOR_RELATIONSHIP; pub type PPROCESSOR_RELATIONSHIP = *mut _PROCESSOR_RELATIONSHIP; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _NUMA_NODE_RELATIONSHIP { pub NodeNumber: DWORD, pub Reserved: [BYTE; 20usize], pub GroupMask: GROUP_AFFINITY, } #[test] fn bindgen_test_layout__NUMA_NODE_RELATIONSHIP() { 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::null::<_NUMA_NODE_RELATIONSHIP>())).NodeNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NUMA_NODE_RELATIONSHIP), "::", stringify!(NodeNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NUMA_NODE_RELATIONSHIP>())).Reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NUMA_NODE_RELATIONSHIP), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NUMA_NODE_RELATIONSHIP>())).GroupMask as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NUMA_NODE_RELATIONSHIP), "::", stringify!(GroupMask) ) ); } pub type NUMA_NODE_RELATIONSHIP = _NUMA_NODE_RELATIONSHIP; pub type PNUMA_NODE_RELATIONSHIP = *mut _NUMA_NODE_RELATIONSHIP; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _CACHE_RELATIONSHIP { pub Level: BYTE, pub Associativity: BYTE, pub LineSize: WORD, pub CacheSize: DWORD, pub Type: PROCESSOR_CACHE_TYPE, pub Reserved: [BYTE; 20usize], pub GroupMask: GROUP_AFFINITY, } #[test] fn bindgen_test_layout__CACHE_RELATIONSHIP() { 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::null::<_CACHE_RELATIONSHIP>())).Level as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CACHE_RELATIONSHIP), "::", stringify!(Level) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CACHE_RELATIONSHIP>())).Associativity as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_CACHE_RELATIONSHIP), "::", stringify!(Associativity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CACHE_RELATIONSHIP>())).LineSize as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_CACHE_RELATIONSHIP), "::", stringify!(LineSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CACHE_RELATIONSHIP>())).CacheSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CACHE_RELATIONSHIP), "::", stringify!(CacheSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CACHE_RELATIONSHIP>())).Type as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CACHE_RELATIONSHIP), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CACHE_RELATIONSHIP>())).Reserved as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CACHE_RELATIONSHIP), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CACHE_RELATIONSHIP>())).GroupMask as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CACHE_RELATIONSHIP), "::", stringify!(GroupMask) ) ); } pub type CACHE_RELATIONSHIP = _CACHE_RELATIONSHIP; pub type PCACHE_RELATIONSHIP = *mut _CACHE_RELATIONSHIP; #[repr(C)] #[derive(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() { 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::null::<_PROCESSOR_GROUP_INFO>())).MaximumProcessorCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_GROUP_INFO), "::", stringify!(MaximumProcessorCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_GROUP_INFO>())).ActiveProcessorCount as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_GROUP_INFO), "::", stringify!(ActiveProcessorCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_GROUP_INFO>())).Reserved as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_GROUP_INFO), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_GROUP_INFO>())).ActiveProcessorMask as *const _ 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(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() { 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::null::<_GROUP_RELATIONSHIP>())).MaximumGroupCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GROUP_RELATIONSHIP), "::", stringify!(MaximumGroupCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GROUP_RELATIONSHIP>())).ActiveGroupCount as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_GROUP_RELATIONSHIP), "::", stringify!(ActiveGroupCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GROUP_RELATIONSHIP>())).Reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_GROUP_RELATIONSHIP), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GROUP_RELATIONSHIP>())).GroupInfo as *const _ 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, _bindgen_union_align: [u64; 9usize], } #[test] fn bindgen_test_layout__SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1() { 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::null::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1>())) .Processor as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1), "::", stringify!(Processor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1>())) .NumaNode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1), "::", stringify!(NumaNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1>())).Cache as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1), "::", stringify!(Cache) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1>())).Group as *const _ 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() { 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::null::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX>())).Relationship as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX), "::", stringify!(Relationship) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX>())).Size as *const _ 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, _bindgen_union_align: [u64; 3usize], } #[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, _bindgen_union_align: u8, } #[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_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, } #[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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = 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() { 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::null::< _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, >())) .AllFlags as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2() { 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::null::< _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, >())) .Reserved as *const _ 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::null::< _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, >())) .SchedulingClass as *const _ 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() { 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::null::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1>())).Id as *const _ 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::null::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1>())) .Group as *const _ 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::null::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1>())) .LogicalProcessorIndex as *const _ 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::null::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1>())) .CoreIndex as *const _ 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::null::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1>())) .LastLevelCacheIndex as *const _ 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::null::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1>())) .NumaNodeIndex as *const _ 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::null::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1>())) .EfficiencyClass as *const _ 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::null::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1>())) .AllocationTag as *const _ 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() { 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::null::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1>())).CpuSet as *const _ 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() { 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::null::<_SYSTEM_CPU_SET_INFORMATION>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_CPU_SET_INFORMATION), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_CPU_SET_INFORMATION>())).Type as *const _ 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_PROCESSOR_CYCLE_TIME_INFORMATION { pub CycleTime: DWORD64, } #[test] fn bindgen_test_layout__SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION() { 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::null::<_SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION>())).CycleTime as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION), "::", stringify!(CycleTime) ) ); } pub type SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION = _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION; pub type PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION = *mut _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _XSTATE_FEATURE { pub Offset: DWORD, pub Size: DWORD, } #[test] fn bindgen_test_layout__XSTATE_FEATURE() { 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::null::<_XSTATE_FEATURE>())).Offset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_XSTATE_FEATURE), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSTATE_FEATURE>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_XSTATE_FEATURE), "::", stringify!(Size) ) ); } pub type XSTATE_FEATURE = _XSTATE_FEATURE; pub type PXSTATE_FEATURE = *mut _XSTATE_FEATURE; #[repr(C)] #[derive(Copy, Clone)] pub struct _XSTATE_CONFIGURATION { pub EnabledFeatures: DWORD64, pub EnabledVolatileFeatures: DWORD64, pub Size: DWORD, pub __bindgen_anon_1: _XSTATE_CONFIGURATION__bindgen_ty_1, pub Features: [XSTATE_FEATURE; 64usize], pub EnabledSupervisorFeatures: DWORD64, pub AlignedFeatures: DWORD64, pub AllFeatureSize: DWORD, pub AllFeatures: [DWORD; 64usize], pub EnabledUserVisibleSupervisorFeatures: DWORD64, } #[repr(C)] #[derive(Copy, Clone)] pub union _XSTATE_CONFIGURATION__bindgen_ty_1 { pub ControlFlags: DWORD, pub __bindgen_anon_1: _XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, pub __bindgen_padding_0: [u8; 3usize], } #[test] fn bindgen_test_layout__XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::<_XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1>(), 4usize, concat!( "Size of: ", stringify!(_XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::<_XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1>(), 4usize, concat!( "Alignment of ", stringify!(_XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1) ) ); } impl _XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1 { #[inline] pub fn OptimizedSave(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } } #[inline] pub fn set_OptimizedSave(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(0usize, 1u8, val as u64) } } #[inline] pub fn CompactionEnabled(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } } #[inline] pub fn set_CompactionEnabled(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(1usize, 1u8, val as u64) } } #[inline] pub fn new_bitfield_1( OptimizedSave: DWORD, CompactionEnabled: DWORD, ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = Default::default(); __bindgen_bitfield_unit.set(0usize, 1u8, { let OptimizedSave: u32 = unsafe { ::std::mem::transmute(OptimizedSave) }; OptimizedSave as u64 }); __bindgen_bitfield_unit.set(1usize, 1u8, { let CompactionEnabled: u32 = unsafe { ::std::mem::transmute(CompactionEnabled) }; CompactionEnabled as u64 }); __bindgen_bitfield_unit } } #[test] fn bindgen_test_layout__XSTATE_CONFIGURATION__bindgen_ty_1() { 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::null::<_XSTATE_CONFIGURATION__bindgen_ty_1>())).ControlFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_XSTATE_CONFIGURATION__bindgen_ty_1), "::", stringify!(ControlFlags) ) ); } #[test] fn bindgen_test_layout__XSTATE_CONFIGURATION() { assert_eq!( ::std::mem::size_of::<_XSTATE_CONFIGURATION>(), 824usize, concat!("Size of: ", stringify!(_XSTATE_CONFIGURATION)) ); assert_eq!( ::std::mem::align_of::<_XSTATE_CONFIGURATION>(), 8usize, concat!("Alignment of ", stringify!(_XSTATE_CONFIGURATION)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSTATE_CONFIGURATION>())).EnabledFeatures as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_XSTATE_CONFIGURATION), "::", stringify!(EnabledFeatures) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSTATE_CONFIGURATION>())).EnabledVolatileFeatures as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_XSTATE_CONFIGURATION), "::", stringify!(EnabledVolatileFeatures) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSTATE_CONFIGURATION>())).Size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_XSTATE_CONFIGURATION), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSTATE_CONFIGURATION>())).Features as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_XSTATE_CONFIGURATION), "::", stringify!(Features) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSTATE_CONFIGURATION>())).EnabledSupervisorFeatures as *const _ as usize }, 536usize, concat!( "Offset of field: ", stringify!(_XSTATE_CONFIGURATION), "::", stringify!(EnabledSupervisorFeatures) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSTATE_CONFIGURATION>())).AlignedFeatures as *const _ as usize }, 544usize, concat!( "Offset of field: ", stringify!(_XSTATE_CONFIGURATION), "::", stringify!(AlignedFeatures) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSTATE_CONFIGURATION>())).AllFeatureSize as *const _ as usize }, 552usize, concat!( "Offset of field: ", stringify!(_XSTATE_CONFIGURATION), "::", stringify!(AllFeatureSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSTATE_CONFIGURATION>())).AllFeatures as *const _ as usize }, 556usize, concat!( "Offset of field: ", stringify!(_XSTATE_CONFIGURATION), "::", stringify!(AllFeatures) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XSTATE_CONFIGURATION>())).EnabledUserVisibleSupervisorFeatures as *const _ as usize }, 816usize, concat!( "Offset of field: ", stringify!(_XSTATE_CONFIGURATION), "::", stringify!(EnabledUserVisibleSupervisorFeatures) ) ); } pub type XSTATE_CONFIGURATION = _XSTATE_CONFIGURATION; pub type PXSTATE_CONFIGURATION = *mut _XSTATE_CONFIGURATION; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _MEMORY_BASIC_INFORMATION { pub BaseAddress: PVOID, pub AllocationBase: PVOID, pub AllocationProtect: DWORD, pub RegionSize: SIZE_T, pub State: DWORD, pub Protect: DWORD, pub Type: DWORD, } #[test] fn bindgen_test_layout__MEMORY_BASIC_INFORMATION() { 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::null::<_MEMORY_BASIC_INFORMATION>())).BaseAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION), "::", stringify!(BaseAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION>())).AllocationBase as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION), "::", stringify!(AllocationBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION>())).AllocationProtect as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION), "::", stringify!(AllocationProtect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION>())).RegionSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION), "::", stringify!(RegionSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION>())).State as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION), "::", stringify!(State) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION>())).Protect as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION), "::", stringify!(Protect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION>())).Type as *const _ 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() { 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::null::<_MEMORY_BASIC_INFORMATION32>())).BaseAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION32), "::", stringify!(BaseAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION32>())).AllocationBase as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION32), "::", stringify!(AllocationBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION32>())).AllocationProtect as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION32), "::", stringify!(AllocationProtect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION32>())).RegionSize as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION32), "::", stringify!(RegionSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION32>())).State as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION32), "::", stringify!(State) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION32>())).Protect as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION32), "::", stringify!(Protect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION32>())).Type as *const _ 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() { 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::null::<_MEMORY_BASIC_INFORMATION64>())).BaseAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION64), "::", stringify!(BaseAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION64>())).AllocationBase as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION64), "::", stringify!(AllocationBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION64>())).AllocationProtect as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION64), "::", stringify!(AllocationProtect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION64>())).__alignment1 as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION64), "::", stringify!(__alignment1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION64>())).RegionSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION64), "::", stringify!(RegionSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION64>())).State as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION64), "::", stringify!(State) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION64>())).Protect as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION64), "::", stringify!(Protect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION64>())).Type as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_MEMORY_BASIC_INFORMATION64), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORY_BASIC_INFORMATION64>())).__alignment2 as *const _ 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() { 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::null::<_CFG_CALL_TARGET_INFO>())).Offset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CFG_CALL_TARGET_INFO), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CFG_CALL_TARGET_INFO>())).Flags as *const _ 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() { 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::null::<_MEM_ADDRESS_REQUIREMENTS>())).LowestStartingAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MEM_ADDRESS_REQUIREMENTS), "::", stringify!(LowestStartingAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEM_ADDRESS_REQUIREMENTS>())).HighestEndingAddress as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MEM_ADDRESS_REQUIREMENTS), "::", stringify!(HighestEndingAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEM_ADDRESS_REQUIREMENTS>())).Alignment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MEM_ADDRESS_REQUIREMENTS), "::", stringify!(Alignment) ) ); } pub type MEM_ADDRESS_REQUIREMENTS = _MEM_ADDRESS_REQUIREMENTS; pub type PMEM_ADDRESS_REQUIREMENTS = *mut _MEM_ADDRESS_REQUIREMENTS; pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterInvalidType: MEM_EXTENDED_PARAMETER_TYPE = 0; pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterAddressRequirements: MEM_EXTENDED_PARAMETER_TYPE = 1; pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterNumaNode: MEM_EXTENDED_PARAMETER_TYPE = 2; pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterPartitionHandle: MEM_EXTENDED_PARAMETER_TYPE = 3; pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterUserPhysicalHandle: MEM_EXTENDED_PARAMETER_TYPE = 4; pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterAttributeFlags: MEM_EXTENDED_PARAMETER_TYPE = 5; pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterMax: MEM_EXTENDED_PARAMETER_TYPE = 6; pub type MEM_EXTENDED_PARAMETER_TYPE = ::std::os::raw::c_int; pub type PMEM_EXTENDED_PARAMETER_TYPE = *mut MEM_EXTENDED_PARAMETER_TYPE; #[repr(C)] #[derive(Copy, Clone)] pub struct MEM_EXTENDED_PARAMETER { pub __bindgen_anon_1: MEM_EXTENDED_PARAMETER__bindgen_ty_1, pub __bindgen_anon_2: MEM_EXTENDED_PARAMETER__bindgen_ty_2, } #[repr(C)] #[repr(align(8))] #[derive(Debug, Copy, Clone)] pub struct MEM_EXTENDED_PARAMETER__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u64>, } #[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], u64> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u64> = 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_MEM_EXTENDED_PARAMETER__bindgen_ty_2() { 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::null::())).ULong64 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2), "::", stringify!(ULong64) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Pointer as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2), "::", stringify!(Pointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Handle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2), "::", stringify!(Handle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ULong as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2), "::", stringify!(ULong) ) ); } #[test] fn bindgen_test_layout_MEM_EXTENDED_PARAMETER() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(MEM_EXTENDED_PARAMETER)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(MEM_EXTENDED_PARAMETER)) ); } pub type PMEM_EXTENDED_PARAMETER = *mut MEM_EXTENDED_PARAMETER; pub const MEM_SECTION_EXTENDED_PARAMETER_TYPE_MemSectionExtendedParameterInvalidType: MEM_SECTION_EXTENDED_PARAMETER_TYPE = 0; pub const MEM_SECTION_EXTENDED_PARAMETER_TYPE_MemSectionExtendedParameterUserPhysicalFlags: MEM_SECTION_EXTENDED_PARAMETER_TYPE = 1; pub const MEM_SECTION_EXTENDED_PARAMETER_TYPE_MemSectionExtendedParameterNumaNode: MEM_SECTION_EXTENDED_PARAMETER_TYPE = 2; pub const MEM_SECTION_EXTENDED_PARAMETER_TYPE_MemSectionExtendedParameterMax: MEM_SECTION_EXTENDED_PARAMETER_TYPE = 3; pub type MEM_SECTION_EXTENDED_PARAMETER_TYPE = ::std::os::raw::c_int; pub type PMEM_SECTION_EXTENDED_PARAMETER_TYPE = *mut MEM_SECTION_EXTENDED_PARAMETER_TYPE; #[repr(C)] #[derive(Copy, Clone)] pub struct _ENCLAVE_CREATE_INFO_SGX { pub Secs: [BYTE; 4096usize], } #[test] fn bindgen_test_layout__ENCLAVE_CREATE_INFO_SGX() { 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::null::<_ENCLAVE_CREATE_INFO_SGX>())).Secs as *const _ 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(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() { 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::null::<_ENCLAVE_INIT_INFO_SGX>())).SigStruct as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCLAVE_INIT_INFO_SGX), "::", stringify!(SigStruct) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCLAVE_INIT_INFO_SGX>())).Reserved1 as *const _ as usize }, 1808usize, concat!( "Offset of field: ", stringify!(_ENCLAVE_INIT_INFO_SGX), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCLAVE_INIT_INFO_SGX>())).EInitToken as *const _ as usize }, 2048usize, concat!( "Offset of field: ", stringify!(_ENCLAVE_INIT_INFO_SGX), "::", stringify!(EInitToken) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCLAVE_INIT_INFO_SGX>())).Reserved2 as *const _ 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() { 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::null::<_ENCLAVE_CREATE_INFO_VBS>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCLAVE_CREATE_INFO_VBS), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCLAVE_CREATE_INFO_VBS>())).OwnerID as *const _ 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() { 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::null::<_ENCLAVE_CREATE_INFO_VBS_BASIC>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCLAVE_CREATE_INFO_VBS_BASIC), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCLAVE_CREATE_INFO_VBS_BASIC>())).OwnerID as *const _ 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() { 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::null::<_ENCLAVE_LOAD_DATA_VBS_BASIC>())).PageType as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1() { 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::null::<_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1>())) .SignatureInfoHandle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1), "::", stringify!(SignatureInfoHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1>())).Unused as *const _ 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() { 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::null::<_ENCLAVE_INIT_INFO_VBS_BASIC>())).FamilyId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC), "::", stringify!(FamilyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCLAVE_INIT_INFO_VBS_BASIC>())).ImageId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC), "::", stringify!(ImageId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCLAVE_INIT_INFO_VBS_BASIC>())).EnclaveSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC), "::", stringify!(EnclaveSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCLAVE_INIT_INFO_VBS_BASIC>())).EnclaveSvn as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC), "::", stringify!(EnclaveSvn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCLAVE_INIT_INFO_VBS_BASIC>())).Reserved as *const _ 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() { 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::null::<_ENCLAVE_INIT_INFO_VBS>())).Length as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCLAVE_INIT_INFO_VBS), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCLAVE_INIT_INFO_VBS>())).ThreadCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ENCLAVE_INIT_INFO_VBS), "::", stringify!(ThreadCount) ) ); } pub type ENCLAVE_INIT_INFO_VBS = _ENCLAVE_INIT_INFO_VBS; pub type PENCLAVE_INIT_INFO_VBS = *mut _ENCLAVE_INIT_INFO_VBS; pub type ENCLAVE_TARGET_FUNCTION = ::std::option::Option PVOID>; pub type PENCLAVE_TARGET_FUNCTION = ENCLAVE_TARGET_FUNCTION; pub type LPENCLAVE_TARGET_FUNCTION = PENCLAVE_TARGET_FUNCTION; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _FILE_ID_128 { pub Identifier: [BYTE; 16usize], } #[test] fn bindgen_test_layout__FILE_ID_128() { 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::null::<_FILE_ID_128>())).Identifier as *const _ 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() { 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::null::<_FILE_NOTIFY_INFORMATION>())).NextEntryOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_INFORMATION), "::", stringify!(NextEntryOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_INFORMATION>())).Action as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_INFORMATION), "::", stringify!(Action) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_INFORMATION>())).FileNameLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_INFORMATION), "::", stringify!(FileNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_INFORMATION>())).FileName as *const _ 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() { 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::null::<_FILE_NOTIFY_EXTENDED_INFORMATION>())).NextEntryOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), "::", stringify!(NextEntryOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_EXTENDED_INFORMATION>())).Action as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), "::", stringify!(Action) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_EXTENDED_INFORMATION>())).CreationTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), "::", stringify!(CreationTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_EXTENDED_INFORMATION>())).LastModificationTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), "::", stringify!(LastModificationTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_EXTENDED_INFORMATION>())).LastChangeTime as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), "::", stringify!(LastChangeTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_EXTENDED_INFORMATION>())).LastAccessTime as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), "::", stringify!(LastAccessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_EXTENDED_INFORMATION>())).AllocatedLength as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), "::", stringify!(AllocatedLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_EXTENDED_INFORMATION>())).FileSize as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), "::", stringify!(FileSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_EXTENDED_INFORMATION>())).FileAttributes as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), "::", stringify!(FileAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_EXTENDED_INFORMATION>())).ReparsePointTag as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), "::", stringify!(ReparsePointTag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_EXTENDED_INFORMATION>())).FileId as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), "::", stringify!(FileId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_EXTENDED_INFORMATION>())).ParentFileId as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), "::", stringify!(ParentFileId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_EXTENDED_INFORMATION>())).FileNameLength as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), "::", stringify!(FileNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NOTIFY_EXTENDED_INFORMATION>())).FileName as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__FILE_SEGMENT_ELEMENT() { 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::null::<_FILE_SEGMENT_ELEMENT>())).Buffer as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_SEGMENT_ELEMENT), "::", stringify!(Buffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_SEGMENT_ELEMENT>())).Alignment as *const _ 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() { 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::null::<_REPARSE_GUID_DATA_BUFFER__bindgen_ty_1>())).DataBuffer as *const _ 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() { 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::null::<_REPARSE_GUID_DATA_BUFFER>())).ReparseTag as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REPARSE_GUID_DATA_BUFFER), "::", stringify!(ReparseTag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REPARSE_GUID_DATA_BUFFER>())).ReparseDataLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_REPARSE_GUID_DATA_BUFFER), "::", stringify!(ReparseDataLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REPARSE_GUID_DATA_BUFFER>())).Reserved as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_REPARSE_GUID_DATA_BUFFER), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REPARSE_GUID_DATA_BUFFER>())).ReparseGuid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_REPARSE_GUID_DATA_BUFFER), "::", stringify!(ReparseGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REPARSE_GUID_DATA_BUFFER>())).GenericReparseBuffer as *const _ 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(Copy, Clone)] pub struct _SCRUB_DATA_INPUT { pub Size: DWORD, pub Flags: DWORD, pub MaximumIos: DWORD, pub ObjectId: [DWORD; 4usize], pub Reserved: [DWORD; 25usize], pub ResumeContext: [BYTE; 816usize], } #[test] fn bindgen_test_layout__SCRUB_DATA_INPUT() { assert_eq!( ::std::mem::size_of::<_SCRUB_DATA_INPUT>(), 944usize, concat!("Size of: ", stringify!(_SCRUB_DATA_INPUT)) ); assert_eq!( ::std::mem::align_of::<_SCRUB_DATA_INPUT>(), 4usize, concat!("Alignment of ", stringify!(_SCRUB_DATA_INPUT)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_INPUT>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_INPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_INPUT>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_INPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_INPUT>())).MaximumIos as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_INPUT), "::", stringify!(MaximumIos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_INPUT>())).ObjectId as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_INPUT), "::", stringify!(ObjectId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_INPUT>())).Reserved as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_INPUT), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_INPUT>())).ResumeContext as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_INPUT), "::", stringify!(ResumeContext) ) ); } pub type SCRUB_DATA_INPUT = _SCRUB_DATA_INPUT; pub type PSCRUB_DATA_INPUT = *mut _SCRUB_DATA_INPUT; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _SCRUB_PARITY_EXTENT { pub Offset: LONGLONG, pub Length: ULONGLONG, } #[test] fn bindgen_test_layout__SCRUB_PARITY_EXTENT() { 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::null::<_SCRUB_PARITY_EXTENT>())).Offset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCRUB_PARITY_EXTENT), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_PARITY_EXTENT>())).Length as *const _ 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() { 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::null::<_SCRUB_PARITY_EXTENT_DATA>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCRUB_PARITY_EXTENT_DATA), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_PARITY_EXTENT_DATA>())).Flags as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_SCRUB_PARITY_EXTENT_DATA), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_PARITY_EXTENT_DATA>())).NumberOfParityExtents as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCRUB_PARITY_EXTENT_DATA), "::", stringify!(NumberOfParityExtents) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_PARITY_EXTENT_DATA>())).MaximumNumberOfParityExtents as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_SCRUB_PARITY_EXTENT_DATA), "::", stringify!(MaximumNumberOfParityExtents) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_PARITY_EXTENT_DATA>())).ParityExtents as *const _ 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(Copy, Clone)] pub struct _SCRUB_DATA_OUTPUT { pub Size: DWORD, pub Flags: DWORD, pub Status: DWORD, pub ErrorFileOffset: ULONGLONG, pub ErrorLength: ULONGLONG, pub NumberOfBytesRepaired: ULONGLONG, pub NumberOfBytesFailed: ULONGLONG, pub InternalFileReference: ULONGLONG, pub ResumeContextLength: WORD, pub ParityExtentDataOffset: WORD, pub Reserved: [DWORD; 9usize], pub NumberOfMetadataBytesProcessed: ULONGLONG, pub NumberOfDataBytesProcessed: ULONGLONG, pub TotalNumberOfMetadataBytesInUse: ULONGLONG, pub TotalNumberOfDataBytesInUse: ULONGLONG, pub ResumeContext: [BYTE; 816usize], } #[test] fn bindgen_test_layout__SCRUB_DATA_OUTPUT() { assert_eq!( ::std::mem::size_of::<_SCRUB_DATA_OUTPUT>(), 944usize, concat!("Size of: ", stringify!(_SCRUB_DATA_OUTPUT)) ); assert_eq!( ::std::mem::align_of::<_SCRUB_DATA_OUTPUT>(), 8usize, concat!("Alignment of ", stringify!(_SCRUB_DATA_OUTPUT)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).Status as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(Status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).ErrorFileOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(ErrorFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).ErrorLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(ErrorLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).NumberOfBytesRepaired as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(NumberOfBytesRepaired) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).NumberOfBytesFailed as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(NumberOfBytesFailed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).InternalFileReference as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(InternalFileReference) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).ResumeContextLength as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(ResumeContextLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).ParityExtentDataOffset as *const _ as usize }, 58usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(ParityExtentDataOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).Reserved as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).NumberOfMetadataBytesProcessed as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(NumberOfMetadataBytesProcessed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).NumberOfDataBytesProcessed as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(NumberOfDataBytesProcessed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).TotalNumberOfMetadataBytesInUse as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(TotalNumberOfMetadataBytesInUse) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).TotalNumberOfDataBytesInUse as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(TotalNumberOfDataBytesInUse) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCRUB_DATA_OUTPUT>())).ResumeContext as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_SCRUB_DATA_OUTPUT), "::", stringify!(ResumeContext) ) ); } pub type SCRUB_DATA_OUTPUT = _SCRUB_DATA_OUTPUT; pub type PSCRUB_DATA_OUTPUT = *mut _SCRUB_DATA_OUTPUT; pub const _SharedVirtualDiskSupportType_SharedVirtualDisksUnsupported: _SharedVirtualDiskSupportType = 0; pub const _SharedVirtualDiskSupportType_SharedVirtualDisksSupported: _SharedVirtualDiskSupportType = 1; pub const _SharedVirtualDiskSupportType_SharedVirtualDiskSnapshotsSupported: _SharedVirtualDiskSupportType = 3; pub const _SharedVirtualDiskSupportType_SharedVirtualDiskCDPSnapshotsSupported: _SharedVirtualDiskSupportType = 7; pub type _SharedVirtualDiskSupportType = ::std::os::raw::c_int; pub use self::_SharedVirtualDiskSupportType as SharedVirtualDiskSupportType; pub const _SharedVirtualDiskHandleState_SharedVirtualDiskHandleStateNone: _SharedVirtualDiskHandleState = 0; pub const _SharedVirtualDiskHandleState_SharedVirtualDiskHandleStateFileShared: _SharedVirtualDiskHandleState = 1; pub const _SharedVirtualDiskHandleState_SharedVirtualDiskHandleStateHandleShared: _SharedVirtualDiskHandleState = 3; pub type _SharedVirtualDiskHandleState = ::std::os::raw::c_int; pub use self::_SharedVirtualDiskHandleState as SharedVirtualDiskHandleState; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _SHARED_VIRTUAL_DISK_SUPPORT { pub SharedVirtualDiskSupport: SharedVirtualDiskSupportType, pub HandleState: SharedVirtualDiskHandleState, } #[test] fn bindgen_test_layout__SHARED_VIRTUAL_DISK_SUPPORT() { 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::null::<_SHARED_VIRTUAL_DISK_SUPPORT>())).SharedVirtualDiskSupport as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHARED_VIRTUAL_DISK_SUPPORT), "::", stringify!(SharedVirtualDiskSupport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHARED_VIRTUAL_DISK_SUPPORT>())).HandleState as *const _ 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() { 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::null::<_REARRANGE_FILE_DATA>())).SourceStartingOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REARRANGE_FILE_DATA), "::", stringify!(SourceStartingOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REARRANGE_FILE_DATA>())).TargetOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_REARRANGE_FILE_DATA), "::", stringify!(TargetOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REARRANGE_FILE_DATA>())).SourceFileHandle as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_REARRANGE_FILE_DATA), "::", stringify!(SourceFileHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REARRANGE_FILE_DATA>())).Length as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_REARRANGE_FILE_DATA), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REARRANGE_FILE_DATA>())).Flags as *const _ 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() { 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::null::<_REARRANGE_FILE_DATA32>())).SourceStartingOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REARRANGE_FILE_DATA32), "::", stringify!(SourceStartingOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REARRANGE_FILE_DATA32>())).TargetOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_REARRANGE_FILE_DATA32), "::", stringify!(TargetOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REARRANGE_FILE_DATA32>())).SourceFileHandle as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_REARRANGE_FILE_DATA32), "::", stringify!(SourceFileHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REARRANGE_FILE_DATA32>())).Length as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_REARRANGE_FILE_DATA32), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REARRANGE_FILE_DATA32>())).Flags as *const _ 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() { 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::null::<_SHUFFLE_FILE_DATA>())).StartingOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHUFFLE_FILE_DATA), "::", stringify!(StartingOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHUFFLE_FILE_DATA>())).Length as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SHUFFLE_FILE_DATA), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHUFFLE_FILE_DATA>())).Flags as *const _ 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() { 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::null::<_NETWORK_APP_INSTANCE_EA>())).AppInstanceID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NETWORK_APP_INSTANCE_EA), "::", stringify!(AppInstanceID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETWORK_APP_INSTANCE_EA>())).CsvFlags as *const _ 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_SLEEP_SUBGROUP: GUID; } extern "C" { pub static GUID_SLEEP_IDLE_THRESHOLD: GUID; } extern "C" { pub static GUID_STANDBY_TIMEOUT: GUID; } extern "C" { pub static GUID_UNATTEND_SLEEP_TIMEOUT: GUID; } extern "C" { pub static GUID_HIBERNATE_TIMEOUT: GUID; } extern "C" { pub static GUID_HIBERNATE_FASTS4_POLICY: GUID; } extern "C" { pub static GUID_CRITICAL_POWER_TRANSITION: GUID; } extern "C" { pub static GUID_SYSTEM_AWAYMODE: GUID; } extern "C" { pub static GUID_ALLOW_AWAYMODE: GUID; } extern "C" { pub static GUID_USER_PRESENCE_PREDICTION: GUID; } extern "C" { pub static GUID_STANDBY_BUDGET_GRACE_PERIOD: GUID; } extern "C" { pub static GUID_STANDBY_BUDGET_PERCENT: GUID; } extern "C" { pub static GUID_STANDBY_RESERVE_GRACE_PERIOD: GUID; } extern "C" { pub static GUID_STANDBY_RESERVE_TIME: GUID; } extern "C" { pub static GUID_STANDBY_RESET_PERCENT: GUID; } extern "C" { pub static GUID_ALLOW_STANDBY_STATES: GUID; } extern "C" { pub static GUID_ALLOW_RTC_WAKE: GUID; } extern "C" { pub static GUID_LEGACY_RTC_MITIGATION: GUID; } extern "C" { pub static GUID_ALLOW_SYSTEM_REQUIRED: GUID; } extern "C" { pub static GUID_POWER_SAVING_STATUS: GUID; } extern "C" { pub static GUID_ENERGY_SAVER_SUBGROUP: GUID; } extern "C" { pub static GUID_ENERGY_SAVER_BATTERY_THRESHOLD: GUID; } extern "C" { pub static GUID_ENERGY_SAVER_BRIGHTNESS: GUID; } extern "C" { pub static GUID_ENERGY_SAVER_POLICY: GUID; } extern "C" { pub static GUID_SYSTEM_BUTTON_SUBGROUP: GUID; } extern "C" { pub static GUID_POWERBUTTON_ACTION: GUID; } extern "C" { pub static GUID_SLEEPBUTTON_ACTION: GUID; } extern "C" { pub static GUID_USERINTERFACEBUTTON_ACTION: GUID; } extern "C" { pub static GUID_LIDCLOSE_ACTION: GUID; } extern "C" { pub static GUID_LIDOPEN_POWERSTATE: GUID; } extern "C" { pub static GUID_BATTERY_SUBGROUP: GUID; } extern "C" { pub static GUID_BATTERY_DISCHARGE_ACTION_0: GUID; } extern "C" { pub static GUID_BATTERY_DISCHARGE_LEVEL_0: GUID; } extern "C" { pub static GUID_BATTERY_DISCHARGE_FLAGS_0: GUID; } extern "C" { pub static GUID_BATTERY_DISCHARGE_ACTION_1: GUID; } extern "C" { pub static GUID_BATTERY_DISCHARGE_LEVEL_1: GUID; } extern "C" { pub static GUID_BATTERY_DISCHARGE_FLAGS_1: GUID; } extern "C" { pub static GUID_BATTERY_DISCHARGE_ACTION_2: GUID; } extern "C" { pub static GUID_BATTERY_DISCHARGE_LEVEL_2: GUID; } extern "C" { pub static GUID_BATTERY_DISCHARGE_FLAGS_2: GUID; } extern "C" { pub static GUID_BATTERY_DISCHARGE_ACTION_3: GUID; } extern "C" { pub static GUID_BATTERY_DISCHARGE_LEVEL_3: GUID; } extern "C" { pub static GUID_BATTERY_DISCHARGE_FLAGS_3: GUID; } extern "C" { pub static GUID_PROCESSOR_SETTINGS_SUBGROUP: GUID; } extern "C" { pub static GUID_PROCESSOR_THROTTLE_POLICY: GUID; } extern "C" { pub static GUID_PROCESSOR_THROTTLE_MAXIMUM: GUID; } extern "C" { pub static GUID_PROCESSOR_THROTTLE_MAXIMUM_1: GUID; } extern "C" { pub static GUID_PROCESSOR_THROTTLE_MINIMUM: GUID; } extern "C" { pub static GUID_PROCESSOR_THROTTLE_MINIMUM_1: GUID; } extern "C" { pub static GUID_PROCESSOR_FREQUENCY_LIMIT: GUID; } extern "C" { pub static GUID_PROCESSOR_FREQUENCY_LIMIT_1: GUID; } extern "C" { pub static GUID_PROCESSOR_ALLOW_THROTTLING: GUID; } extern "C" { pub static GUID_PROCESSOR_IDLESTATE_POLICY: GUID; } extern "C" { pub static GUID_PROCESSOR_PERFSTATE_POLICY: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_INCREASE_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_INCREASE_THRESHOLD_1: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_DECREASE_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_DECREASE_THRESHOLD_1: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_INCREASE_POLICY: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_INCREASE_POLICY_1: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_DECREASE_POLICY: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_DECREASE_POLICY_1: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_INCREASE_TIME: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_INCREASE_TIME_1: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_DECREASE_TIME: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_DECREASE_TIME_1: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_TIME_CHECK: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_BOOST_POLICY: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_BOOST_MODE: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_AUTONOMOUS_MODE: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_ENERGY_PERFORMANCE_PREFERENCE: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_ENERGY_PERFORMANCE_PREFERENCE_1: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_AUTONOMOUS_ACTIVITY_WINDOW: GUID; } extern "C" { pub static GUID_PROCESSOR_DUTY_CYCLING: GUID; } extern "C" { pub static GUID_PROCESSOR_IDLE_ALLOW_SCALING: GUID; } extern "C" { pub static GUID_PROCESSOR_IDLE_DISABLE: GUID; } extern "C" { pub static GUID_PROCESSOR_IDLE_STATE_MAXIMUM: GUID; } extern "C" { pub static GUID_PROCESSOR_IDLE_TIME_CHECK: GUID; } extern "C" { pub static GUID_PROCESSOR_IDLE_DEMOTE_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_IDLE_PROMOTE_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_INCREASE_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_DECREASE_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_INCREASE_POLICY: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_DECREASE_POLICY: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_MAX_CORES: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_MAX_CORES_1: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_MIN_CORES: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_MIN_CORES_1: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_INCREASE_TIME: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_DECREASE_TIME: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_DECREASE_FACTOR: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_AFFINITY_WEIGHTING: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_DECREASE_FACTOR: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_WEIGHTING: GUID; } extern "C" { pub static GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_PARKING_CORE_OVERRIDE: GUID; } extern "C" { pub static GUID_PROCESSOR_PARKING_PERF_STATE: GUID; } extern "C" { pub static GUID_PROCESSOR_PARKING_PERF_STATE_1: GUID; } extern "C" { pub static GUID_PROCESSOR_PARKING_CONCURRENCY_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_PARKING_HEADROOM_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_PARKING_DISTRIBUTION_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_HISTORY: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_HISTORY_1: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_INCREASE_HISTORY: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_DECREASE_HISTORY: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_CORE_PARKING_HISTORY: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_LATENCY_HINT: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_LATENCY_HINT_PERF: GUID; } extern "C" { pub static GUID_PROCESSOR_PERF_LATENCY_HINT_PERF_1: GUID; } extern "C" { pub static GUID_PROCESSOR_LATENCY_HINT_MIN_UNPARK: GUID; } extern "C" { pub static GUID_PROCESSOR_LATENCY_HINT_MIN_UNPARK_1: GUID; } extern "C" { pub static GUID_PROCESSOR_DISTRIBUTE_UTILITY: GUID; } extern "C" { pub static GUID_PROCESSOR_HETEROGENEOUS_POLICY: GUID; } extern "C" { pub static GUID_PROCESSOR_HETERO_DECREASE_TIME: GUID; } extern "C" { pub static GUID_PROCESSOR_HETERO_INCREASE_TIME: GUID; } extern "C" { pub static GUID_PROCESSOR_HETERO_DECREASE_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_HETERO_INCREASE_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_CLASS0_FLOOR_PERF: GUID; } extern "C" { pub static GUID_PROCESSOR_CLASS1_INITIAL_PERF: GUID; } extern "C" { pub static GUID_PROCESSOR_THREAD_SCHEDULING_POLICY: GUID; } extern "C" { pub static GUID_PROCESSOR_SHORT_THREAD_SCHEDULING_POLICY: GUID; } extern "C" { pub static GUID_SYSTEM_COOLING_POLICY: GUID; } extern "C" { pub static GUID_PROCESSOR_RESPONSIVENESS_DISABLE_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_RESPONSIVENESS_DISABLE_THRESHOLD_1: GUID; } extern "C" { pub static GUID_PROCESSOR_RESPONSIVENESS_ENABLE_THRESHOLD: GUID; } extern "C" { pub static GUID_PROCESSOR_RESPONSIVENESS_ENABLE_THRESHOLD_1: GUID; } extern "C" { pub static GUID_PROCESSOR_RESPONSIVENESS_DISABLE_TIME: GUID; } extern "C" { pub static GUID_PROCESSOR_RESPONSIVENESS_DISABLE_TIME_1: GUID; } extern "C" { pub static GUID_PROCESSOR_RESPONSIVENESS_ENABLE_TIME: GUID; } extern "C" { pub static GUID_PROCESSOR_RESPONSIVENESS_ENABLE_TIME_1: GUID; } extern "C" { pub static GUID_PROCESSOR_RESPONSIVENESS_EPP_CEILING: GUID; } extern "C" { pub static GUID_PROCESSOR_RESPONSIVENESS_EPP_CEILING_1: GUID; } extern "C" { pub static GUID_PROCESSOR_RESPONSIVENESS_PERF_FLOOR: GUID; } extern "C" { pub static GUID_PROCESSOR_RESPONSIVENESS_PERF_FLOOR_1: GUID; } extern "C" { pub static GUID_LOCK_CONSOLE_ON_WAKE: GUID; } extern "C" { pub static GUID_DEVICE_IDLE_POLICY: GUID; } extern "C" { pub static GUID_CONNECTIVITY_IN_STANDBY: GUID; } extern "C" { pub static GUID_DISCONNECTED_STANDBY_MODE: GUID; } extern "C" { pub static GUID_ACDC_POWER_SOURCE: GUID; } extern "C" { pub static GUID_LIDSWITCH_STATE_CHANGE: GUID; } extern "C" { pub static GUID_BATTERY_PERCENTAGE_REMAINING: GUID; } extern "C" { pub static GUID_BATTERY_COUNT: GUID; } extern "C" { pub static GUID_GLOBAL_USER_PRESENCE: GUID; } extern "C" { pub static GUID_SESSION_DISPLAY_STATUS: GUID; } extern "C" { pub static GUID_SESSION_USER_PRESENCE: GUID; } extern "C" { pub static GUID_IDLE_BACKGROUND_TASK: GUID; } extern "C" { pub static GUID_BACKGROUND_TASK_NOTIFICATION: GUID; } extern "C" { pub static GUID_APPLAUNCH_BUTTON: GUID; } extern "C" { pub static GUID_PCIEXPRESS_SETTINGS_SUBGROUP: GUID; } extern "C" { pub static GUID_PCIEXPRESS_ASPM_POLICY: GUID; } extern "C" { pub static GUID_ENABLE_SWITCH_FORCED_SHUTDOWN: GUID; } extern "C" { pub static GUID_INTSTEER_SUBGROUP: GUID; } extern "C" { pub static GUID_INTSTEER_MODE: GUID; } extern "C" { pub static GUID_INTSTEER_LOAD_PER_PROC_TRIGGER: GUID; } extern "C" { pub static GUID_INTSTEER_TIME_UNPARK_TRIGGER: GUID; } extern "C" { pub static GUID_GRAPHICS_SUBGROUP: GUID; } extern "C" { pub static GUID_GPU_PREFERENCE_POLICY: GUID; } extern "C" { pub static GUID_MIXED_REALITY_MODE: GUID; } extern "C" { pub static GUID_SPR_ACTIVE_SESSION_CHANGE: GUID; } pub const _SYSTEM_POWER_STATE_PowerSystemUnspecified: _SYSTEM_POWER_STATE = 0; pub const _SYSTEM_POWER_STATE_PowerSystemWorking: _SYSTEM_POWER_STATE = 1; pub const _SYSTEM_POWER_STATE_PowerSystemSleeping1: _SYSTEM_POWER_STATE = 2; pub const _SYSTEM_POWER_STATE_PowerSystemSleeping2: _SYSTEM_POWER_STATE = 3; pub const _SYSTEM_POWER_STATE_PowerSystemSleeping3: _SYSTEM_POWER_STATE = 4; pub const _SYSTEM_POWER_STATE_PowerSystemHibernate: _SYSTEM_POWER_STATE = 5; pub const _SYSTEM_POWER_STATE_PowerSystemShutdown: _SYSTEM_POWER_STATE = 6; pub const _SYSTEM_POWER_STATE_PowerSystemMaximum: _SYSTEM_POWER_STATE = 7; pub type _SYSTEM_POWER_STATE = ::std::os::raw::c_int; pub use self::_SYSTEM_POWER_STATE as SYSTEM_POWER_STATE; pub type PSYSTEM_POWER_STATE = *mut _SYSTEM_POWER_STATE; pub const POWER_ACTION_PowerActionNone: POWER_ACTION = 0; pub const POWER_ACTION_PowerActionReserved: POWER_ACTION = 1; pub const POWER_ACTION_PowerActionSleep: POWER_ACTION = 2; pub const POWER_ACTION_PowerActionHibernate: POWER_ACTION = 3; pub const POWER_ACTION_PowerActionShutdown: POWER_ACTION = 4; pub const POWER_ACTION_PowerActionShutdownReset: POWER_ACTION = 5; pub const POWER_ACTION_PowerActionShutdownOff: POWER_ACTION = 6; pub const POWER_ACTION_PowerActionWarmEject: POWER_ACTION = 7; pub const POWER_ACTION_PowerActionDisplayOff: POWER_ACTION = 8; pub type POWER_ACTION = ::std::os::raw::c_int; pub type PPOWER_ACTION = *mut POWER_ACTION; pub const _DEVICE_POWER_STATE_PowerDeviceUnspecified: _DEVICE_POWER_STATE = 0; pub const _DEVICE_POWER_STATE_PowerDeviceD0: _DEVICE_POWER_STATE = 1; pub const _DEVICE_POWER_STATE_PowerDeviceD1: _DEVICE_POWER_STATE = 2; pub const _DEVICE_POWER_STATE_PowerDeviceD2: _DEVICE_POWER_STATE = 3; pub const _DEVICE_POWER_STATE_PowerDeviceD3: _DEVICE_POWER_STATE = 4; pub const _DEVICE_POWER_STATE_PowerDeviceMaximum: _DEVICE_POWER_STATE = 5; pub type _DEVICE_POWER_STATE = ::std::os::raw::c_int; pub use self::_DEVICE_POWER_STATE as DEVICE_POWER_STATE; pub type PDEVICE_POWER_STATE = *mut _DEVICE_POWER_STATE; pub const _MONITOR_DISPLAY_STATE_PowerMonitorOff: _MONITOR_DISPLAY_STATE = 0; pub const _MONITOR_DISPLAY_STATE_PowerMonitorOn: _MONITOR_DISPLAY_STATE = 1; pub const _MONITOR_DISPLAY_STATE_PowerMonitorDim: _MONITOR_DISPLAY_STATE = 2; pub type _MONITOR_DISPLAY_STATE = ::std::os::raw::c_int; pub use self::_MONITOR_DISPLAY_STATE as MONITOR_DISPLAY_STATE; pub type PMONITOR_DISPLAY_STATE = *mut _MONITOR_DISPLAY_STATE; pub const _USER_ACTIVITY_PRESENCE_PowerUserPresent: _USER_ACTIVITY_PRESENCE = 0; pub const _USER_ACTIVITY_PRESENCE_PowerUserNotPresent: _USER_ACTIVITY_PRESENCE = 1; pub const _USER_ACTIVITY_PRESENCE_PowerUserInactive: _USER_ACTIVITY_PRESENCE = 2; pub const _USER_ACTIVITY_PRESENCE_PowerUserMaximum: _USER_ACTIVITY_PRESENCE = 3; pub const _USER_ACTIVITY_PRESENCE_PowerUserInvalid: _USER_ACTIVITY_PRESENCE = 3; pub type _USER_ACTIVITY_PRESENCE = ::std::os::raw::c_int; pub use self::_USER_ACTIVITY_PRESENCE as USER_ACTIVITY_PRESENCE; pub type PUSER_ACTIVITY_PRESENCE = *mut _USER_ACTIVITY_PRESENCE; pub type EXECUTION_STATE = DWORD; pub type PEXECUTION_STATE = *mut DWORD; pub const LATENCY_TIME_LT_DONT_CARE: LATENCY_TIME = 0; pub const LATENCY_TIME_LT_LOWEST_LATENCY: LATENCY_TIME = 1; pub type LATENCY_TIME = ::std::os::raw::c_int; pub const _POWER_REQUEST_TYPE_PowerRequestDisplayRequired: _POWER_REQUEST_TYPE = 0; pub const _POWER_REQUEST_TYPE_PowerRequestSystemRequired: _POWER_REQUEST_TYPE = 1; pub const _POWER_REQUEST_TYPE_PowerRequestAwayModeRequired: _POWER_REQUEST_TYPE = 2; pub const _POWER_REQUEST_TYPE_PowerRequestExecutionRequired: _POWER_REQUEST_TYPE = 3; pub type _POWER_REQUEST_TYPE = ::std::os::raw::c_int; pub use self::_POWER_REQUEST_TYPE as POWER_REQUEST_TYPE; pub type PPOWER_REQUEST_TYPE = *mut _POWER_REQUEST_TYPE; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct CM_Power_Data_s { pub PD_Size: DWORD, pub PD_MostRecentPowerState: DEVICE_POWER_STATE, pub PD_Capabilities: DWORD, pub PD_D1Latency: DWORD, pub PD_D2Latency: DWORD, pub PD_D3Latency: DWORD, pub PD_PowerStateMapping: [DEVICE_POWER_STATE; 7usize], pub PD_DeepestSystemWake: SYSTEM_POWER_STATE, } #[test] fn bindgen_test_layout_CM_Power_Data_s() { 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::null::())).PD_Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(CM_Power_Data_s), "::", stringify!(PD_Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PD_MostRecentPowerState as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(CM_Power_Data_s), "::", stringify!(PD_MostRecentPowerState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PD_Capabilities as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(CM_Power_Data_s), "::", stringify!(PD_Capabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PD_D1Latency as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(CM_Power_Data_s), "::", stringify!(PD_D1Latency) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PD_D2Latency as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(CM_Power_Data_s), "::", stringify!(PD_D2Latency) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PD_D3Latency as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(CM_Power_Data_s), "::", stringify!(PD_D3Latency) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PD_PowerStateMapping as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(CM_Power_Data_s), "::", stringify!(PD_PowerStateMapping) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PD_DeepestSystemWake as *const _ 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_PowerInformationLevelMaximum: POWER_INFORMATION_LEVEL = 95; 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() { 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::null::<_POWER_USER_PRESENCE>())).UserPresence as *const _ 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() { 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::null::<_POWER_SESSION_CONNECT>())).Connected as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_POWER_SESSION_CONNECT), "::", stringify!(Connected) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_POWER_SESSION_CONNECT>())).Console as *const _ 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() { 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::null::<_POWER_SESSION_TIMEOUTS>())).InputTimeout as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_POWER_SESSION_TIMEOUTS), "::", stringify!(InputTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_POWER_SESSION_TIMEOUTS>())).DisplayTimeout as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_POWER_SESSION_TIMEOUTS), "::", stringify!(DisplayTimeout) ) ); } pub type POWER_SESSION_TIMEOUTS = _POWER_SESSION_TIMEOUTS; pub type PPOWER_SESSION_TIMEOUTS = *mut _POWER_SESSION_TIMEOUTS; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _POWER_SESSION_RIT_STATE { pub Active: BOOLEAN, pub LastInputTime: DWORD, } #[test] fn bindgen_test_layout__POWER_SESSION_RIT_STATE() { assert_eq!( ::std::mem::size_of::<_POWER_SESSION_RIT_STATE>(), 8usize, concat!("Size of: ", stringify!(_POWER_SESSION_RIT_STATE)) ); assert_eq!( ::std::mem::align_of::<_POWER_SESSION_RIT_STATE>(), 4usize, concat!("Alignment of ", stringify!(_POWER_SESSION_RIT_STATE)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_POWER_SESSION_RIT_STATE>())).Active as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_POWER_SESSION_RIT_STATE), "::", stringify!(Active) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_POWER_SESSION_RIT_STATE>())).LastInputTime as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_POWER_SESSION_RIT_STATE), "::", stringify!(LastInputTime) ) ); } pub type POWER_SESSION_RIT_STATE = _POWER_SESSION_RIT_STATE; pub type PPOWER_SESSION_RIT_STATE = *mut _POWER_SESSION_RIT_STATE; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _POWER_SESSION_WINLOGON { pub SessionId: DWORD, pub Console: BOOLEAN, pub Locked: BOOLEAN, } #[test] fn bindgen_test_layout__POWER_SESSION_WINLOGON() { 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::null::<_POWER_SESSION_WINLOGON>())).SessionId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_POWER_SESSION_WINLOGON), "::", stringify!(SessionId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_POWER_SESSION_WINLOGON>())).Console as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_POWER_SESSION_WINLOGON), "::", stringify!(Console) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_POWER_SESSION_WINLOGON>())).Locked as *const _ 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_IDLE_RESILIENCY { pub CoalescingTimeout: DWORD, pub IdleResiliencyPeriod: DWORD, } #[test] fn bindgen_test_layout__POWER_IDLE_RESILIENCY() { 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::null::<_POWER_IDLE_RESILIENCY>())).CoalescingTimeout as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_POWER_IDLE_RESILIENCY), "::", stringify!(CoalescingTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_POWER_IDLE_RESILIENCY>())).IdleResiliencyPeriod as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_POWER_IDLE_RESILIENCY), "::", stringify!(IdleResiliencyPeriod) ) ); } pub type POWER_IDLE_RESILIENCY = _POWER_IDLE_RESILIENCY; pub type PPOWER_IDLE_RESILIENCY = *mut _POWER_IDLE_RESILIENCY; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUnknown: POWER_MONITOR_REQUEST_REASON = 0; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPowerButton: POWER_MONITOR_REQUEST_REASON = 1; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonRemoteConnection: POWER_MONITOR_REQUEST_REASON = 2; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonScMonitorpower: POWER_MONITOR_REQUEST_REASON = 3; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInput: POWER_MONITOR_REQUEST_REASON = 4; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonAcDcDisplayBurst: POWER_MONITOR_REQUEST_REASON = 5; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserDisplayBurst: POWER_MONITOR_REQUEST_REASON = 6; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPoSetSystemState: POWER_MONITOR_REQUEST_REASON = 7; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSetThreadExecutionState: POWER_MONITOR_REQUEST_REASON = 8; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonFullWake: POWER_MONITOR_REQUEST_REASON = 9; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSessionUnlock: POWER_MONITOR_REQUEST_REASON = 10; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonScreenOffRequest: POWER_MONITOR_REQUEST_REASON = 11; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonIdleTimeout: POWER_MONITOR_REQUEST_REASON = 12; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPolicyChange: POWER_MONITOR_REQUEST_REASON = 13; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSleepButton: POWER_MONITOR_REQUEST_REASON = 14; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonLid: POWER_MONITOR_REQUEST_REASON = 15; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonBatteryCountChange: POWER_MONITOR_REQUEST_REASON = 16; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonGracePeriod: POWER_MONITOR_REQUEST_REASON = 17; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPnP: POWER_MONITOR_REQUEST_REASON = 18; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonDP: POWER_MONITOR_REQUEST_REASON = 19; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSxTransition: POWER_MONITOR_REQUEST_REASON = 20; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSystemIdle: POWER_MONITOR_REQUEST_REASON = 21; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonNearProximity: POWER_MONITOR_REQUEST_REASON = 22; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonThermalStandby: POWER_MONITOR_REQUEST_REASON = 23; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonResumePdc: POWER_MONITOR_REQUEST_REASON = 24; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonResumeS4: POWER_MONITOR_REQUEST_REASON = 25; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonTerminal: POWER_MONITOR_REQUEST_REASON = 26; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignal: POWER_MONITOR_REQUEST_REASON = 27; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonAcDcDisplayBurstSuppressed: POWER_MONITOR_REQUEST_REASON = 28; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSystemStateEntered: POWER_MONITOR_REQUEST_REASON = 29; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonWinrt: POWER_MONITOR_REQUEST_REASON = 30; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputKeyboard: POWER_MONITOR_REQUEST_REASON = 31; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputMouse: POWER_MONITOR_REQUEST_REASON = 32; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputTouch: POWER_MONITOR_REQUEST_REASON = 33; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputPen: POWER_MONITOR_REQUEST_REASON = 34; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputAccelerometer: POWER_MONITOR_REQUEST_REASON = 35; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputHid: POWER_MONITOR_REQUEST_REASON = 36; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputPoUserPresent: POWER_MONITOR_REQUEST_REASON = 37; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputSessionSwitch: POWER_MONITOR_REQUEST_REASON = 38; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputInitialization: POWER_MONITOR_REQUEST_REASON = 39; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalWindowsMobilePwrNotif: POWER_MONITOR_REQUEST_REASON = 40; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalWindowsMobileShell: POWER_MONITOR_REQUEST_REASON = 41; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalHeyCortana: POWER_MONITOR_REQUEST_REASON = 42; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalHolographicShell: POWER_MONITOR_REQUEST_REASON = 43; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalFingerprint: POWER_MONITOR_REQUEST_REASON = 44; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonDirectedDrips: POWER_MONITOR_REQUEST_REASON = 45; pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonMax: POWER_MONITOR_REQUEST_REASON = 46; 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() { 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::null::<_POWER_MONITOR_INVOCATION>())).Console as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_POWER_MONITOR_INVOCATION), "::", stringify!(Console) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_POWER_MONITOR_INVOCATION>())).RequestReason as *const _ 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() { 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::null::<_RESUME_PERFORMANCE>())).PostTimeMs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RESUME_PERFORMANCE), "::", stringify!(PostTimeMs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RESUME_PERFORMANCE>())).TotalResumeTimeMs as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RESUME_PERFORMANCE), "::", stringify!(TotalResumeTimeMs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RESUME_PERFORMANCE>())).ResumeCompleteTimestamp as *const _ 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() { 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::null::())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(SET_POWER_SETTING_VALUE), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Guid as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(SET_POWER_SETTING_VALUE), "::", stringify!(Guid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PowerCondition as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(SET_POWER_SETTING_VALUE), "::", stringify!(PowerCondition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DataLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(SET_POWER_SETTING_VALUE), "::", stringify!(DataLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Data as *const _ 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() { 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::null::())).Guid as *const _ 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() { 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::null::<_APPLICATIONLAUNCH_SETTING_VALUE>())).ActivationTime as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_APPLICATIONLAUNCH_SETTING_VALUE), "::", stringify!(ActivationTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_APPLICATIONLAUNCH_SETTING_VALUE>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_APPLICATIONLAUNCH_SETTING_VALUE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_APPLICATIONLAUNCH_SETTING_VALUE>())).ButtonInstanceID as *const _ 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() { 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::null::<_POWER_PLATFORM_INFORMATION>())).AoAc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_POWER_PLATFORM_INFORMATION), "::", stringify!(AoAc) ) ); } pub type POWER_PLATFORM_INFORMATION = _POWER_PLATFORM_INFORMATION; pub type PPOWER_PLATFORM_INFORMATION = *mut _POWER_PLATFORM_INFORMATION; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct BATTERY_REPORTING_SCALE { pub Granularity: DWORD, pub Capacity: DWORD, } #[test] fn bindgen_test_layout_BATTERY_REPORTING_SCALE() { 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::null::())).Granularity as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(BATTERY_REPORTING_SCALE), "::", stringify!(Granularity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Capacity as *const _ 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() { 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::null::())).Frequency as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_WMI_LEGACY_PERFSTATE), "::", stringify!(Frequency) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PPM_WMI_LEGACY_PERFSTATE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PercentFrequency as *const _ 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() { 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::null::())).Latency as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATE), "::", stringify!(Latency) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Power as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATE), "::", stringify!(Power) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TimeCheck as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATE), "::", stringify!(TimeCheck) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PromotePercent as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATE), "::", stringify!(PromotePercent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DemotePercent as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATE), "::", stringify!(DemotePercent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).StateType as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATE), "::", stringify!(StateType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reserved as *const _ as usize }, 15usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATE), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).StateFlags as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATE), "::", stringify!(StateFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Context as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATE), "::", stringify!(Context) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IdleHandler as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATE), "::", stringify!(IdleHandler) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reserved1 as *const _ 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() { 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::null::())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATES), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Count as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATES), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TargetState as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATES), "::", stringify!(TargetState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OldState as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATES), "::", stringify!(OldState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TargetProcessors as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATES), "::", stringify!(TargetProcessors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).State as *const _ 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() { 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::null::())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATES_EX), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Count as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATES_EX), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TargetState as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATES_EX), "::", stringify!(TargetState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OldState as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATES_EX), "::", stringify!(OldState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TargetProcessors as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(PPM_WMI_IDLE_STATES_EX), "::", stringify!(TargetProcessors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).State as *const _ 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() { 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::null::())).Frequency as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATE), "::", stringify!(Frequency) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Power as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATE), "::", stringify!(Power) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PercentFrequency as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATE), "::", stringify!(PercentFrequency) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IncreaseLevel as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATE), "::", stringify!(IncreaseLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DecreaseLevel as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATE), "::", stringify!(DecreaseLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Type as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATE), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IncreaseTime as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATE), "::", stringify!(IncreaseTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DecreaseTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATE), "::", stringify!(DecreaseTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Control as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATE), "::", stringify!(Control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Status as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATE), "::", stringify!(Status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).HitCount as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATE), "::", stringify!(HitCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reserved1 as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATE), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reserved2 as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATE), "::", stringify!(Reserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reserved3 as *const _ 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() { 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::null::())).Count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxFrequency as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(MaxFrequency) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CurrentState as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(CurrentState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxPerfState as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(MaxPerfState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinPerfState as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(MinPerfState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LowestPerfState as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(LowestPerfState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ThermalConstraint as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(ThermalConstraint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BusyAdjThreshold as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(BusyAdjThreshold) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PolicyType as *const _ as usize }, 29usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(PolicyType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Type as *const _ as usize }, 30usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reserved as *const _ as usize }, 31usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TimerInterval as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(TimerInterval) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TargetProcessors as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(TargetProcessors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PStateHandler as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(PStateHandler) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PStateContext as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(PStateContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TStateHandler as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(TStateHandler) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TStateContext as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(TStateContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FeedbackHandler as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(FeedbackHandler) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reserved1 as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reserved2 as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES), "::", stringify!(Reserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).State as *const _ 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() { 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::null::())).Count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxFrequency as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(MaxFrequency) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CurrentState as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(CurrentState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxPerfState as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(MaxPerfState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinPerfState as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(MinPerfState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LowestPerfState as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(LowestPerfState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ThermalConstraint as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(ThermalConstraint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BusyAdjThreshold as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(BusyAdjThreshold) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PolicyType as *const _ as usize }, 29usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(PolicyType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Type as *const _ as usize }, 30usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reserved as *const _ as usize }, 31usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TimerInterval as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(TimerInterval) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TargetProcessors as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(TargetProcessors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PStateHandler as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(PStateHandler) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PStateContext as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(PStateContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TStateHandler as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(TStateHandler) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TStateContext as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(TStateContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FeedbackHandler as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(FeedbackHandler) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reserved1 as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reserved2 as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(PPM_WMI_PERF_STATES_EX), "::", stringify!(Reserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).State as *const _ 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() { 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::null::())).IdleTransitions as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_STATE_ACCOUNTING), "::", stringify!(IdleTransitions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FailedTransitions as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_STATE_ACCOUNTING), "::", stringify!(FailedTransitions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).InvalidBucketIndex as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_STATE_ACCOUNTING), "::", stringify!(InvalidBucketIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TotalTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_STATE_ACCOUNTING), "::", stringify!(TotalTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IdleTimeBuckets as *const _ 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() { 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::null::())).StateCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_ACCOUNTING), "::", stringify!(StateCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TotalTransitions as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_ACCOUNTING), "::", stringify!(TotalTransitions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ResetCount as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_ACCOUNTING), "::", stringify!(ResetCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).StartTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_ACCOUNTING), "::", stringify!(StartTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).State as *const _ 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() { 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::null::())).TotalTimeUs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_STATE_BUCKET_EX), "::", stringify!(TotalTimeUs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinTimeUs as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_STATE_BUCKET_EX), "::", stringify!(MinTimeUs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxTimeUs as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_STATE_BUCKET_EX), "::", stringify!(MaxTimeUs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Count as *const _ 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() { 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::null::())).TotalTime as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), "::", stringify!(TotalTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IdleTransitions as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), "::", stringify!(IdleTransitions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FailedTransitions as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), "::", stringify!(FailedTransitions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).InvalidBucketIndex as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), "::", stringify!(InvalidBucketIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinTimeUs as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), "::", stringify!(MinTimeUs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxTimeUs as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), "::", stringify!(MaxTimeUs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CancelledTransitions as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), "::", stringify!(CancelledTransitions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IdleTimeBuckets as *const _ 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() { 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::null::())).StateCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_ACCOUNTING_EX), "::", stringify!(StateCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TotalTransitions as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_ACCOUNTING_EX), "::", stringify!(TotalTransitions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ResetCount as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_ACCOUNTING_EX), "::", stringify!(ResetCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AbortCount as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_ACCOUNTING_EX), "::", stringify!(AbortCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).StartTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(PPM_IDLE_ACCOUNTING_EX), "::", stringify!(StartTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).State as *const _ 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() { 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::null::())).State as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_PERFSTATE_EVENT), "::", stringify!(State) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Status as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PPM_PERFSTATE_EVENT), "::", stringify!(Status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Latency as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(PPM_PERFSTATE_EVENT), "::", stringify!(Latency) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Speed as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(PPM_PERFSTATE_EVENT), "::", stringify!(Speed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Processor as *const _ 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() { 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::null::())).State as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_PERFSTATE_DOMAIN_EVENT), "::", stringify!(State) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Latency as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PPM_PERFSTATE_DOMAIN_EVENT), "::", stringify!(Latency) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Speed as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(PPM_PERFSTATE_DOMAIN_EVENT), "::", stringify!(Speed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Processors as *const _ 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() { 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::null::())).NewState as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_IDLESTATE_EVENT), "::", stringify!(NewState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OldState as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PPM_IDLESTATE_EVENT), "::", stringify!(OldState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Processors as *const _ 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() { 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::null::())).ThermalConstraint as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_THERMALCHANGE_EVENT), "::", stringify!(ThermalConstraint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Processors as *const _ 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() { 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::null::())).Mode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPM_THERMAL_POLICY_EVENT), "::", stringify!(Mode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Processors as *const _ 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() { 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::null::())).Action as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(POWER_ACTION_POLICY), "::", stringify!(Action) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(POWER_ACTION_POLICY), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EventCode as *const _ 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() { 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::null::())).Enable as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_LEVEL), "::", stringify!(Enable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Spare as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_LEVEL), "::", stringify!(Spare) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BatteryLevel as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_LEVEL), "::", stringify!(BatteryLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PowerPolicy as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_LEVEL), "::", stringify!(PowerPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinSystemState as *const _ 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() { 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::null::<_SYSTEM_POWER_POLICY>())).Revision as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(Revision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).PowerButton as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(PowerButton) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).SleepButton as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(SleepButton) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).LidClose as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(LidClose) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).LidOpenWake as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(LidOpenWake) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).Reserved as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).Idle as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(Idle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).IdleTimeout as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(IdleTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).IdleSensitivity as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(IdleSensitivity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).DynamicThrottle as *const _ as usize }, 65usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(DynamicThrottle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).Spare2 as *const _ as usize }, 66usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(Spare2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).MinSleep as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(MinSleep) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).MaxSleep as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(MaxSleep) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).ReducedLatencySleep as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(ReducedLatencySleep) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).WinLogonFlags as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(WinLogonFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).Spare3 as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(Spare3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).DozeS4Timeout as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(DozeS4Timeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).BroadcastCapacityResolution as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(BroadcastCapacityResolution) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).DischargePolicy as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(DischargePolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).VideoTimeout as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(VideoTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).VideoDimDisplay as *const _ as usize }, 196usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(VideoDimDisplay) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).VideoReserved as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(VideoReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).SpindownTimeout as *const _ as usize }, 212usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(SpindownTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).OptimizeForPower as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(OptimizeForPower) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).FanThrottleTolerance as *const _ as usize }, 217usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(FanThrottleTolerance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).ForcedThrottle as *const _ as usize }, 218usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(ForcedThrottle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).MinThrottle as *const _ as usize }, 219usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_POLICY), "::", stringify!(MinThrottle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_POLICY>())).OverThrottled as *const _ 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() { 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::null::())).TimeCheck as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PROCESSOR_IDLESTATE_INFO), "::", stringify!(TimeCheck) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DemotePercent as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PROCESSOR_IDLESTATE_INFO), "::", stringify!(DemotePercent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PromotePercent as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(PROCESSOR_IDLESTATE_INFO), "::", stringify!(PromotePercent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Spare as *const _ 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, _bindgen_union_align: u16, } #[repr(C)] #[repr(align(2))] #[derive(Debug, Copy, Clone)] pub struct PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize], u16>, } #[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], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u16> = 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() { 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::null::())).AsWORD as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1), "::", stringify!(AsWORD) ) ); } #[test] fn bindgen_test_layout_PROCESSOR_IDLESTATE_POLICY() { 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::null::())).Revision as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PROCESSOR_IDLESTATE_POLICY), "::", stringify!(Revision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(PROCESSOR_IDLESTATE_POLICY), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PolicyCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PROCESSOR_IDLESTATE_POLICY), "::", stringify!(PolicyCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Policy as *const _ 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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[test] fn bindgen_test_layout__PROCESSOR_POWER_POLICY_INFO() { 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::null::<_PROCESSOR_POWER_POLICY_INFO>())).TimeCheck as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_POWER_POLICY_INFO), "::", stringify!(TimeCheck) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_POWER_POLICY_INFO>())).DemoteLimit as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_POWER_POLICY_INFO), "::", stringify!(DemoteLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_POWER_POLICY_INFO>())).PromoteLimit as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_POWER_POLICY_INFO), "::", stringify!(PromoteLimit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_POWER_POLICY_INFO>())).DemotePercent as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_POWER_POLICY_INFO), "::", stringify!(DemotePercent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_POWER_POLICY_INFO>())).PromotePercent as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_POWER_POLICY_INFO), "::", stringify!(PromotePercent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_POWER_POLICY_INFO>())).Spare as *const _ 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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, pub PolicyCount: DWORD, pub Policy: [PROCESSOR_POWER_POLICY_INFO; 3usize], } #[test] fn bindgen_test_layout__PROCESSOR_POWER_POLICY() { 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::null::<_PROCESSOR_POWER_POLICY>())).Revision as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_POWER_POLICY), "::", stringify!(Revision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_POWER_POLICY>())).DynamicThrottle as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_POWER_POLICY), "::", stringify!(DynamicThrottle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_POWER_POLICY>())).Spare as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_POWER_POLICY), "::", stringify!(Spare) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_POWER_POLICY>())).PolicyCount as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PROCESSOR_POWER_POLICY), "::", stringify!(PolicyCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESSOR_POWER_POLICY>())).Policy as *const _ 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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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, _bindgen_union_align: u8, } #[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, _bindgen_union_align: u8, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, } #[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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = 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() { 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::null::())) .AsBYTE as *const _ 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() { 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::null::())).Spare as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1), "::", stringify!(Spare) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1), "::", stringify!(Flags) ) ); } #[test] fn bindgen_test_layout_PROCESSOR_PERFSTATE_POLICY() { 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::null::())).Revision as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PROCESSOR_PERFSTATE_POLICY), "::", stringify!(Revision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxThrottle as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(PROCESSOR_PERFSTATE_POLICY), "::", stringify!(MaxThrottle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinThrottle as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(PROCESSOR_PERFSTATE_POLICY), "::", stringify!(MinThrottle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BusyAdjThreshold as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(PROCESSOR_PERFSTATE_POLICY), "::", stringify!(BusyAdjThreshold) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TimeCheck as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(PROCESSOR_PERFSTATE_POLICY), "::", stringify!(TimeCheck) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IncreaseTime as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(PROCESSOR_PERFSTATE_POLICY), "::", stringify!(IncreaseTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DecreaseTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(PROCESSOR_PERFSTATE_POLICY), "::", stringify!(DecreaseTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IncreasePercent as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(PROCESSOR_PERFSTATE_POLICY), "::", stringify!(IncreasePercent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DecreasePercent as *const _ 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() { 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::null::<_ADMINISTRATOR_POWER_POLICY>())).MinSleep as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ADMINISTRATOR_POWER_POLICY), "::", stringify!(MinSleep) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADMINISTRATOR_POWER_POLICY>())).MaxSleep as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ADMINISTRATOR_POWER_POLICY), "::", stringify!(MaxSleep) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADMINISTRATOR_POWER_POLICY>())).MinVideoTimeout as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ADMINISTRATOR_POWER_POLICY), "::", stringify!(MinVideoTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADMINISTRATOR_POWER_POLICY>())).MaxVideoTimeout as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_ADMINISTRATOR_POWER_POLICY), "::", stringify!(MaxVideoTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADMINISTRATOR_POWER_POLICY>())).MinSpindownTimeout as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_ADMINISTRATOR_POWER_POLICY), "::", stringify!(MinSpindownTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADMINISTRATOR_POWER_POLICY>())).MaxSpindownTimeout as *const _ 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() { 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::null::<_HIBERFILE_BUCKET>())).MaxPhysicalMemory as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_HIBERFILE_BUCKET), "::", stringify!(MaxPhysicalMemory) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HIBERFILE_BUCKET>())).PhysicalMemoryPercent as *const _ 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() { 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::null::())).PowerButtonPresent as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(PowerButtonPresent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SleepButtonPresent as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(SleepButtonPresent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LidPresent as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(LidPresent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SystemS1 as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(SystemS1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SystemS2 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(SystemS2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SystemS3 as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(SystemS3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SystemS4 as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(SystemS4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SystemS5 as *const _ as usize }, 7usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(SystemS5) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).HiberFilePresent as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(HiberFilePresent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FullWake as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(FullWake) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).VideoDimPresent as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(VideoDimPresent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ApmPresent as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(ApmPresent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UpsPresent as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(UpsPresent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ThermalControl as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(ThermalControl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProcessorThrottle as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(ProcessorThrottle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProcessorMinThrottle as *const _ as usize }, 15usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(ProcessorMinThrottle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProcessorMaxThrottle as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(ProcessorMaxThrottle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FastSystemS4 as *const _ as usize }, 17usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(FastSystemS4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Hiberboot as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(Hiberboot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).WakeAlarmPresent as *const _ as usize }, 19usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(WakeAlarmPresent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AoAc as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(AoAc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DiskSpinDown as *const _ as usize }, 21usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(DiskSpinDown) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).HiberFileType as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(HiberFileType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AoAcConnectivitySupported as *const _ as usize }, 23usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(AoAcConnectivitySupported) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).spare3 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(spare3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SystemBatteriesPresent as *const _ as usize }, 30usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(SystemBatteriesPresent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BatteriesAreShortTerm as *const _ as usize }, 31usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(BatteriesAreShortTerm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BatteryScale as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(BatteryScale) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AcOnLineWake as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(AcOnLineWake) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SoftLidWake as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(SoftLidWake) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RtcWake as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(RtcWake) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinDeviceWakeState as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(SYSTEM_POWER_CAPABILITIES), "::", stringify!(MinDeviceWakeState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DefaultLowLatencyWake as *const _ 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() { 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::null::())).AcOnLine as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(SYSTEM_BATTERY_STATE), "::", stringify!(AcOnLine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BatteryPresent as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(SYSTEM_BATTERY_STATE), "::", stringify!(BatteryPresent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Charging as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(SYSTEM_BATTERY_STATE), "::", stringify!(Charging) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Discharging as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(SYSTEM_BATTERY_STATE), "::", stringify!(Discharging) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Spare1 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(SYSTEM_BATTERY_STATE), "::", stringify!(Spare1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Tag as *const _ as usize }, 7usize, concat!( "Offset of field: ", stringify!(SYSTEM_BATTERY_STATE), "::", stringify!(Tag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxCapacity as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(SYSTEM_BATTERY_STATE), "::", stringify!(MaxCapacity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RemainingCapacity as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(SYSTEM_BATTERY_STATE), "::", stringify!(RemainingCapacity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Rate as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(SYSTEM_BATTERY_STATE), "::", stringify!(Rate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EstimatedTime as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(SYSTEM_BATTERY_STATE), "::", stringify!(EstimatedTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DefaultAlert1 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(SYSTEM_BATTERY_STATE), "::", stringify!(DefaultAlert1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DefaultAlert2 as *const _ 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() { 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::null::<_IMAGE_DOS_HEADER>())).e_magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_cblp as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_cblp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_cp as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_cp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_crlc as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_crlc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_cparhdr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_cparhdr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_minalloc as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_minalloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_maxalloc as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_maxalloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_ss as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_ss) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_sp as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_sp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_csum as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_csum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_ip as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_ip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_cs as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_cs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_lfarlc as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_lfarlc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_ovno as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_ovno) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_res as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_res) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_oemid as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_oemid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_oeminfo as *const _ as usize }, 38usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_oeminfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_res2 as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_IMAGE_DOS_HEADER), "::", stringify!(e_res2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DOS_HEADER>())).e_lfanew as *const _ 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() { 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::null::<_IMAGE_OS2_HEADER>())).ne_magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_ver as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_ver) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_rev as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_rev) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_enttab as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_enttab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_cbenttab as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_cbenttab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_crc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_crc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_autodata as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_autodata) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_heap as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_heap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_stack as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_stack) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_csip as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_csip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_sssp as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_sssp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_cseg as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_cseg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_cmod as *const _ as usize }, 30usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_cmod) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_cbnrestab as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_cbnrestab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_segtab as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_segtab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_rsrctab as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_rsrctab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_restab as *const _ as usize }, 38usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_restab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_modtab as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_modtab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_imptab as *const _ as usize }, 42usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_imptab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_nrestab as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_nrestab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_cmovent as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_cmovent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_align as *const _ as usize }, 50usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_align) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_cres as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_cres) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_exetyp as *const _ as usize }, 54usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_exetyp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_flagsothers as *const _ as usize }, 55usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_flagsothers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_pretthunks as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_pretthunks) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_psegrefbytes as *const _ as usize }, 58usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_psegrefbytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_swaparea as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_IMAGE_OS2_HEADER), "::", stringify!(ne_swaparea) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OS2_HEADER>())).ne_expver as *const _ 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() { 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::null::<_IMAGE_VXD_HEADER>())).e32_magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_border as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_border) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_worder as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_worder) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_level as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_level) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_cpu as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_cpu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_os as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_os) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_ver as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_ver) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_mflags as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_mflags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_mpages as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_mpages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_startobj as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_startobj) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_eip as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_eip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_stackobj as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_stackobj) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_esp as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_esp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_pagesize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_pagesize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_lastpagesize as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_lastpagesize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_fixupsize as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_fixupsize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_fixupsum as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_fixupsum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_ldrsize as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_ldrsize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_ldrsum as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_ldrsum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_objtab as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_objtab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_objcnt as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_objcnt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_objmap as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_objmap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_itermap as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_itermap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_rsrctab as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_rsrctab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_rsrccnt as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_rsrccnt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_restab as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_restab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_enttab as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_enttab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_dirtab as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_dirtab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_dircnt as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_dircnt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_fpagetab as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_fpagetab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_frectab as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_frectab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_impmod as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_impmod) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_impmodcnt as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_impmodcnt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_impproc as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_impproc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_pagesum as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_pagesum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_datapage as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_datapage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_preload as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_preload) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_nrestab as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_nrestab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_cbnrestab as *const _ as usize }, 140usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_cbnrestab) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_nressum as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_nressum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_autodata as *const _ as usize }, 148usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_autodata) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_debuginfo as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_debuginfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_debuglen as *const _ as usize }, 156usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_debuglen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_instpreload as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_instpreload) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_instdemand as *const _ as usize }, 164usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_instdemand) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_heapsize as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_heapsize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_res3 as *const _ as usize }, 172usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_res3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_winresoff as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_winresoff) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_winreslen as *const _ as usize }, 188usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_winreslen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_devid as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(_IMAGE_VXD_HEADER), "::", stringify!(e32_devid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_VXD_HEADER>())).e32_ddkver as *const _ 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() { 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::null::<_IMAGE_FILE_HEADER>())).Machine as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_FILE_HEADER), "::", stringify!(Machine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_FILE_HEADER>())).NumberOfSections as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_IMAGE_FILE_HEADER), "::", stringify!(NumberOfSections) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_FILE_HEADER>())).TimeDateStamp as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_FILE_HEADER), "::", stringify!(TimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_FILE_HEADER>())).PointerToSymbolTable as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_FILE_HEADER), "::", stringify!(PointerToSymbolTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_FILE_HEADER>())).NumberOfSymbols as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_FILE_HEADER), "::", stringify!(NumberOfSymbols) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_FILE_HEADER>())).SizeOfOptionalHeader as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_FILE_HEADER), "::", stringify!(SizeOfOptionalHeader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_FILE_HEADER>())).Characteristics as *const _ 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() { 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::null::<_IMAGE_DATA_DIRECTORY>())).VirtualAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_DATA_DIRECTORY), "::", stringify!(VirtualAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DATA_DIRECTORY>())).Size as *const _ 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() { 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::null::<_IMAGE_OPTIONAL_HEADER>())).Magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(Magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).MajorLinkerVersion as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(MajorLinkerVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).MinorLinkerVersion as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(MinorLinkerVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).SizeOfCode as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(SizeOfCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).SizeOfInitializedData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(SizeOfInitializedData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).SizeOfUninitializedData as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(SizeOfUninitializedData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).AddressOfEntryPoint as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(AddressOfEntryPoint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).BaseOfCode as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(BaseOfCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).BaseOfData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(BaseOfData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).ImageBase as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(ImageBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).SectionAlignment as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(SectionAlignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).FileAlignment as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(FileAlignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).MajorOperatingSystemVersion as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(MajorOperatingSystemVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).MinorOperatingSystemVersion as *const _ as usize }, 42usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(MinorOperatingSystemVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).MajorImageVersion as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(MajorImageVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).MinorImageVersion as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(MinorImageVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).MajorSubsystemVersion as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(MajorSubsystemVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).MinorSubsystemVersion as *const _ as usize }, 50usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(MinorSubsystemVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).Win32VersionValue as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(Win32VersionValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).SizeOfImage as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(SizeOfImage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).SizeOfHeaders as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(SizeOfHeaders) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).CheckSum as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(CheckSum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).Subsystem as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(Subsystem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).DllCharacteristics as *const _ as usize }, 70usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(DllCharacteristics) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).SizeOfStackReserve as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(SizeOfStackReserve) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).SizeOfStackCommit as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(SizeOfStackCommit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).SizeOfHeapReserve as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(SizeOfHeapReserve) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).SizeOfHeapCommit as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(SizeOfHeapCommit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).LoaderFlags as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(LoaderFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).NumberOfRvaAndSizes as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER), "::", stringify!(NumberOfRvaAndSizes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER>())).DataDirectory as *const _ 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() { 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::null::<_IMAGE_ROM_OPTIONAL_HEADER>())).Magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER), "::", stringify!(Magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ROM_OPTIONAL_HEADER>())).MajorLinkerVersion as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER), "::", stringify!(MajorLinkerVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ROM_OPTIONAL_HEADER>())).MinorLinkerVersion as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER), "::", stringify!(MinorLinkerVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ROM_OPTIONAL_HEADER>())).SizeOfCode as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER), "::", stringify!(SizeOfCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ROM_OPTIONAL_HEADER>())).SizeOfInitializedData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER), "::", stringify!(SizeOfInitializedData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ROM_OPTIONAL_HEADER>())).SizeOfUninitializedData as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER), "::", stringify!(SizeOfUninitializedData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ROM_OPTIONAL_HEADER>())).AddressOfEntryPoint as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER), "::", stringify!(AddressOfEntryPoint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ROM_OPTIONAL_HEADER>())).BaseOfCode as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER), "::", stringify!(BaseOfCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ROM_OPTIONAL_HEADER>())).BaseOfData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER), "::", stringify!(BaseOfData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ROM_OPTIONAL_HEADER>())).BaseOfBss as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER), "::", stringify!(BaseOfBss) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ROM_OPTIONAL_HEADER>())).GprMask as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER), "::", stringify!(GprMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ROM_OPTIONAL_HEADER>())).CprMask as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER), "::", stringify!(CprMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ROM_OPTIONAL_HEADER>())).GpValue as *const _ 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() { 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::null::<_IMAGE_OPTIONAL_HEADER64>())).Magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(Magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).MajorLinkerVersion as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(MajorLinkerVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).MinorLinkerVersion as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(MinorLinkerVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).SizeOfCode as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(SizeOfCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).SizeOfInitializedData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(SizeOfInitializedData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).SizeOfUninitializedData as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(SizeOfUninitializedData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).AddressOfEntryPoint as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(AddressOfEntryPoint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).BaseOfCode as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(BaseOfCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).ImageBase as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(ImageBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).SectionAlignment as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(SectionAlignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).FileAlignment as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(FileAlignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).MajorOperatingSystemVersion as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(MajorOperatingSystemVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).MinorOperatingSystemVersion as *const _ as usize }, 42usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(MinorOperatingSystemVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).MajorImageVersion as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(MajorImageVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).MinorImageVersion as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(MinorImageVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).MajorSubsystemVersion as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(MajorSubsystemVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).MinorSubsystemVersion as *const _ as usize }, 50usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(MinorSubsystemVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).Win32VersionValue as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(Win32VersionValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).SizeOfImage as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(SizeOfImage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).SizeOfHeaders as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(SizeOfHeaders) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).CheckSum as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(CheckSum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).Subsystem as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(Subsystem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).DllCharacteristics as *const _ as usize }, 70usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(DllCharacteristics) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).SizeOfStackReserve as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(SizeOfStackReserve) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).SizeOfStackCommit as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(SizeOfStackCommit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).SizeOfHeapReserve as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(SizeOfHeapReserve) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).SizeOfHeapCommit as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(SizeOfHeapCommit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).LoaderFlags as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(LoaderFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).NumberOfRvaAndSizes as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_IMAGE_OPTIONAL_HEADER64), "::", stringify!(NumberOfRvaAndSizes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_OPTIONAL_HEADER64>())).DataDirectory as *const _ 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() { 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::null::<_IMAGE_NT_HEADERS64>())).Signature as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_NT_HEADERS64), "::", stringify!(Signature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_NT_HEADERS64>())).FileHeader as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_NT_HEADERS64), "::", stringify!(FileHeader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_NT_HEADERS64>())).OptionalHeader as *const _ 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() { 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::null::<_IMAGE_NT_HEADERS>())).Signature as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_NT_HEADERS), "::", stringify!(Signature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_NT_HEADERS>())).FileHeader as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_NT_HEADERS), "::", stringify!(FileHeader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_NT_HEADERS>())).OptionalHeader as *const _ 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() { 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::null::<_IMAGE_ROM_HEADERS>())).FileHeader as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_ROM_HEADERS), "::", stringify!(FileHeader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ROM_HEADERS>())).OptionalHeader as *const _ 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() { 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::null::())).Sig1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER), "::", stringify!(Sig1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Sig2 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER), "::", stringify!(Sig2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Version as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Machine as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER), "::", stringify!(Machine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TimeDateStamp as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER), "::", stringify!(TimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClassID as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER), "::", stringify!(ClassID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SizeOfData as *const _ 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() { 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::null::())).Sig1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_V2), "::", stringify!(Sig1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Sig2 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_V2), "::", stringify!(Sig2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Version as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_V2), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Machine as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_V2), "::", stringify!(Machine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TimeDateStamp as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_V2), "::", stringify!(TimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClassID as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_V2), "::", stringify!(ClassID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SizeOfData as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_V2), "::", stringify!(SizeOfData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_V2), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MetaDataSize as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_V2), "::", stringify!(MetaDataSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MetaDataOffset as *const _ 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() { 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::null::())).Sig1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_BIGOBJ), "::", stringify!(Sig1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Sig2 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_BIGOBJ), "::", stringify!(Sig2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Version as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_BIGOBJ), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Machine as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_BIGOBJ), "::", stringify!(Machine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TimeDateStamp as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_BIGOBJ), "::", stringify!(TimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClassID as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_BIGOBJ), "::", stringify!(ClassID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SizeOfData as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_BIGOBJ), "::", stringify!(SizeOfData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_BIGOBJ), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MetaDataSize as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_BIGOBJ), "::", stringify!(MetaDataSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MetaDataOffset as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_BIGOBJ), "::", stringify!(MetaDataOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NumberOfSections as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_BIGOBJ), "::", stringify!(NumberOfSections) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PointerToSymbolTable as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(ANON_OBJECT_HEADER_BIGOBJ), "::", stringify!(PointerToSymbolTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NumberOfSymbols as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__IMAGE_SECTION_HEADER__bindgen_ty_1() { 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::null::<_IMAGE_SECTION_HEADER__bindgen_ty_1>())).PhysicalAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_SECTION_HEADER__bindgen_ty_1), "::", stringify!(PhysicalAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SECTION_HEADER__bindgen_ty_1>())).VirtualSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_SECTION_HEADER__bindgen_ty_1), "::", stringify!(VirtualSize) ) ); } #[test] fn bindgen_test_layout__IMAGE_SECTION_HEADER() { 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::null::<_IMAGE_SECTION_HEADER>())).Name as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_SECTION_HEADER), "::", stringify!(Name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SECTION_HEADER>())).Misc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_SECTION_HEADER), "::", stringify!(Misc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SECTION_HEADER>())).VirtualAddress as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_SECTION_HEADER), "::", stringify!(VirtualAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SECTION_HEADER>())).SizeOfRawData as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_SECTION_HEADER), "::", stringify!(SizeOfRawData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SECTION_HEADER>())).PointerToRawData as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_SECTION_HEADER), "::", stringify!(PointerToRawData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SECTION_HEADER>())).PointerToRelocations as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_SECTION_HEADER), "::", stringify!(PointerToRelocations) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SECTION_HEADER>())).PointerToLinenumbers as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_IMAGE_SECTION_HEADER), "::", stringify!(PointerToLinenumbers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SECTION_HEADER>())).NumberOfRelocations as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_IMAGE_SECTION_HEADER), "::", stringify!(NumberOfRelocations) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SECTION_HEADER>())).NumberOfLinenumbers as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(_IMAGE_SECTION_HEADER), "::", stringify!(NumberOfLinenumbers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SECTION_HEADER>())).Characteristics as *const _ 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], _bindgen_union_align: [u16; 4usize], } #[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() { 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::null::<_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1>())).Short as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Short) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1>())).Long as *const _ 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() { 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::null::<_IMAGE_SYMBOL__bindgen_ty_1>())).ShortName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL__bindgen_ty_1), "::", stringify!(ShortName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL__bindgen_ty_1>())).Name as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL__bindgen_ty_1), "::", stringify!(Name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL__bindgen_ty_1>())).LongName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL__bindgen_ty_1), "::", stringify!(LongName) ) ); } #[test] fn bindgen_test_layout__IMAGE_SYMBOL() { 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::null::<_IMAGE_SYMBOL>())).N as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL), "::", stringify!(N) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL>())).Value as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL), "::", stringify!(Value) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL>())).SectionNumber as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL), "::", stringify!(SectionNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL>())).Type as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL>())).StorageClass as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL), "::", stringify!(StorageClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL>())).NumberOfAuxSymbols as *const _ 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], _bindgen_union_align: [u16; 4usize], } #[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() { 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::null::<_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1>())).Short as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Short) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1>())).Long as *const _ 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() { 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::null::<_IMAGE_SYMBOL_EX__bindgen_ty_1>())).ShortName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1), "::", stringify!(ShortName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL_EX__bindgen_ty_1>())).Name as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1), "::", stringify!(Name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL_EX__bindgen_ty_1>())).LongName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1), "::", stringify!(LongName) ) ); } #[test] fn bindgen_test_layout__IMAGE_SYMBOL_EX() { 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::null::<_IMAGE_SYMBOL_EX>())).N as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL_EX), "::", stringify!(N) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL_EX>())).Value as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL_EX), "::", stringify!(Value) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL_EX>())).SectionNumber as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL_EX), "::", stringify!(SectionNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL_EX>())).Type as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL_EX), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL_EX>())).StorageClass as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(_IMAGE_SYMBOL_EX), "::", stringify!(StorageClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SYMBOL_EX>())).NumberOfAuxSymbols as *const _ 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() { 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::null::())).bAuxType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMAGE_AUX_SYMBOL_TOKEN_DEF), "::", stringify!(bAuxType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bReserved as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(IMAGE_AUX_SYMBOL_TOKEN_DEF), "::", stringify!(bReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SymbolTableIndex as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(IMAGE_AUX_SYMBOL_TOKEN_DEF), "::", stringify!(SymbolTableIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgbReserved as *const _ 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, _bindgen_union_align: [u16; 9usize], } #[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, _bindgen_union_align: [u16; 2usize], } #[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() { 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::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>())) .Linenumber as *const _ 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::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>())) .Size as *const _ 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() { 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::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1>())).LnSz as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1), "::", stringify!(LnSz) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1>())).TotalSize as *const _ 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, _bindgen_union_align: [u16; 4usize], } #[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() { 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::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1>())) .PointerToLinenumber as *const _ 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::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1>())) .PointerToNextFunction as *const _ 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() { 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::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2>())) .Dimension as *const _ 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() { 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::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2>())).Function as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2), "::", stringify!(Function) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2>())).Array as *const _ 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() { 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::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_1>())).TagIndex as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1), "::", stringify!(TagIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_1>())).Misc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1), "::", stringify!(Misc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_1>())).FcnAry as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1), "::", stringify!(FcnAry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_1>())).TvIndex as *const _ 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() { 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::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_2>())).Name as *const _ 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() { 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::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_3>())).Length as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_3>())).NumberOfRelocations as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), "::", stringify!(NumberOfRelocations) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_3>())).NumberOfLinenumbers as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), "::", stringify!(NumberOfLinenumbers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_3>())).CheckSum as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), "::", stringify!(CheckSum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_3>())).Number as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), "::", stringify!(Number) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_3>())).Selection as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), "::", stringify!(Selection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_3>())).bReserved as *const _ as usize }, 15usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), "::", stringify!(bReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_3>())).HighNumber as *const _ 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() { 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::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_4>())).crc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_4), "::", stringify!(crc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL__bindgen_ty_4>())).rgbReserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_4), "::", stringify!(rgbReserved) ) ); } #[test] fn bindgen_test_layout__IMAGE_AUX_SYMBOL() { 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::null::<_IMAGE_AUX_SYMBOL>())).Sym as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL), "::", stringify!(Sym) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL>())).File as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL), "::", stringify!(File) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL>())).Section as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL), "::", stringify!(Section) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL>())).TokenDef as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL), "::", stringify!(TokenDef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL>())).CRC as *const _ 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, _bindgen_union_align: [u16; 10usize], } #[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() { 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::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1>())).WeakDefaultSymIndex as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1), "::", stringify!(WeakDefaultSymIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1>())).WeakSearchType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1), "::", stringify!(WeakSearchType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1>())).rgbReserved as *const _ 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() { 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::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_2>())).Name as *const _ 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() { 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::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3>())).Length as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3>())).NumberOfRelocations as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), "::", stringify!(NumberOfRelocations) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3>())).NumberOfLinenumbers as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), "::", stringify!(NumberOfLinenumbers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3>())).CheckSum as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), "::", stringify!(CheckSum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3>())).Number as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), "::", stringify!(Number) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3>())).Selection as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), "::", stringify!(Selection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3>())).bReserved as *const _ as usize }, 15usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), "::", stringify!(bReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3>())).HighNumber as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), "::", stringify!(HighNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3>())).rgbReserved as *const _ 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() { 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::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4>())).TokenDef as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4), "::", stringify!(TokenDef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4>())).rgbReserved as *const _ 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() { 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::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5>())).crc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5), "::", stringify!(crc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5>())).rgbReserved as *const _ 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() { 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::null::<_IMAGE_AUX_SYMBOL_EX>())).Sym as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL_EX), "::", stringify!(Sym) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL_EX>())).File as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL_EX), "::", stringify!(File) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL_EX>())).Section as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_AUX_SYMBOL_EX), "::", stringify!(Section) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_AUX_SYMBOL_EX>())).CRC as *const _ 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, _bindgen_union_align: [u16; 2usize], } #[test] fn bindgen_test_layout__IMAGE_RELOCATION__bindgen_ty_1() { 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::null::<_IMAGE_RELOCATION__bindgen_ty_1>())).VirtualAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_RELOCATION__bindgen_ty_1), "::", stringify!(VirtualAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_RELOCATION__bindgen_ty_1>())).RelocCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_RELOCATION__bindgen_ty_1), "::", stringify!(RelocCount) ) ); } #[test] fn bindgen_test_layout__IMAGE_RELOCATION() { 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::null::<_IMAGE_RELOCATION>())).SymbolTableIndex as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_RELOCATION), "::", stringify!(SymbolTableIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_RELOCATION>())).Type as *const _ 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, _bindgen_union_align: [u16; 2usize], } #[test] fn bindgen_test_layout__IMAGE_LINENUMBER__bindgen_ty_1() { 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::null::<_IMAGE_LINENUMBER__bindgen_ty_1>())).SymbolTableIndex as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_LINENUMBER__bindgen_ty_1), "::", stringify!(SymbolTableIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LINENUMBER__bindgen_ty_1>())).VirtualAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_LINENUMBER__bindgen_ty_1), "::", stringify!(VirtualAddress) ) ); } #[test] fn bindgen_test_layout__IMAGE_LINENUMBER() { 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::null::<_IMAGE_LINENUMBER>())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_LINENUMBER), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LINENUMBER>())).Linenumber as *const _ 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() { 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::null::<_IMAGE_BASE_RELOCATION>())).VirtualAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_BASE_RELOCATION), "::", stringify!(VirtualAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_BASE_RELOCATION>())).SizeOfBlock as *const _ 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() { 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::null::<_IMAGE_ARCHIVE_MEMBER_HEADER>())).Name as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), "::", stringify!(Name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ARCHIVE_MEMBER_HEADER>())).Date as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), "::", stringify!(Date) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ARCHIVE_MEMBER_HEADER>())).UserID as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), "::", stringify!(UserID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ARCHIVE_MEMBER_HEADER>())).GroupID as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), "::", stringify!(GroupID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ARCHIVE_MEMBER_HEADER>())).Mode as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), "::", stringify!(Mode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ARCHIVE_MEMBER_HEADER>())).Size as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ARCHIVE_MEMBER_HEADER>())).EndHeader as *const _ 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() { 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::null::<_IMAGE_EXPORT_DIRECTORY>())).Characteristics as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_EXPORT_DIRECTORY), "::", stringify!(Characteristics) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_EXPORT_DIRECTORY>())).TimeDateStamp as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_EXPORT_DIRECTORY), "::", stringify!(TimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_EXPORT_DIRECTORY>())).MajorVersion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_EXPORT_DIRECTORY), "::", stringify!(MajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_EXPORT_DIRECTORY>())).MinorVersion as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_IMAGE_EXPORT_DIRECTORY), "::", stringify!(MinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_EXPORT_DIRECTORY>())).Name as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_EXPORT_DIRECTORY), "::", stringify!(Name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_EXPORT_DIRECTORY>())).Base as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_EXPORT_DIRECTORY), "::", stringify!(Base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_EXPORT_DIRECTORY>())).NumberOfFunctions as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_EXPORT_DIRECTORY), "::", stringify!(NumberOfFunctions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_EXPORT_DIRECTORY>())).NumberOfNames as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_EXPORT_DIRECTORY), "::", stringify!(NumberOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_EXPORT_DIRECTORY>())).AddressOfFunctions as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_IMAGE_EXPORT_DIRECTORY), "::", stringify!(AddressOfFunctions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_EXPORT_DIRECTORY>())).AddressOfNames as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_IMAGE_EXPORT_DIRECTORY), "::", stringify!(AddressOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_EXPORT_DIRECTORY>())).AddressOfNameOrdinals as *const _ 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() { 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::null::<_IMAGE_IMPORT_BY_NAME>())).Hint as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_IMPORT_BY_NAME), "::", stringify!(Hint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_IMPORT_BY_NAME>())).Name as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__IMAGE_THUNK_DATA64__bindgen_ty_1() { 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::null::<_IMAGE_THUNK_DATA64__bindgen_ty_1>())).ForwarderString as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1), "::", stringify!(ForwarderString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_THUNK_DATA64__bindgen_ty_1>())).Function as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1), "::", stringify!(Function) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_THUNK_DATA64__bindgen_ty_1>())).Ordinal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1), "::", stringify!(Ordinal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_THUNK_DATA64__bindgen_ty_1>())).AddressOfData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1), "::", stringify!(AddressOfData) ) ); } #[test] fn bindgen_test_layout__IMAGE_THUNK_DATA64() { 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::null::<_IMAGE_THUNK_DATA64>())).u1 as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__IMAGE_THUNK_DATA32__bindgen_ty_1() { 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::null::<_IMAGE_THUNK_DATA32__bindgen_ty_1>())).ForwarderString as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1), "::", stringify!(ForwarderString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_THUNK_DATA32__bindgen_ty_1>())).Function as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1), "::", stringify!(Function) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_THUNK_DATA32__bindgen_ty_1>())).Ordinal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1), "::", stringify!(Ordinal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_THUNK_DATA32__bindgen_ty_1>())).AddressOfData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1), "::", stringify!(AddressOfData) ) ); } #[test] fn bindgen_test_layout__IMAGE_THUNK_DATA32() { 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::null::<_IMAGE_THUNK_DATA32>())).u1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_THUNK_DATA32), "::", stringify!(u1) ) ); } pub type IMAGE_THUNK_DATA32 = _IMAGE_THUNK_DATA32; pub type PIMAGE_THUNK_DATA32 = *mut IMAGE_THUNK_DATA32; pub type PIMAGE_TLS_CALLBACK = ::std::option::Option; #[repr(C, packed(4))] #[derive(Copy, Clone)] pub struct _IMAGE_TLS_DIRECTORY64 { pub StartAddressOfRawData: ULONGLONG, pub EndAddressOfRawData: ULONGLONG, pub AddressOfIndex: ULONGLONG, pub AddressOfCallBacks: ULONGLONG, pub SizeOfZeroFill: DWORD, pub __bindgen_anon_1: _IMAGE_TLS_DIRECTORY64__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union _IMAGE_TLS_DIRECTORY64__bindgen_ty_1 { pub Characteristics: DWORD, pub __bindgen_anon_1: _IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[test] fn bindgen_test_layout__IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::<_IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1>(), 4usize, concat!( "Size of: ", stringify!(_IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::<_IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1>(), 4usize, concat!( "Alignment of ", stringify!(_IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1) ) ); } impl _IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1 { #[inline] pub fn Reserved0(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } } #[inline] pub fn set_Reserved0(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(0usize, 20u8, val as u64) } } #[inline] pub fn Alignment(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 4u8) as u32) } } #[inline] pub fn set_Alignment(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(20usize, 4u8, val as u64) } } #[inline] pub fn Reserved1(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } } #[inline] pub fn set_Reserved1(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(24usize, 8u8, val as u64) } } #[inline] pub fn new_bitfield_1( Reserved0: DWORD, Alignment: DWORD, Reserved1: DWORD, ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = Default::default(); __bindgen_bitfield_unit.set(0usize, 20u8, { let Reserved0: u32 = unsafe { ::std::mem::transmute(Reserved0) }; Reserved0 as u64 }); __bindgen_bitfield_unit.set(20usize, 4u8, { let Alignment: u32 = unsafe { ::std::mem::transmute(Alignment) }; Alignment as u64 }); __bindgen_bitfield_unit.set(24usize, 8u8, { let Reserved1: u32 = unsafe { ::std::mem::transmute(Reserved1) }; Reserved1 as u64 }); __bindgen_bitfield_unit } } #[test] fn bindgen_test_layout__IMAGE_TLS_DIRECTORY64__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::<_IMAGE_TLS_DIRECTORY64__bindgen_ty_1>(), 4usize, concat!( "Size of: ", stringify!(_IMAGE_TLS_DIRECTORY64__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::<_IMAGE_TLS_DIRECTORY64__bindgen_ty_1>(), 4usize, concat!( "Alignment of ", stringify!(_IMAGE_TLS_DIRECTORY64__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_TLS_DIRECTORY64__bindgen_ty_1>())).Characteristics as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_TLS_DIRECTORY64__bindgen_ty_1), "::", stringify!(Characteristics) ) ); } #[test] fn bindgen_test_layout__IMAGE_TLS_DIRECTORY64() { assert_eq!( ::std::mem::size_of::<_IMAGE_TLS_DIRECTORY64>(), 40usize, concat!("Size of: ", stringify!(_IMAGE_TLS_DIRECTORY64)) ); assert_eq!( ::std::mem::align_of::<_IMAGE_TLS_DIRECTORY64>(), 4usize, concat!("Alignment of ", stringify!(_IMAGE_TLS_DIRECTORY64)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_TLS_DIRECTORY64>())).StartAddressOfRawData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_TLS_DIRECTORY64), "::", stringify!(StartAddressOfRawData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_TLS_DIRECTORY64>())).EndAddressOfRawData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_TLS_DIRECTORY64), "::", stringify!(EndAddressOfRawData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_TLS_DIRECTORY64>())).AddressOfIndex as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_TLS_DIRECTORY64), "::", stringify!(AddressOfIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_TLS_DIRECTORY64>())).AddressOfCallBacks as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_TLS_DIRECTORY64), "::", stringify!(AddressOfCallBacks) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_TLS_DIRECTORY64>())).SizeOfZeroFill as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_IMAGE_TLS_DIRECTORY64), "::", stringify!(SizeOfZeroFill) ) ); } pub type IMAGE_TLS_DIRECTORY64 = _IMAGE_TLS_DIRECTORY64; pub type PIMAGE_TLS_DIRECTORY64 = *mut IMAGE_TLS_DIRECTORY64; #[repr(C)] #[derive(Copy, Clone)] pub struct _IMAGE_TLS_DIRECTORY32 { pub StartAddressOfRawData: DWORD, pub EndAddressOfRawData: DWORD, pub AddressOfIndex: DWORD, pub AddressOfCallBacks: DWORD, pub SizeOfZeroFill: DWORD, pub __bindgen_anon_1: _IMAGE_TLS_DIRECTORY32__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union _IMAGE_TLS_DIRECTORY32__bindgen_ty_1 { pub Characteristics: DWORD, pub __bindgen_anon_1: _IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[test] fn bindgen_test_layout__IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::<_IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1>(), 4usize, concat!( "Size of: ", stringify!(_IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::<_IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1>(), 4usize, concat!( "Alignment of ", stringify!(_IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1) ) ); } impl _IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1 { #[inline] pub fn Reserved0(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } } #[inline] pub fn set_Reserved0(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(0usize, 20u8, val as u64) } } #[inline] pub fn Alignment(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 4u8) as u32) } } #[inline] pub fn set_Alignment(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(20usize, 4u8, val as u64) } } #[inline] pub fn Reserved1(&self) -> DWORD { unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } } #[inline] pub fn set_Reserved1(&mut self, val: DWORD) { unsafe { let val: u32 = ::std::mem::transmute(val); self._bitfield_1.set(24usize, 8u8, val as u64) } } #[inline] pub fn new_bitfield_1( Reserved0: DWORD, Alignment: DWORD, Reserved1: DWORD, ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = Default::default(); __bindgen_bitfield_unit.set(0usize, 20u8, { let Reserved0: u32 = unsafe { ::std::mem::transmute(Reserved0) }; Reserved0 as u64 }); __bindgen_bitfield_unit.set(20usize, 4u8, { let Alignment: u32 = unsafe { ::std::mem::transmute(Alignment) }; Alignment as u64 }); __bindgen_bitfield_unit.set(24usize, 8u8, { let Reserved1: u32 = unsafe { ::std::mem::transmute(Reserved1) }; Reserved1 as u64 }); __bindgen_bitfield_unit } } #[test] fn bindgen_test_layout__IMAGE_TLS_DIRECTORY32__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::<_IMAGE_TLS_DIRECTORY32__bindgen_ty_1>(), 4usize, concat!( "Size of: ", stringify!(_IMAGE_TLS_DIRECTORY32__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::<_IMAGE_TLS_DIRECTORY32__bindgen_ty_1>(), 4usize, concat!( "Alignment of ", stringify!(_IMAGE_TLS_DIRECTORY32__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_TLS_DIRECTORY32__bindgen_ty_1>())).Characteristics as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_TLS_DIRECTORY32__bindgen_ty_1), "::", stringify!(Characteristics) ) ); } #[test] fn bindgen_test_layout__IMAGE_TLS_DIRECTORY32() { assert_eq!( ::std::mem::size_of::<_IMAGE_TLS_DIRECTORY32>(), 24usize, concat!("Size of: ", stringify!(_IMAGE_TLS_DIRECTORY32)) ); assert_eq!( ::std::mem::align_of::<_IMAGE_TLS_DIRECTORY32>(), 4usize, concat!("Alignment of ", stringify!(_IMAGE_TLS_DIRECTORY32)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_TLS_DIRECTORY32>())).StartAddressOfRawData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_TLS_DIRECTORY32), "::", stringify!(StartAddressOfRawData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_TLS_DIRECTORY32>())).EndAddressOfRawData as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_TLS_DIRECTORY32), "::", stringify!(EndAddressOfRawData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_TLS_DIRECTORY32>())).AddressOfIndex as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_TLS_DIRECTORY32), "::", stringify!(AddressOfIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_TLS_DIRECTORY32>())).AddressOfCallBacks as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_TLS_DIRECTORY32), "::", stringify!(AddressOfCallBacks) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_TLS_DIRECTORY32>())).SizeOfZeroFill as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_TLS_DIRECTORY32), "::", stringify!(SizeOfZeroFill) ) ); } pub type IMAGE_TLS_DIRECTORY32 = _IMAGE_TLS_DIRECTORY32; pub type PIMAGE_TLS_DIRECTORY32 = *mut IMAGE_TLS_DIRECTORY32; pub type IMAGE_THUNK_DATA = IMAGE_THUNK_DATA64; pub type PIMAGE_THUNK_DATA = PIMAGE_THUNK_DATA64; pub type IMAGE_TLS_DIRECTORY = IMAGE_TLS_DIRECTORY64; pub type PIMAGE_TLS_DIRECTORY = PIMAGE_TLS_DIRECTORY64; #[repr(C)] #[derive(Copy, Clone)] pub struct _IMAGE_IMPORT_DESCRIPTOR { pub __bindgen_anon_1: _IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1, pub TimeDateStamp: DWORD, pub ForwarderChain: DWORD, pub Name: DWORD, pub FirstThunk: DWORD, } #[repr(C)] #[derive(Copy, Clone)] pub union _IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1 { pub Characteristics: DWORD, pub OriginalFirstThunk: DWORD, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1() { 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::null::<_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1>())).Characteristics as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1), "::", stringify!(Characteristics) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1>())).OriginalFirstThunk as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1), "::", stringify!(OriginalFirstThunk) ) ); } #[test] fn bindgen_test_layout__IMAGE_IMPORT_DESCRIPTOR() { 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::null::<_IMAGE_IMPORT_DESCRIPTOR>())).TimeDateStamp as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_IMPORT_DESCRIPTOR), "::", stringify!(TimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_IMPORT_DESCRIPTOR>())).ForwarderChain as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_IMPORT_DESCRIPTOR), "::", stringify!(ForwarderChain) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_IMPORT_DESCRIPTOR>())).Name as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_IMPORT_DESCRIPTOR), "::", stringify!(Name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_IMPORT_DESCRIPTOR>())).FirstThunk as *const _ 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() { 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::null::<_IMAGE_BOUND_IMPORT_DESCRIPTOR>())).TimeDateStamp as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_BOUND_IMPORT_DESCRIPTOR), "::", stringify!(TimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_BOUND_IMPORT_DESCRIPTOR>())).OffsetModuleName as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_BOUND_IMPORT_DESCRIPTOR), "::", stringify!(OffsetModuleName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_BOUND_IMPORT_DESCRIPTOR>())).NumberOfModuleForwarderRefs as *const _ 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() { 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::null::<_IMAGE_BOUND_FORWARDER_REF>())).TimeDateStamp as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_BOUND_FORWARDER_REF), "::", stringify!(TimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_BOUND_FORWARDER_REF>())).OffsetModuleName as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_BOUND_FORWARDER_REF), "::", stringify!(OffsetModuleName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_BOUND_FORWARDER_REF>())).Reserved as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1>())).AllAttributes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1), "::", stringify!(AllAttributes) ) ); } #[test] fn bindgen_test_layout__IMAGE_DELAYLOAD_DESCRIPTOR() { 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::null::<_IMAGE_DELAYLOAD_DESCRIPTOR>())).Attributes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), "::", stringify!(Attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DELAYLOAD_DESCRIPTOR>())).DllNameRVA as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), "::", stringify!(DllNameRVA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DELAYLOAD_DESCRIPTOR>())).ModuleHandleRVA as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), "::", stringify!(ModuleHandleRVA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DELAYLOAD_DESCRIPTOR>())).ImportAddressTableRVA as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), "::", stringify!(ImportAddressTableRVA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DELAYLOAD_DESCRIPTOR>())).ImportNameTableRVA as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), "::", stringify!(ImportNameTableRVA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DELAYLOAD_DESCRIPTOR>())).BoundImportAddressTableRVA as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), "::", stringify!(BoundImportAddressTableRVA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DELAYLOAD_DESCRIPTOR>())).UnloadInformationTableRVA as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), "::", stringify!(UnloadInformationTableRVA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DELAYLOAD_DESCRIPTOR>())).TimeDateStamp as *const _ 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() { 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::null::<_IMAGE_RESOURCE_DIRECTORY>())).Characteristics as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_RESOURCE_DIRECTORY), "::", stringify!(Characteristics) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_RESOURCE_DIRECTORY>())).TimeDateStamp as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_RESOURCE_DIRECTORY), "::", stringify!(TimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_RESOURCE_DIRECTORY>())).MajorVersion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_RESOURCE_DIRECTORY), "::", stringify!(MajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_RESOURCE_DIRECTORY>())).MinorVersion as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_IMAGE_RESOURCE_DIRECTORY), "::", stringify!(MinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_RESOURCE_DIRECTORY>())).NumberOfNamedEntries as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_RESOURCE_DIRECTORY), "::", stringify!(NumberOfNamedEntries) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_RESOURCE_DIRECTORY>())).NumberOfIdEntries as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1>())).Name as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1), "::", stringify!(Name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1>())).Id as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2>())).OffsetToData as *const _ 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() { 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::null::<_IMAGE_RESOURCE_DIRECTORY_STRING>())).Length as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_RESOURCE_DIRECTORY_STRING), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_RESOURCE_DIRECTORY_STRING>())).NameString as *const _ 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() { 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::null::<_IMAGE_RESOURCE_DIR_STRING_U>())).Length as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_RESOURCE_DIR_STRING_U), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_RESOURCE_DIR_STRING_U>())).NameString as *const _ 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() { 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::null::<_IMAGE_RESOURCE_DATA_ENTRY>())).OffsetToData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_RESOURCE_DATA_ENTRY), "::", stringify!(OffsetToData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_RESOURCE_DATA_ENTRY>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_RESOURCE_DATA_ENTRY), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_RESOURCE_DATA_ENTRY>())).CodePage as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_RESOURCE_DATA_ENTRY), "::", stringify!(CodePage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_RESOURCE_DATA_ENTRY>())).Reserved as *const _ 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() { 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::null::<_IMAGE_LOAD_CONFIG_CODE_INTEGRITY>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_CODE_INTEGRITY>())).Catalog as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY), "::", stringify!(Catalog) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_CODE_INTEGRITY>())).CatalogOffset as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY), "::", stringify!(CatalogOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_CODE_INTEGRITY>())).Reserved as *const _ 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() { 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::null::<_IMAGE_DYNAMIC_RELOCATION_TABLE>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_DYNAMIC_RELOCATION_TABLE), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DYNAMIC_RELOCATION_TABLE>())).Size as *const _ 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() { 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::null::<_IMAGE_DYNAMIC_RELOCATION32>())).Symbol as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_DYNAMIC_RELOCATION32), "::", stringify!(Symbol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DYNAMIC_RELOCATION32>())).BaseRelocSize as *const _ 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() { 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::null::<_IMAGE_DYNAMIC_RELOCATION64>())).Symbol as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_DYNAMIC_RELOCATION64), "::", stringify!(Symbol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DYNAMIC_RELOCATION64>())).BaseRelocSize as *const _ 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() { 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::null::<_IMAGE_DYNAMIC_RELOCATION32_V2>())).HeaderSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2), "::", stringify!(HeaderSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DYNAMIC_RELOCATION32_V2>())).FixupInfoSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2), "::", stringify!(FixupInfoSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DYNAMIC_RELOCATION32_V2>())).Symbol as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2), "::", stringify!(Symbol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DYNAMIC_RELOCATION32_V2>())).SymbolGroup as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2), "::", stringify!(SymbolGroup) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DYNAMIC_RELOCATION32_V2>())).Flags as *const _ 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() { 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::null::<_IMAGE_DYNAMIC_RELOCATION64_V2>())).HeaderSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2), "::", stringify!(HeaderSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DYNAMIC_RELOCATION64_V2>())).FixupInfoSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2), "::", stringify!(FixupInfoSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DYNAMIC_RELOCATION64_V2>())).Symbol as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2), "::", stringify!(Symbol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DYNAMIC_RELOCATION64_V2>())).SymbolGroup as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2), "::", stringify!(SymbolGroup) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DYNAMIC_RELOCATION64_V2>())).Flags as *const _ 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() { 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::null::<_IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER>())).PrologueByteCount as *const _ 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() { 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::null::<_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER>())).EpilogueCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER), "::", stringify!(EpilogueCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER>())).EpilogueByteCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER), "::", stringify!(EpilogueByteCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER>())) .BranchDescriptorElementSize as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER), "::", stringify!(BranchDescriptorElementSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER>())) .BranchDescriptorCount as *const _ 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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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_1: __BindgenBitfieldUnit<[u8; 2usize], u16>, } #[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], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u16> = 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_1: __BindgenBitfieldUnit<[u8; 2usize], u16>, } #[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], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u16> = 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, } #[test] fn bindgen_test_layout__IMAGE_LOAD_CONFIG_DIRECTORY32() { assert_eq!( ::std::mem::size_of::<_IMAGE_LOAD_CONFIG_DIRECTORY32>(), 164usize, 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::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).TimeDateStamp as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(TimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).MajorVersion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(MajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).MinorVersion as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(MinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).GlobalFlagsClear as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(GlobalFlagsClear) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).GlobalFlagsSet as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(GlobalFlagsSet) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).CriticalSectionDefaultTimeout as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(CriticalSectionDefaultTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).DeCommitFreeBlockThreshold as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(DeCommitFreeBlockThreshold) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).DeCommitTotalFreeThreshold as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(DeCommitTotalFreeThreshold) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).LockPrefixTable as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(LockPrefixTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).MaximumAllocationSize as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(MaximumAllocationSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).VirtualMemoryThreshold as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(VirtualMemoryThreshold) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).ProcessHeapFlags as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(ProcessHeapFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).ProcessAffinityMask as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(ProcessAffinityMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).CSDVersion as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(CSDVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).DependentLoadFlags as *const _ as usize }, 54usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(DependentLoadFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).EditList as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(EditList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).SecurityCookie as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(SecurityCookie) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).SEHandlerTable as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(SEHandlerTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).SEHandlerCount as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(SEHandlerCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).GuardCFCheckFunctionPointer as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(GuardCFCheckFunctionPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())) .GuardCFDispatchFunctionPointer as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(GuardCFDispatchFunctionPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).GuardCFFunctionTable as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(GuardCFFunctionTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).GuardCFFunctionCount as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(GuardCFFunctionCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).GuardFlags as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(GuardFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).CodeIntegrity as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(CodeIntegrity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())) .GuardAddressTakenIatEntryTable as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(GuardAddressTakenIatEntryTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())) .GuardAddressTakenIatEntryCount as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(GuardAddressTakenIatEntryCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).GuardLongJumpTargetTable as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(GuardLongJumpTargetTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).GuardLongJumpTargetCount as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(GuardLongJumpTargetCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).DynamicValueRelocTable as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(DynamicValueRelocTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).CHPEMetadataPointer as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(CHPEMetadataPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).GuardRFFailureRoutine as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(GuardRFFailureRoutine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())) .GuardRFFailureRoutineFunctionPointer as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(GuardRFFailureRoutineFunctionPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).DynamicValueRelocTableOffset as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(DynamicValueRelocTableOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).DynamicValueRelocTableSection as *const _ as usize }, 140usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(DynamicValueRelocTableSection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).Reserved2 as *const _ as usize }, 142usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(Reserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())) .GuardRFVerifyStackPointerFunctionPointer as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(GuardRFVerifyStackPointerFunctionPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).HotPatchTableOffset as *const _ as usize }, 148usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(HotPatchTableOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).Reserved3 as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(Reserved3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).EnclaveConfigurationPointer as *const _ as usize }, 156usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(EnclaveConfigurationPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY32>())).VolatileMetadataPointer as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), "::", stringify!(VolatileMetadataPointer) ) ); } 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, } #[test] fn bindgen_test_layout__IMAGE_LOAD_CONFIG_DIRECTORY64() { assert_eq!( ::std::mem::size_of::<_IMAGE_LOAD_CONFIG_DIRECTORY64>(), 264usize, 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::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).TimeDateStamp as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(TimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).MajorVersion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(MajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).MinorVersion as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(MinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).GlobalFlagsClear as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(GlobalFlagsClear) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).GlobalFlagsSet as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(GlobalFlagsSet) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).CriticalSectionDefaultTimeout as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(CriticalSectionDefaultTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).DeCommitFreeBlockThreshold as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(DeCommitFreeBlockThreshold) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).DeCommitTotalFreeThreshold as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(DeCommitTotalFreeThreshold) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).LockPrefixTable as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(LockPrefixTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).MaximumAllocationSize as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(MaximumAllocationSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).VirtualMemoryThreshold as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(VirtualMemoryThreshold) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).ProcessAffinityMask as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(ProcessAffinityMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).ProcessHeapFlags as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(ProcessHeapFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).CSDVersion as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(CSDVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).DependentLoadFlags as *const _ as usize }, 78usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(DependentLoadFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).EditList as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(EditList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).SecurityCookie as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(SecurityCookie) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).SEHandlerTable as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(SEHandlerTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).SEHandlerCount as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(SEHandlerCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).GuardCFCheckFunctionPointer as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(GuardCFCheckFunctionPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())) .GuardCFDispatchFunctionPointer as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(GuardCFDispatchFunctionPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).GuardCFFunctionTable as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(GuardCFFunctionTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).GuardCFFunctionCount as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(GuardCFFunctionCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).GuardFlags as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(GuardFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).CodeIntegrity as *const _ as usize }, 148usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(CodeIntegrity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())) .GuardAddressTakenIatEntryTable as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(GuardAddressTakenIatEntryTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())) .GuardAddressTakenIatEntryCount as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(GuardAddressTakenIatEntryCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).GuardLongJumpTargetTable as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(GuardLongJumpTargetTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).GuardLongJumpTargetCount as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(GuardLongJumpTargetCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).DynamicValueRelocTable as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(DynamicValueRelocTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).CHPEMetadataPointer as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(CHPEMetadataPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).GuardRFFailureRoutine as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(GuardRFFailureRoutine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())) .GuardRFFailureRoutineFunctionPointer as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(GuardRFFailureRoutineFunctionPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).DynamicValueRelocTableOffset as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(DynamicValueRelocTableOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).DynamicValueRelocTableSection as *const _ as usize }, 228usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(DynamicValueRelocTableSection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).Reserved2 as *const _ as usize }, 230usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(Reserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())) .GuardRFVerifyStackPointerFunctionPointer as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(GuardRFVerifyStackPointerFunctionPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).HotPatchTableOffset as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(HotPatchTableOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).Reserved3 as *const _ as usize }, 244usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(Reserved3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).EnclaveConfigurationPointer as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(EnclaveConfigurationPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_LOAD_CONFIG_DIRECTORY64>())).VolatileMetadataPointer as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), "::", stringify!(VolatileMetadataPointer) ) ); } 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() { 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::null::<_IMAGE_HOT_PATCH_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_HOT_PATCH_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_HOT_PATCH_INFO>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_HOT_PATCH_INFO), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_HOT_PATCH_INFO>())).SequenceNumber as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_HOT_PATCH_INFO), "::", stringify!(SequenceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_HOT_PATCH_INFO>())).BaseImageList as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_HOT_PATCH_INFO), "::", stringify!(BaseImageList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_HOT_PATCH_INFO>())).BaseImageCount as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_HOT_PATCH_INFO), "::", stringify!(BaseImageCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_HOT_PATCH_INFO>())).BufferOffset as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_HOT_PATCH_INFO), "::", stringify!(BufferOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_HOT_PATCH_INFO>())).ExtraPatchSize as *const _ 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() { 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::null::<_IMAGE_HOT_PATCH_BASE>())).SequenceNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_HOT_PATCH_BASE), "::", stringify!(SequenceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_HOT_PATCH_BASE>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_HOT_PATCH_BASE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_HOT_PATCH_BASE>())).OriginalTimeDateStamp as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_HOT_PATCH_BASE), "::", stringify!(OriginalTimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_HOT_PATCH_BASE>())).OriginalCheckSum as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_HOT_PATCH_BASE), "::", stringify!(OriginalCheckSum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_HOT_PATCH_BASE>())).CodeIntegrityInfo as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_HOT_PATCH_BASE), "::", stringify!(CodeIntegrityInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_HOT_PATCH_BASE>())).CodeIntegritySize as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_HOT_PATCH_BASE), "::", stringify!(CodeIntegritySize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_HOT_PATCH_BASE>())).PatchTable as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_HOT_PATCH_BASE), "::", stringify!(PatchTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_HOT_PATCH_BASE>())).BufferOffset as *const _ 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() { 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::null::<_IMAGE_HOT_PATCH_HASHES>())).SHA256 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_HOT_PATCH_HASHES), "::", stringify!(SHA256) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_HOT_PATCH_HASHES>())).SHA1 as *const _ 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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[test] fn bindgen_test_layout__IMAGE_CE_RUNTIME_FUNCTION_ENTRY() { 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::null::<_IMAGE_CE_RUNTIME_FUNCTION_ENTRY>())).FuncStart as *const _ 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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, } #[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], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = 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() { 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::null::<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>())).UnwindData as *const _ 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() { 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::null::<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY>())).BeginAddress as *const _ 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; #[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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, } #[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], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = 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() { 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::null::<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>())).UnwindData as *const _ 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() { 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::null::<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY>())).BeginAddress as *const _ 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, 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() { 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::null::<_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY>())).BeginAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY), "::", stringify!(BeginAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY>())).EndAddress as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY), "::", stringify!(EndAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY>())).ExceptionHandler as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY), "::", stringify!(ExceptionHandler) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY>())).HandlerData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY), "::", stringify!(HandlerData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY>())).PrologEndAddress as *const _ 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() { 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::null::<_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY>())).BeginAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY), "::", stringify!(BeginAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY>())).EndAddress as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY), "::", stringify!(EndAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY>())).ExceptionHandler as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY), "::", stringify!(ExceptionHandler) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY>())).HandlerData as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY), "::", stringify!(HandlerData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY>())).PrologEndAddress as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1() { 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::null::<_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>())) .UnwindInfoAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1), "::", stringify!(UnwindInfoAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>())).UnwindData as *const _ 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() { 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::null::<_IMAGE_RUNTIME_FUNCTION_ENTRY>())).BeginAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY), "::", stringify!(BeginAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_RUNTIME_FUNCTION_ENTRY>())).EndAddress as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY), "::", stringify!(EndAddress) ) ); } pub type _PIMAGE_RUNTIME_FUNCTION_ENTRY = *mut _IMAGE_RUNTIME_FUNCTION_ENTRY; pub type IMAGE_IA64_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY; pub type PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY = _PIMAGE_RUNTIME_FUNCTION_ENTRY; pub type IMAGE_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY; pub type PIMAGE_RUNTIME_FUNCTION_ENTRY = _PIMAGE_RUNTIME_FUNCTION_ENTRY; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _IMAGE_ENCLAVE_CONFIG32 { pub Size: DWORD, pub MinimumRequiredConfigSize: DWORD, pub PolicyFlags: DWORD, pub NumberOfImports: DWORD, pub ImportList: DWORD, pub ImportEntrySize: DWORD, pub FamilyID: [BYTE; 16usize], pub ImageID: [BYTE; 16usize], pub ImageVersion: DWORD, pub SecurityVersion: DWORD, pub EnclaveSize: DWORD, pub NumberOfThreads: DWORD, pub EnclaveFlags: DWORD, } #[test] fn bindgen_test_layout__IMAGE_ENCLAVE_CONFIG32() { 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::null::<_IMAGE_ENCLAVE_CONFIG32>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG32), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG32>())).MinimumRequiredConfigSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG32), "::", stringify!(MinimumRequiredConfigSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG32>())).PolicyFlags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG32), "::", stringify!(PolicyFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG32>())).NumberOfImports as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG32), "::", stringify!(NumberOfImports) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG32>())).ImportList as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG32), "::", stringify!(ImportList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG32>())).ImportEntrySize as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG32), "::", stringify!(ImportEntrySize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG32>())).FamilyID as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG32), "::", stringify!(FamilyID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG32>())).ImageID as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG32), "::", stringify!(ImageID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG32>())).ImageVersion as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG32), "::", stringify!(ImageVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG32>())).SecurityVersion as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG32), "::", stringify!(SecurityVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG32>())).EnclaveSize as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG32), "::", stringify!(EnclaveSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG32>())).NumberOfThreads as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG32), "::", stringify!(NumberOfThreads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG32>())).EnclaveFlags as *const _ 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() { 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::null::<_IMAGE_ENCLAVE_CONFIG64>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG64), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG64>())).MinimumRequiredConfigSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG64), "::", stringify!(MinimumRequiredConfigSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG64>())).PolicyFlags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG64), "::", stringify!(PolicyFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG64>())).NumberOfImports as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG64), "::", stringify!(NumberOfImports) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG64>())).ImportList as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG64), "::", stringify!(ImportList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG64>())).ImportEntrySize as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG64), "::", stringify!(ImportEntrySize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG64>())).FamilyID as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG64), "::", stringify!(FamilyID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG64>())).ImageID as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG64), "::", stringify!(ImageID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG64>())).ImageVersion as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG64), "::", stringify!(ImageVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG64>())).SecurityVersion as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG64), "::", stringify!(SecurityVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG64>())).EnclaveSize as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG64), "::", stringify!(EnclaveSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG64>())).NumberOfThreads as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_CONFIG64), "::", stringify!(NumberOfThreads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_CONFIG64>())).EnclaveFlags as *const _ 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() { 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::null::<_IMAGE_ENCLAVE_IMPORT>())).MatchType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_IMPORT), "::", stringify!(MatchType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_IMPORT>())).MinimumSecurityVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_IMPORT), "::", stringify!(MinimumSecurityVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_IMPORT>())).UniqueOrAuthorID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_IMPORT), "::", stringify!(UniqueOrAuthorID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_IMPORT>())).FamilyID as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_IMPORT), "::", stringify!(FamilyID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_IMPORT>())).ImageID as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_IMPORT), "::", stringify!(ImageID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_IMPORT>())).ImportName as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_IMAGE_ENCLAVE_IMPORT), "::", stringify!(ImportName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_ENCLAVE_IMPORT>())).Reserved as *const _ 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() { 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::null::<_IMAGE_DEBUG_DIRECTORY>())).Characteristics as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_DEBUG_DIRECTORY), "::", stringify!(Characteristics) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DEBUG_DIRECTORY>())).TimeDateStamp as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_DEBUG_DIRECTORY), "::", stringify!(TimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DEBUG_DIRECTORY>())).MajorVersion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_DEBUG_DIRECTORY), "::", stringify!(MajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DEBUG_DIRECTORY>())).MinorVersion as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_IMAGE_DEBUG_DIRECTORY), "::", stringify!(MinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DEBUG_DIRECTORY>())).Type as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_DEBUG_DIRECTORY), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DEBUG_DIRECTORY>())).SizeOfData as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_DEBUG_DIRECTORY), "::", stringify!(SizeOfData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DEBUG_DIRECTORY>())).AddressOfRawData as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_DEBUG_DIRECTORY), "::", stringify!(AddressOfRawData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DEBUG_DIRECTORY>())).PointerToRawData as *const _ 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() { 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::null::<_IMAGE_COFF_SYMBOLS_HEADER>())).NumberOfSymbols as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_COFF_SYMBOLS_HEADER), "::", stringify!(NumberOfSymbols) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_COFF_SYMBOLS_HEADER>())).LvaToFirstSymbol as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_COFF_SYMBOLS_HEADER), "::", stringify!(LvaToFirstSymbol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_COFF_SYMBOLS_HEADER>())).NumberOfLinenumbers as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_COFF_SYMBOLS_HEADER), "::", stringify!(NumberOfLinenumbers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_COFF_SYMBOLS_HEADER>())).LvaToFirstLinenumber as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_COFF_SYMBOLS_HEADER), "::", stringify!(LvaToFirstLinenumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_COFF_SYMBOLS_HEADER>())).RvaToFirstByteOfCode as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_COFF_SYMBOLS_HEADER), "::", stringify!(RvaToFirstByteOfCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_COFF_SYMBOLS_HEADER>())).RvaToLastByteOfCode as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_COFF_SYMBOLS_HEADER), "::", stringify!(RvaToLastByteOfCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_COFF_SYMBOLS_HEADER>())).RvaToFirstByteOfData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_COFF_SYMBOLS_HEADER), "::", stringify!(RvaToFirstByteOfData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_COFF_SYMBOLS_HEADER>())).RvaToLastByteOfData as *const _ 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_1: __BindgenBitfieldUnit<[u8; 2usize], u8>, } #[test] fn bindgen_test_layout__FPO_DATA() { 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::null::<_FPO_DATA>())).ulOffStart as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FPO_DATA), "::", stringify!(ulOffStart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FPO_DATA>())).cbProcSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FPO_DATA), "::", stringify!(cbProcSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FPO_DATA>())).cdwLocals as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FPO_DATA), "::", stringify!(cdwLocals) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FPO_DATA>())).cdwParams as *const _ 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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u8> = 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() { 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::null::<_IMAGE_DEBUG_MISC>())).DataType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_DEBUG_MISC), "::", stringify!(DataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DEBUG_MISC>())).Length as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_DEBUG_MISC), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DEBUG_MISC>())).Unicode as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_DEBUG_MISC), "::", stringify!(Unicode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DEBUG_MISC>())).Reserved as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(_IMAGE_DEBUG_MISC), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_DEBUG_MISC>())).Data as *const _ 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() { 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::null::<_IMAGE_FUNCTION_ENTRY>())).StartingAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_FUNCTION_ENTRY), "::", stringify!(StartingAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_FUNCTION_ENTRY>())).EndingAddress as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_FUNCTION_ENTRY), "::", stringify!(EndingAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_FUNCTION_ENTRY>())).EndOfPrologue as *const _ 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, _bindgen_union_align: [u32; 2usize], } #[test] fn bindgen_test_layout__IMAGE_FUNCTION_ENTRY64__bindgen_ty_1() { 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::null::<_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1>())).EndOfPrologue as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1), "::", stringify!(EndOfPrologue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1>())).UnwindInfoAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1), "::", stringify!(UnwindInfoAddress) ) ); } #[test] fn bindgen_test_layout__IMAGE_FUNCTION_ENTRY64() { 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::null::<_IMAGE_FUNCTION_ENTRY64>())).StartingAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_FUNCTION_ENTRY64), "::", stringify!(StartingAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_FUNCTION_ENTRY64>())).EndingAddress as *const _ 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() { 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::null::<_IMAGE_SEPARATE_DEBUG_HEADER>())).Signature as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), "::", stringify!(Signature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SEPARATE_DEBUG_HEADER>())).Flags as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SEPARATE_DEBUG_HEADER>())).Machine as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), "::", stringify!(Machine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SEPARATE_DEBUG_HEADER>())).Characteristics as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), "::", stringify!(Characteristics) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SEPARATE_DEBUG_HEADER>())).TimeDateStamp as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), "::", stringify!(TimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SEPARATE_DEBUG_HEADER>())).CheckSum as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), "::", stringify!(CheckSum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SEPARATE_DEBUG_HEADER>())).ImageBase as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), "::", stringify!(ImageBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SEPARATE_DEBUG_HEADER>())).SizeOfImage as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), "::", stringify!(SizeOfImage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SEPARATE_DEBUG_HEADER>())).NumberOfSections as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), "::", stringify!(NumberOfSections) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SEPARATE_DEBUG_HEADER>())).ExportedNamesSize as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), "::", stringify!(ExportedNamesSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SEPARATE_DEBUG_HEADER>())).DebugDirectorySize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), "::", stringify!(DebugDirectorySize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SEPARATE_DEBUG_HEADER>())).SectionAlignment as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), "::", stringify!(SectionAlignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_SEPARATE_DEBUG_HEADER>())).Reserved as *const _ 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() { 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::null::<_NON_PAGED_DEBUG_INFO>())).Signature as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NON_PAGED_DEBUG_INFO), "::", stringify!(Signature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NON_PAGED_DEBUG_INFO>())).Flags as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_NON_PAGED_DEBUG_INFO), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NON_PAGED_DEBUG_INFO>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NON_PAGED_DEBUG_INFO), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NON_PAGED_DEBUG_INFO>())).Machine as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NON_PAGED_DEBUG_INFO), "::", stringify!(Machine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NON_PAGED_DEBUG_INFO>())).Characteristics as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_NON_PAGED_DEBUG_INFO), "::", stringify!(Characteristics) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NON_PAGED_DEBUG_INFO>())).TimeDateStamp as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_NON_PAGED_DEBUG_INFO), "::", stringify!(TimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NON_PAGED_DEBUG_INFO>())).CheckSum as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NON_PAGED_DEBUG_INFO), "::", stringify!(CheckSum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NON_PAGED_DEBUG_INFO>())).SizeOfImage as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_NON_PAGED_DEBUG_INFO), "::", stringify!(SizeOfImage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NON_PAGED_DEBUG_INFO>())).ImageBase as *const _ 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_1: __BindgenBitfieldUnit<[u8; 4usize], u8>, pub FirstEntryRVA: DWORD, } #[test] fn bindgen_test_layout__ImageArchitectureHeader() { 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::null::<_ImageArchitectureHeader>())).FirstEntryRVA as *const _ 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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> = 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() { 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::null::<_ImageArchitectureEntry>())).FixupInstRVA as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ImageArchitectureEntry), "::", stringify!(FixupInstRVA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ImageArchitectureEntry>())).NewInst as *const _ 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_1: __BindgenBitfieldUnit<[u8; 2usize], u16>, } #[repr(C)] #[derive(Copy, Clone)] pub union IMPORT_OBJECT_HEADER__bindgen_ty_1 { pub Ordinal: WORD, pub Hint: WORD, _bindgen_union_align: u16, } #[test] fn bindgen_test_layout_IMPORT_OBJECT_HEADER__bindgen_ty_1() { 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::null::())).Ordinal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMPORT_OBJECT_HEADER__bindgen_ty_1), "::", stringify!(Ordinal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Hint as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMPORT_OBJECT_HEADER__bindgen_ty_1), "::", stringify!(Hint) ) ); } #[test] fn bindgen_test_layout_IMPORT_OBJECT_HEADER() { 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::null::())).Sig1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMPORT_OBJECT_HEADER), "::", stringify!(Sig1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Sig2 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(IMPORT_OBJECT_HEADER), "::", stringify!(Sig2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Version as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(IMPORT_OBJECT_HEADER), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Machine as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(IMPORT_OBJECT_HEADER), "::", stringify!(Machine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TimeDateStamp as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IMPORT_OBJECT_HEADER), "::", stringify!(TimeDateStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SizeOfData as *const _ 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], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u16> = 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_IMAGE_COR20_HEADER__bindgen_ty_1() { 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::null::())).EntryPointToken as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMAGE_COR20_HEADER__bindgen_ty_1), "::", stringify!(EntryPointToken) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EntryPointRVA as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMAGE_COR20_HEADER__bindgen_ty_1), "::", stringify!(EntryPointRVA) ) ); } #[test] fn bindgen_test_layout_IMAGE_COR20_HEADER() { 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::null::())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMAGE_COR20_HEADER), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MajorRuntimeVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(IMAGE_COR20_HEADER), "::", stringify!(MajorRuntimeVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinorRuntimeVersion as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(IMAGE_COR20_HEADER), "::", stringify!(MinorRuntimeVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MetaData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IMAGE_COR20_HEADER), "::", stringify!(MetaData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IMAGE_COR20_HEADER), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Resources as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IMAGE_COR20_HEADER), "::", stringify!(Resources) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).StrongNameSignature as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IMAGE_COR20_HEADER), "::", stringify!(StrongNameSignature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CodeManagerTable as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IMAGE_COR20_HEADER), "::", stringify!(CodeManagerTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).VTableFixups as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IMAGE_COR20_HEADER), "::", stringify!(VTableFixups) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ExportAddressTableJumps as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IMAGE_COR20_HEADER), "::", stringify!(ExportAddressTableJumps) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ManagedNativeHeader as *const _ 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 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() { 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::null::<_SLIST_ENTRY>())).Next as *const _ 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, _bindgen_union_align: u128, } #[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() { 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::null::<_SLIST_HEADER__bindgen_ty_1>())).Alignment as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SLIST_HEADER__bindgen_ty_1), "::", stringify!(Alignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SLIST_HEADER__bindgen_ty_1>())).Region as *const _ 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_1: __BindgenBitfieldUnit<[u8; 16usize], u64>, } #[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], u64> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize], u64> = 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() { 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::null::<_SLIST_HEADER>())).HeaderX64 as *const _ 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; } #[repr(C)] #[derive(Copy, Clone)] pub union _RTL_RUN_ONCE { pub Ptr: PVOID, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__RTL_RUN_ONCE() { 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::null::<_RTL_RUN_ONCE>())).Ptr as *const _ 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() { 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::null::<_RTL_BARRIER>())).Reserved1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RTL_BARRIER), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_BARRIER>())).Reserved2 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RTL_BARRIER), "::", stringify!(Reserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_BARRIER>())).Reserved3 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RTL_BARRIER), "::", stringify!(Reserved3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_BARRIER>())).Reserved4 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RTL_BARRIER), "::", stringify!(Reserved4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_BARRIER>())).Reserved5 as *const _ 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() { 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::null::<_MESSAGE_RESOURCE_ENTRY>())).Length as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MESSAGE_RESOURCE_ENTRY), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MESSAGE_RESOURCE_ENTRY>())).Flags as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_MESSAGE_RESOURCE_ENTRY), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MESSAGE_RESOURCE_ENTRY>())).Text as *const _ 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() { 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::null::<_MESSAGE_RESOURCE_BLOCK>())).LowId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MESSAGE_RESOURCE_BLOCK), "::", stringify!(LowId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MESSAGE_RESOURCE_BLOCK>())).HighId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_MESSAGE_RESOURCE_BLOCK), "::", stringify!(HighId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MESSAGE_RESOURCE_BLOCK>())).OffsetToEntries as *const _ 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() { 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::null::<_MESSAGE_RESOURCE_DATA>())).NumberOfBlocks as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MESSAGE_RESOURCE_DATA), "::", stringify!(NumberOfBlocks) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MESSAGE_RESOURCE_DATA>())).Blocks as *const _ 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(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() { 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::null::<_OSVERSIONINFOA>())).dwOSVersionInfoSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOA), "::", stringify!(dwOSVersionInfoSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOA>())).dwMajorVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOA), "::", stringify!(dwMajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOA>())).dwMinorVersion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOA), "::", stringify!(dwMinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOA>())).dwBuildNumber as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOA), "::", stringify!(dwBuildNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOA>())).dwPlatformId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOA), "::", stringify!(dwPlatformId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOA>())).szCSDVersion as *const _ 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(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() { 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::null::<_OSVERSIONINFOW>())).dwOSVersionInfoSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOW), "::", stringify!(dwOSVersionInfoSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOW>())).dwMajorVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOW), "::", stringify!(dwMajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOW>())).dwMinorVersion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOW), "::", stringify!(dwMinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOW>())).dwBuildNumber as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOW), "::", stringify!(dwBuildNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOW>())).dwPlatformId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOW), "::", stringify!(dwPlatformId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOW>())).szCSDVersion as *const _ 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(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() { 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::null::<_OSVERSIONINFOEXA>())).dwOSVersionInfoSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXA), "::", stringify!(dwOSVersionInfoSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXA>())).dwMajorVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXA), "::", stringify!(dwMajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXA>())).dwMinorVersion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXA), "::", stringify!(dwMinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXA>())).dwBuildNumber as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXA), "::", stringify!(dwBuildNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXA>())).dwPlatformId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXA), "::", stringify!(dwPlatformId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXA>())).szCSDVersion as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXA), "::", stringify!(szCSDVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXA>())).wServicePackMajor as *const _ as usize }, 148usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXA), "::", stringify!(wServicePackMajor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXA>())).wServicePackMinor as *const _ as usize }, 150usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXA), "::", stringify!(wServicePackMinor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXA>())).wSuiteMask as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXA), "::", stringify!(wSuiteMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXA>())).wProductType as *const _ as usize }, 154usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXA), "::", stringify!(wProductType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXA>())).wReserved as *const _ 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(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() { 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::null::<_OSVERSIONINFOEXW>())).dwOSVersionInfoSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXW), "::", stringify!(dwOSVersionInfoSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXW>())).dwMajorVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXW), "::", stringify!(dwMajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXW>())).dwMinorVersion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXW), "::", stringify!(dwMinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXW>())).dwBuildNumber as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXW), "::", stringify!(dwBuildNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXW>())).dwPlatformId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXW), "::", stringify!(dwPlatformId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXW>())).szCSDVersion as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXW), "::", stringify!(szCSDVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXW>())).wServicePackMajor as *const _ as usize }, 276usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXW), "::", stringify!(wServicePackMajor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXW>())).wServicePackMinor as *const _ as usize }, 278usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXW), "::", stringify!(wServicePackMinor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXW>())).wSuiteMask as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXW), "::", stringify!(wSuiteMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXW>())).wProductType as *const _ as usize }, 282usize, concat!( "Offset of field: ", stringify!(_OSVERSIONINFOEXW), "::", stringify!(wProductType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OSVERSIONINFOEXW>())).wReserved as *const _ 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: size_t, InitialCrc: DWORD, ) -> DWORD; } extern "C" { pub fn RtlCrc64( Buffer: *const ::std::os::raw::c_void, Size: size_t, 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() { 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::null::<_NV_MEMORY_RANGE>())).BaseAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NV_MEMORY_RANGE), "::", stringify!(BaseAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NV_MEMORY_RANGE>())).Length as *const _ 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(Copy, Clone)] pub struct CORRELATION_VECTOR { pub Version: CHAR, pub Vector: [CHAR; 129usize], } #[test] fn bindgen_test_layout_CORRELATION_VECTOR() { 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::null::())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(CORRELATION_VECTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Vector as *const _ 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() { 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::null::<_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG>())).TriggerId as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__IMAGE_POLICY_ENTRY__bindgen_ty_1() { 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::null::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>())).None as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), "::", stringify!(None) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>())).BoolValue as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), "::", stringify!(BoolValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>())).Int8Value as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), "::", stringify!(Int8Value) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>())).UInt8Value as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), "::", stringify!(UInt8Value) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>())).Int16Value as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), "::", stringify!(Int16Value) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>())).UInt16Value as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), "::", stringify!(UInt16Value) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>())).Int32Value as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), "::", stringify!(Int32Value) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>())).UInt32Value as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), "::", stringify!(UInt32Value) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>())).Int64Value as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), "::", stringify!(Int64Value) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>())).UInt64Value as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), "::", stringify!(UInt64Value) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>())).AnsiStringValue as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), "::", stringify!(AnsiStringValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>())).UnicodeStringValue as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), "::", stringify!(UnicodeStringValue) ) ); } #[test] fn bindgen_test_layout__IMAGE_POLICY_ENTRY() { 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::null::<_IMAGE_POLICY_ENTRY>())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_ENTRY), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_ENTRY>())).PolicyId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_ENTRY), "::", stringify!(PolicyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_ENTRY>())).u as *const _ 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() { 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::null::<_IMAGE_POLICY_METADATA>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_METADATA), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_METADATA>())).Reserved0 as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_METADATA), "::", stringify!(Reserved0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_METADATA>())).ApplicationId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IMAGE_POLICY_METADATA), "::", stringify!(ApplicationId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IMAGE_POLICY_METADATA>())).Policies as *const _ 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; #[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() { 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::null::<_RTL_CRITICAL_SECTION_DEBUG>())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RTL_CRITICAL_SECTION_DEBUG), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_CRITICAL_SECTION_DEBUG>())).CreatorBackTraceIndex as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_RTL_CRITICAL_SECTION_DEBUG), "::", stringify!(CreatorBackTraceIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_CRITICAL_SECTION_DEBUG>())).CriticalSection as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RTL_CRITICAL_SECTION_DEBUG), "::", stringify!(CriticalSection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_CRITICAL_SECTION_DEBUG>())).ProcessLocksList as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RTL_CRITICAL_SECTION_DEBUG), "::", stringify!(ProcessLocksList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_CRITICAL_SECTION_DEBUG>())).EntryCount as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_RTL_CRITICAL_SECTION_DEBUG), "::", stringify!(EntryCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_CRITICAL_SECTION_DEBUG>())).ContentionCount as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_RTL_CRITICAL_SECTION_DEBUG), "::", stringify!(ContentionCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_CRITICAL_SECTION_DEBUG>())).Flags as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_RTL_CRITICAL_SECTION_DEBUG), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_CRITICAL_SECTION_DEBUG>())).CreatorBackTraceIndexHigh as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_RTL_CRITICAL_SECTION_DEBUG), "::", stringify!(CreatorBackTraceIndexHigh) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_CRITICAL_SECTION_DEBUG>())).SpareWORD as *const _ 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() { 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::null::<_RTL_CRITICAL_SECTION>())).DebugInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RTL_CRITICAL_SECTION), "::", stringify!(DebugInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_CRITICAL_SECTION>())).LockCount as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RTL_CRITICAL_SECTION), "::", stringify!(LockCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_CRITICAL_SECTION>())).RecursionCount as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RTL_CRITICAL_SECTION), "::", stringify!(RecursionCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_CRITICAL_SECTION>())).OwningThread as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RTL_CRITICAL_SECTION), "::", stringify!(OwningThread) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_CRITICAL_SECTION>())).LockSemaphore as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RTL_CRITICAL_SECTION), "::", stringify!(LockSemaphore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RTL_CRITICAL_SECTION>())).SpinCount as *const _ 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() { 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::null::<_RTL_SRWLOCK>())).Ptr as *const _ 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() { 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::null::<_RTL_CONDITION_VARIABLE>())).Ptr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RTL_CONDITION_VARIABLE), "::", stringify!(Ptr) ) ); } pub type RTL_CONDITION_VARIABLE = _RTL_CONDITION_VARIABLE; pub type PRTL_CONDITION_VARIABLE = *mut _RTL_CONDITION_VARIABLE; pub type PAPCFUNC = ::std::option::Option; pub type PVECTORED_EXCEPTION_HANDLER = ::std::option::Option LONG>; pub const _HEAP_INFORMATION_CLASS_HeapCompatibilityInformation: _HEAP_INFORMATION_CLASS = 0; pub const _HEAP_INFORMATION_CLASS_HeapEnableTerminationOnCorruption: _HEAP_INFORMATION_CLASS = 1; pub const _HEAP_INFORMATION_CLASS_HeapOptimizeResources: _HEAP_INFORMATION_CLASS = 3; pub type _HEAP_INFORMATION_CLASS = ::std::os::raw::c_int; pub use self::_HEAP_INFORMATION_CLASS as HEAP_INFORMATION_CLASS; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _HEAP_OPTIMIZE_RESOURCES_INFORMATION { pub Version: DWORD, pub Flags: DWORD, } #[test] fn bindgen_test_layout__HEAP_OPTIMIZE_RESOURCES_INFORMATION() { 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::null::<_HEAP_OPTIMIZE_RESOURCES_INFORMATION>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_HEAP_OPTIMIZE_RESOURCES_INFORMATION), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HEAP_OPTIMIZE_RESOURCES_INFORMATION>())).Flags as *const _ 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() { 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::null::<_ACTIVATION_CONTEXT_QUERY_INDEX>())).ulAssemblyIndex as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_QUERY_INDEX), "::", stringify!(ulAssemblyIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_QUERY_INDEX>())).ulFileIndexInAssembly as *const _ 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() { 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::null::<_ASSEMBLY_FILE_DETAILED_INFORMATION>())).ulFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION), "::", stringify!(ulFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ASSEMBLY_FILE_DETAILED_INFORMATION>())).ulFilenameLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION), "::", stringify!(ulFilenameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ASSEMBLY_FILE_DETAILED_INFORMATION>())).ulPathLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION), "::", stringify!(ulPathLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ASSEMBLY_FILE_DETAILED_INFORMATION>())).lpFileName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION), "::", stringify!(lpFileName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ASSEMBLY_FILE_DETAILED_INFORMATION>())).lpFilePath as *const _ 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() { 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::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())).ulFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(ulFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .ulEncodedAssemblyIdentityLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(ulEncodedAssemblyIdentityLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .ulManifestPathType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(ulManifestPathType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .ulManifestPathLength as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(ulManifestPathLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .liManifestLastWriteTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(liManifestLastWriteTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .ulPolicyPathType as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(ulPolicyPathType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .ulPolicyPathLength as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(ulPolicyPathLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .liPolicyLastWriteTime as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(liPolicyLastWriteTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .ulMetadataSatelliteRosterIndex as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(ulMetadataSatelliteRosterIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .ulManifestVersionMajor as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(ulManifestVersionMajor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .ulManifestVersionMinor as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(ulManifestVersionMinor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .ulPolicyVersionMajor as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(ulPolicyVersionMajor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .ulPolicyVersionMinor as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(ulPolicyVersionMinor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .ulAssemblyDirectoryNameLength as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(ulAssemblyDirectoryNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .lpAssemblyEncodedAssemblyIdentity as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(lpAssemblyEncodedAssemblyIdentity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .lpAssemblyManifestPath as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(lpAssemblyManifestPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .lpAssemblyPolicyPath as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(lpAssemblyPolicyPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .lpAssemblyDirectoryName as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), "::", stringify!(lpAssemblyDirectoryName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>())) .ulFileCount as *const _ 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() { 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::null::<_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION>())).ulFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION), "::", stringify!(ulFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION>())).RunLevel as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION), "::", stringify!(RunLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION>())).UiAccess as *const _ 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() { 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::null::<_COMPATIBILITY_CONTEXT_ELEMENT>())).Id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_COMPATIBILITY_CONTEXT_ELEMENT), "::", stringify!(Id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMPATIBILITY_CONTEXT_ELEMENT>())).Type as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_COMPATIBILITY_CONTEXT_ELEMENT), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMPATIBILITY_CONTEXT_ELEMENT>())).MaxVersionTested as *const _ 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() { 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::null::<_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION>())).ElementCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION), "::", stringify!(ElementCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION>())).Elements as *const _ 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() { 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::null::<_SUPPORTED_OS_INFO>())).MajorVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SUPPORTED_OS_INFO), "::", stringify!(MajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SUPPORTED_OS_INFO>())).MinorVersion as *const _ 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() { 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::null::<_MAXVERSIONTESTED_INFO>())).MaxVersionTested as *const _ 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() { 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::null::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>())).dwFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>())).ulFormatVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), "::", stringify!(ulFormatVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>())).ulAssemblyCount as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), "::", stringify!(ulAssemblyCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>())) .ulRootManifestPathType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), "::", stringify!(ulRootManifestPathType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>())) .ulRootManifestPathChars as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), "::", stringify!(ulRootManifestPathChars) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>())) .ulRootConfigurationPathType as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), "::", stringify!(ulRootConfigurationPathType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>())) .ulRootConfigurationPathChars as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), "::", stringify!(ulRootConfigurationPathChars) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>())).ulAppDirPathType as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), "::", stringify!(ulAppDirPathType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>())).ulAppDirPathChars as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), "::", stringify!(ulAppDirPathChars) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>())).lpRootManifestPath as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), "::", stringify!(lpRootManifestPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>())) .lpRootConfigurationPath as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), "::", stringify!(lpRootConfigurationPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>())).lpAppDirPath as *const _ 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() { 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::null::<_HARDWARE_COUNTER_DATA>())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_HARDWARE_COUNTER_DATA), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HARDWARE_COUNTER_DATA>())).Reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_HARDWARE_COUNTER_DATA), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HARDWARE_COUNTER_DATA>())).Value as *const _ 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() { 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::null::<_PERFORMANCE_DATA>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PERFORMANCE_DATA), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERFORMANCE_DATA>())).Version as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_PERFORMANCE_DATA), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERFORMANCE_DATA>())).HwCountersCount as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(_PERFORMANCE_DATA), "::", stringify!(HwCountersCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERFORMANCE_DATA>())).ContextSwitchCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PERFORMANCE_DATA), "::", stringify!(ContextSwitchCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERFORMANCE_DATA>())).WaitReasonBitMap as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PERFORMANCE_DATA), "::", stringify!(WaitReasonBitMap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERFORMANCE_DATA>())).CycleTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PERFORMANCE_DATA), "::", stringify!(CycleTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERFORMANCE_DATA>())).RetryCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_PERFORMANCE_DATA), "::", stringify!(RetryCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERFORMANCE_DATA>())).Reserved as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_PERFORMANCE_DATA), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERFORMANCE_DATA>())).HwCounters as *const _ 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() { 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::null::<_EVENTLOGRECORD>())).Length as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EVENTLOGRECORD), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTLOGRECORD>())).Reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_EVENTLOGRECORD), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTLOGRECORD>())).RecordNumber as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_EVENTLOGRECORD), "::", stringify!(RecordNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTLOGRECORD>())).TimeGenerated as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_EVENTLOGRECORD), "::", stringify!(TimeGenerated) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTLOGRECORD>())).TimeWritten as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_EVENTLOGRECORD), "::", stringify!(TimeWritten) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTLOGRECORD>())).EventID as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_EVENTLOGRECORD), "::", stringify!(EventID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTLOGRECORD>())).EventType as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_EVENTLOGRECORD), "::", stringify!(EventType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTLOGRECORD>())).NumStrings as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(_EVENTLOGRECORD), "::", stringify!(NumStrings) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTLOGRECORD>())).EventCategory as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_EVENTLOGRECORD), "::", stringify!(EventCategory) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTLOGRECORD>())).ReservedFlags as *const _ as usize }, 30usize, concat!( "Offset of field: ", stringify!(_EVENTLOGRECORD), "::", stringify!(ReservedFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTLOGRECORD>())).ClosingRecordNumber as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_EVENTLOGRECORD), "::", stringify!(ClosingRecordNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTLOGRECORD>())).StringOffset as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_EVENTLOGRECORD), "::", stringify!(StringOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTLOGRECORD>())).UserSidLength as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_EVENTLOGRECORD), "::", stringify!(UserSidLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTLOGRECORD>())).UserSidOffset as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_EVENTLOGRECORD), "::", stringify!(UserSidOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTLOGRECORD>())).DataLength as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_EVENTLOGRECORD), "::", stringify!(DataLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTLOGRECORD>())).DataOffset as *const _ 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)] pub struct _EVENTSFORLOGFILE { pub ulSize: DWORD, pub szLogicalLogFile: [WCHAR; 256usize], pub ulNumRecords: DWORD, pub pEventLogRecords: __IncompleteArrayField, } #[test] fn bindgen_test_layout__EVENTSFORLOGFILE() { 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::null::<_EVENTSFORLOGFILE>())).ulSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EVENTSFORLOGFILE), "::", stringify!(ulSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTSFORLOGFILE>())).szLogicalLogFile as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_EVENTSFORLOGFILE), "::", stringify!(szLogicalLogFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTSFORLOGFILE>())).ulNumRecords as *const _ as usize }, 516usize, concat!( "Offset of field: ", stringify!(_EVENTSFORLOGFILE), "::", stringify!(ulNumRecords) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EVENTSFORLOGFILE>())).pEventLogRecords as *const _ 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() { 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::null::<_PACKEDEVENTINFO>())).ulSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PACKEDEVENTINFO), "::", stringify!(ulSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PACKEDEVENTINFO>())).ulNumEventsForLogFile as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PACKEDEVENTINFO), "::", stringify!(ulNumEventsForLogFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PACKEDEVENTINFO>())).ulOffsets as *const _ 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() { 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::null::<_TAPE_ERASE>())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TAPE_ERASE), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_ERASE>())).Immediate as *const _ 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() { 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::null::<_TAPE_PREPARE>())).Operation as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TAPE_PREPARE), "::", stringify!(Operation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_PREPARE>())).Immediate as *const _ 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() { 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::null::<_TAPE_WRITE_MARKS>())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TAPE_WRITE_MARKS), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_WRITE_MARKS>())).Count as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TAPE_WRITE_MARKS), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_WRITE_MARKS>())).Immediate as *const _ 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() { 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::null::<_TAPE_GET_POSITION>())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_POSITION), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_POSITION>())).Partition as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_POSITION), "::", stringify!(Partition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_POSITION>())).Offset as *const _ 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() { 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::null::<_TAPE_SET_POSITION>())).Method as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TAPE_SET_POSITION), "::", stringify!(Method) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_SET_POSITION>())).Partition as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TAPE_SET_POSITION), "::", stringify!(Partition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_SET_POSITION>())).Offset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TAPE_SET_POSITION), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_SET_POSITION>())).Immediate as *const _ 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() { 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::null::<_TAPE_GET_DRIVE_PARAMETERS>())).ECC as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_DRIVE_PARAMETERS), "::", stringify!(ECC) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_DRIVE_PARAMETERS>())).Compression as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_DRIVE_PARAMETERS), "::", stringify!(Compression) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_DRIVE_PARAMETERS>())).DataPadding as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_DRIVE_PARAMETERS), "::", stringify!(DataPadding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_DRIVE_PARAMETERS>())).ReportSetmarks as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_DRIVE_PARAMETERS), "::", stringify!(ReportSetmarks) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_DRIVE_PARAMETERS>())).DefaultBlockSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_DRIVE_PARAMETERS), "::", stringify!(DefaultBlockSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_DRIVE_PARAMETERS>())).MaximumBlockSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_DRIVE_PARAMETERS), "::", stringify!(MaximumBlockSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_DRIVE_PARAMETERS>())).MinimumBlockSize as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_DRIVE_PARAMETERS), "::", stringify!(MinimumBlockSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_DRIVE_PARAMETERS>())).MaximumPartitionCount as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_DRIVE_PARAMETERS), "::", stringify!(MaximumPartitionCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_DRIVE_PARAMETERS>())).FeaturesLow as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_DRIVE_PARAMETERS), "::", stringify!(FeaturesLow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_DRIVE_PARAMETERS>())).FeaturesHigh as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_DRIVE_PARAMETERS), "::", stringify!(FeaturesHigh) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_DRIVE_PARAMETERS>())).EOTWarningZoneSize as *const _ 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() { 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::null::<_TAPE_SET_DRIVE_PARAMETERS>())).ECC as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TAPE_SET_DRIVE_PARAMETERS), "::", stringify!(ECC) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_SET_DRIVE_PARAMETERS>())).Compression as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_TAPE_SET_DRIVE_PARAMETERS), "::", stringify!(Compression) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_SET_DRIVE_PARAMETERS>())).DataPadding as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_TAPE_SET_DRIVE_PARAMETERS), "::", stringify!(DataPadding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_SET_DRIVE_PARAMETERS>())).ReportSetmarks as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(_TAPE_SET_DRIVE_PARAMETERS), "::", stringify!(ReportSetmarks) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_SET_DRIVE_PARAMETERS>())).EOTWarningZoneSize as *const _ 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() { 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::null::<_TAPE_GET_MEDIA_PARAMETERS>())).Capacity as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_MEDIA_PARAMETERS), "::", stringify!(Capacity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_MEDIA_PARAMETERS>())).Remaining as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_MEDIA_PARAMETERS), "::", stringify!(Remaining) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_MEDIA_PARAMETERS>())).BlockSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_MEDIA_PARAMETERS), "::", stringify!(BlockSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_MEDIA_PARAMETERS>())).PartitionCount as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_TAPE_GET_MEDIA_PARAMETERS), "::", stringify!(PartitionCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_GET_MEDIA_PARAMETERS>())).WriteProtected as *const _ 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() { 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::null::<_TAPE_SET_MEDIA_PARAMETERS>())).BlockSize as *const _ 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() { 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::null::<_TAPE_CREATE_PARTITION>())).Method as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TAPE_CREATE_PARTITION), "::", stringify!(Method) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_CREATE_PARTITION>())).Count as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TAPE_CREATE_PARTITION), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_CREATE_PARTITION>())).Size as *const _ 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() { 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::null::<_TAPE_WMI_OPERATIONS>())).Method as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TAPE_WMI_OPERATIONS), "::", stringify!(Method) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_WMI_OPERATIONS>())).DataBufferSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TAPE_WMI_OPERATIONS), "::", stringify!(DataBufferSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_WMI_OPERATIONS>())).DataBuffer as *const _ 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() { 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::null::<_TRANSACTION_NOTIFICATION>())).TransactionKey as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_NOTIFICATION), "::", stringify!(TransactionKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_NOTIFICATION>())).TransactionNotification as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_NOTIFICATION), "::", stringify!(TransactionNotification) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_NOTIFICATION>())).TmVirtualClock as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_NOTIFICATION), "::", stringify!(TmVirtualClock) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_NOTIFICATION>())).ArgumentLength as *const _ 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() { 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::null::<_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT>())).EnlistmentId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT), "::", stringify!(EnlistmentId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT>())).UOW as *const _ 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() { 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::null::<_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT>())).TmIdentity as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT), "::", stringify!(TmIdentity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT>())).Flags as *const _ 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() { 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::null::<_TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT>())).SavepointId as *const _ 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() { 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::null::<_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT>())) .PropagationCookie as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT), "::", stringify!(PropagationCookie) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT>())).UOW as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT), "::", stringify!(UOW) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT>())).TmIdentity as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT), "::", stringify!(TmIdentity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT>())).BufferLength as *const _ 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() { 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::null::<_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT>())).MarshalCookie as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT), "::", stringify!(MarshalCookie) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT>())).UOW as *const _ 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() { 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::null::<_KCRM_MARSHAL_HEADER>())).VersionMajor as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_KCRM_MARSHAL_HEADER), "::", stringify!(VersionMajor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KCRM_MARSHAL_HEADER>())).VersionMinor as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_KCRM_MARSHAL_HEADER), "::", stringify!(VersionMinor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KCRM_MARSHAL_HEADER>())).NumProtocols as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_KCRM_MARSHAL_HEADER), "::", stringify!(NumProtocols) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KCRM_MARSHAL_HEADER>())).Unused as *const _ 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(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() { 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::null::<_KCRM_TRANSACTION_BLOB>())).UOW as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_KCRM_TRANSACTION_BLOB), "::", stringify!(UOW) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KCRM_TRANSACTION_BLOB>())).TmIdentity as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_KCRM_TRANSACTION_BLOB), "::", stringify!(TmIdentity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KCRM_TRANSACTION_BLOB>())).IsolationLevel as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_KCRM_TRANSACTION_BLOB), "::", stringify!(IsolationLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KCRM_TRANSACTION_BLOB>())).IsolationFlags as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_KCRM_TRANSACTION_BLOB), "::", stringify!(IsolationFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KCRM_TRANSACTION_BLOB>())).Timeout as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_KCRM_TRANSACTION_BLOB), "::", stringify!(Timeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KCRM_TRANSACTION_BLOB>())).Description as *const _ 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() { 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::null::<_KCRM_PROTOCOL_BLOB>())).ProtocolId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_KCRM_PROTOCOL_BLOB), "::", stringify!(ProtocolId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KCRM_PROTOCOL_BLOB>())).StaticInfoLength as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_KCRM_PROTOCOL_BLOB), "::", stringify!(StaticInfoLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KCRM_PROTOCOL_BLOB>())).TransactionIdInfoLength as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_KCRM_PROTOCOL_BLOB), "::", stringify!(TransactionIdInfoLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KCRM_PROTOCOL_BLOB>())).Unused1 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_KCRM_PROTOCOL_BLOB), "::", stringify!(Unused1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KCRM_PROTOCOL_BLOB>())).Unused2 as *const _ 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() { 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::null::<_TRANSACTION_BASIC_INFORMATION>())).TransactionId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_BASIC_INFORMATION), "::", stringify!(TransactionId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_BASIC_INFORMATION>())).State as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_BASIC_INFORMATION), "::", stringify!(State) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_BASIC_INFORMATION>())).Outcome as *const _ 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() { 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::null::<_TRANSACTIONMANAGER_BASIC_INFORMATION>())).TmIdentity as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TRANSACTIONMANAGER_BASIC_INFORMATION), "::", stringify!(TmIdentity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTIONMANAGER_BASIC_INFORMATION>())).VirtualClock as *const _ 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() { 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::null::<_TRANSACTIONMANAGER_LOG_INFORMATION>())).LogIdentity as *const _ 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() { 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::null::<_TRANSACTIONMANAGER_LOGPATH_INFORMATION>())).LogPathLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TRANSACTIONMANAGER_LOGPATH_INFORMATION), "::", stringify!(LogPathLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTIONMANAGER_LOGPATH_INFORMATION>())).LogPath as *const _ 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() { 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::null::<_TRANSACTIONMANAGER_RECOVERY_INFORMATION>())).LastRecoveredLsn as *const _ 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() { 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::null::<_TRANSACTIONMANAGER_OLDEST_INFORMATION>())).OldestTransactionGuid as *const _ 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() { 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::null::<_TRANSACTION_PROPERTIES_INFORMATION>())).IsolationLevel as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_PROPERTIES_INFORMATION), "::", stringify!(IsolationLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_PROPERTIES_INFORMATION>())).IsolationFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_PROPERTIES_INFORMATION), "::", stringify!(IsolationFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_PROPERTIES_INFORMATION>())).Timeout as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_PROPERTIES_INFORMATION), "::", stringify!(Timeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_PROPERTIES_INFORMATION>())).Outcome as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_PROPERTIES_INFORMATION), "::", stringify!(Outcome) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_PROPERTIES_INFORMATION>())).DescriptionLength as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_PROPERTIES_INFORMATION), "::", stringify!(DescriptionLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_PROPERTIES_INFORMATION>())).Description as *const _ 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() { 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::null::<_TRANSACTION_BIND_INFORMATION>())).TmHandle as *const _ 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() { 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::null::<_TRANSACTION_ENLISTMENT_PAIR>())).EnlistmentId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_ENLISTMENT_PAIR), "::", stringify!(EnlistmentId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_ENLISTMENT_PAIR>())).ResourceManagerId as *const _ 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() { 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::null::<_TRANSACTION_ENLISTMENTS_INFORMATION>())).NumberOfEnlistments as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_ENLISTMENTS_INFORMATION), "::", stringify!(NumberOfEnlistments) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_ENLISTMENTS_INFORMATION>())).EnlistmentPair as *const _ 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() { 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::null::<_TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION>())) .SuperiorEnlistmentPair as *const _ 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() { 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::null::<_RESOURCEMANAGER_BASIC_INFORMATION>())).ResourceManagerId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RESOURCEMANAGER_BASIC_INFORMATION), "::", stringify!(ResourceManagerId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RESOURCEMANAGER_BASIC_INFORMATION>())).DescriptionLength as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RESOURCEMANAGER_BASIC_INFORMATION), "::", stringify!(DescriptionLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RESOURCEMANAGER_BASIC_INFORMATION>())).Description as *const _ 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() { 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::null::<_RESOURCEMANAGER_COMPLETION_INFORMATION>())) .IoCompletionPortHandle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RESOURCEMANAGER_COMPLETION_INFORMATION), "::", stringify!(IoCompletionPortHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RESOURCEMANAGER_COMPLETION_INFORMATION>())).CompletionKey as *const _ 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() { 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::null::<_ENLISTMENT_BASIC_INFORMATION>())).EnlistmentId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENLISTMENT_BASIC_INFORMATION), "::", stringify!(EnlistmentId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENLISTMENT_BASIC_INFORMATION>())).TransactionId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_ENLISTMENT_BASIC_INFORMATION), "::", stringify!(TransactionId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENLISTMENT_BASIC_INFORMATION>())).ResourceManagerId as *const _ 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() { 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::null::<_ENLISTMENT_CRM_INFORMATION>())).CrmTransactionManagerId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENLISTMENT_CRM_INFORMATION), "::", stringify!(CrmTransactionManagerId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENLISTMENT_CRM_INFORMATION>())).CrmResourceManagerId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_ENLISTMENT_CRM_INFORMATION), "::", stringify!(CrmResourceManagerId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENLISTMENT_CRM_INFORMATION>())).CrmEnlistmentId as *const _ 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() { 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::null::<_TRANSACTION_LIST_ENTRY>())).UOW as *const _ 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() { 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::null::<_TRANSACTION_LIST_INFORMATION>())).NumberOfTransactions as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TRANSACTION_LIST_INFORMATION), "::", stringify!(NumberOfTransactions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRANSACTION_LIST_INFORMATION>())).TransactionInformation as *const _ 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() { 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::null::<_KTMOBJECT_CURSOR>())).LastQuery as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_KTMOBJECT_CURSOR), "::", stringify!(LastQuery) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KTMOBJECT_CURSOR>())).ObjectIdCount as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_KTMOBJECT_CURSOR), "::", stringify!(ObjectIdCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KTMOBJECT_CURSOR>())).ObjectIds as *const _ 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() { 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::null::<_TP_POOL_STACK_INFORMATION>())).StackReserve as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TP_POOL_STACK_INFORMATION), "::", stringify!(StackReserve) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TP_POOL_STACK_INFORMATION>())).StackCommit as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1>())).s as *const _ 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() { 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::null::<_TP_CALLBACK_ENVIRON_V3>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TP_CALLBACK_ENVIRON_V3), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TP_CALLBACK_ENVIRON_V3>())).Pool as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TP_CALLBACK_ENVIRON_V3), "::", stringify!(Pool) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TP_CALLBACK_ENVIRON_V3>())).CleanupGroup as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TP_CALLBACK_ENVIRON_V3), "::", stringify!(CleanupGroup) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TP_CALLBACK_ENVIRON_V3>())).CleanupGroupCancelCallback as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_TP_CALLBACK_ENVIRON_V3), "::", stringify!(CleanupGroupCancelCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TP_CALLBACK_ENVIRON_V3>())).RaceDll as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_TP_CALLBACK_ENVIRON_V3), "::", stringify!(RaceDll) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TP_CALLBACK_ENVIRON_V3>())).ActivationContext as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_TP_CALLBACK_ENVIRON_V3), "::", stringify!(ActivationContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TP_CALLBACK_ENVIRON_V3>())).FinalizationCallback as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_TP_CALLBACK_ENVIRON_V3), "::", stringify!(FinalizationCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TP_CALLBACK_ENVIRON_V3>())).u as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_TP_CALLBACK_ENVIRON_V3), "::", stringify!(u) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TP_CALLBACK_ENVIRON_V3>())).CallbackPriority as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_TP_CALLBACK_ENVIRON_V3), "::", stringify!(CallbackPriority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TP_CALLBACK_ENVIRON_V3>())).Size as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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() { 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::null::<_FILETIME>())).dwLowDateTime as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILETIME), "::", stringify!(dwLowDateTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILETIME>())).dwHighDateTime as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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() { 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::null::())).left as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRECT), "::", stringify!(left) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).top as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRECT), "::", stringify!(top) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).right as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRECT), "::", stringify!(right) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bottom as *const _ 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() { 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::null::<_RECTL>())).left as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RECTL), "::", stringify!(left) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RECTL>())).top as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RECTL), "::", stringify!(top) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RECTL>())).right as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RECTL), "::", stringify!(right) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RECTL>())).bottom as *const _ 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() { 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::null::())).x as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPOINT), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ 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() { 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::null::<_POINTL>())).x as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_POINTL), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_POINTL>())).y as *const _ 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() { 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::null::())).cx as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSIZE), "::", stringify!(cx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cy as *const _ 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() { 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::null::())).x as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPOINTS), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ 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 DPI_AWARENESS_CONTEXT__ { pub unused: ::std::os::raw::c_int, } #[test] fn bindgen_test_layout_DPI_AWARENESS_CONTEXT__() { 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::null::())).unused as *const _ 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() { 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::null::<_SECURITY_ATTRIBUTES>())).nLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SECURITY_ATTRIBUTES), "::", stringify!(nLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_ATTRIBUTES>())).lpSecurityDescriptor as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SECURITY_ATTRIBUTES), "::", stringify!(lpSecurityDescriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SECURITY_ATTRIBUTES>())).bInheritHandle as *const _ 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, _bindgen_union_align: u64, } #[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() { 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::null::<_OVERLAPPED__bindgen_ty_1__bindgen_ty_1>())).Offset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OVERLAPPED__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OVERLAPPED__bindgen_ty_1__bindgen_ty_1>())).OffsetHigh as *const _ 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() { 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::null::<_OVERLAPPED__bindgen_ty_1>())).Pointer as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OVERLAPPED__bindgen_ty_1), "::", stringify!(Pointer) ) ); } #[test] fn bindgen_test_layout__OVERLAPPED() { 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::null::<_OVERLAPPED>())).Internal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OVERLAPPED), "::", stringify!(Internal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OVERLAPPED>())).InternalHigh as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_OVERLAPPED), "::", stringify!(InternalHigh) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OVERLAPPED>())).hEvent as *const _ 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() { 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::null::<_OVERLAPPED_ENTRY>())).lpCompletionKey as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OVERLAPPED_ENTRY), "::", stringify!(lpCompletionKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OVERLAPPED_ENTRY>())).lpOverlapped as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_OVERLAPPED_ENTRY), "::", stringify!(lpOverlapped) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OVERLAPPED_ENTRY>())).Internal as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_OVERLAPPED_ENTRY), "::", stringify!(Internal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OVERLAPPED_ENTRY>())).dwNumberOfBytesTransferred as *const _ 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() { 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::null::<_SYSTEMTIME>())).wYear as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEMTIME), "::", stringify!(wYear) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEMTIME>())).wMonth as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_SYSTEMTIME), "::", stringify!(wMonth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEMTIME>())).wDayOfWeek as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEMTIME), "::", stringify!(wDayOfWeek) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEMTIME>())).wDay as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_SYSTEMTIME), "::", stringify!(wDay) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEMTIME>())).wHour as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SYSTEMTIME), "::", stringify!(wHour) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEMTIME>())).wMinute as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_SYSTEMTIME), "::", stringify!(wMinute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEMTIME>())).wSecond as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SYSTEMTIME), "::", stringify!(wSecond) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEMTIME>())).wMilliseconds as *const _ 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(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() { 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::null::<_WIN32_FIND_DATAA>())).dwFileAttributes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAA), "::", stringify!(dwFileAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAA>())).ftCreationTime as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAA), "::", stringify!(ftCreationTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAA>())).ftLastAccessTime as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAA), "::", stringify!(ftLastAccessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAA>())).ftLastWriteTime as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAA), "::", stringify!(ftLastWriteTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAA>())).nFileSizeHigh as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAA), "::", stringify!(nFileSizeHigh) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAA>())).nFileSizeLow as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAA), "::", stringify!(nFileSizeLow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAA>())).dwReserved0 as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAA), "::", stringify!(dwReserved0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAA>())).dwReserved1 as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAA), "::", stringify!(dwReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAA>())).cFileName as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAA), "::", stringify!(cFileName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAA>())).cAlternateFileName as *const _ 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(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() { 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::null::<_WIN32_FIND_DATAW>())).dwFileAttributes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAW), "::", stringify!(dwFileAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAW>())).ftCreationTime as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAW), "::", stringify!(ftCreationTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAW>())).ftLastAccessTime as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAW), "::", stringify!(ftLastAccessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAW>())).ftLastWriteTime as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAW), "::", stringify!(ftLastWriteTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAW>())).nFileSizeHigh as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAW), "::", stringify!(nFileSizeHigh) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAW>())).nFileSizeLow as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAW), "::", stringify!(nFileSizeLow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAW>())).dwReserved0 as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAW), "::", stringify!(dwReserved0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAW>())).dwReserved1 as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAW), "::", stringify!(dwReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAW>())).cFileName as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_DATAW), "::", stringify!(cFileName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_DATAW>())).cAlternateFileName as *const _ 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, _bindgen_union_align: [u64; 3usize], } #[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() { 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::null::<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1>())).hMem as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1), "::", stringify!(hMem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1>())).dwReserved as *const _ 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() { 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::null::<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2>())) .dwCommittedSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2), "::", stringify!(dwCommittedSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2>())) .dwUnCommittedSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2), "::", stringify!(dwUnCommittedSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2>())).lpFirstBlock as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2), "::", stringify!(lpFirstBlock) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2>())).lpLastBlock as *const _ 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() { 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::null::<_PROCESS_HEAP_ENTRY__bindgen_ty_1>())).Block as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1), "::", stringify!(Block) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_HEAP_ENTRY__bindgen_ty_1>())).Region as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1), "::", stringify!(Region) ) ); } #[test] fn bindgen_test_layout__PROCESS_HEAP_ENTRY() { 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::null::<_PROCESS_HEAP_ENTRY>())).lpData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROCESS_HEAP_ENTRY), "::", stringify!(lpData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_HEAP_ENTRY>())).cbData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROCESS_HEAP_ENTRY), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_HEAP_ENTRY>())).cbOverhead as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PROCESS_HEAP_ENTRY), "::", stringify!(cbOverhead) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_HEAP_ENTRY>())).iRegionIndex as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(_PROCESS_HEAP_ENTRY), "::", stringify!(iRegionIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_HEAP_ENTRY>())).wFlags as *const _ 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, _bindgen_union_align: [u64; 3usize], } #[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() { 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::null::<_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1>())) .LocalizedReasonModule as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(LocalizedReasonModule) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1>())) .LocalizedReasonId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(LocalizedReasonId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1>())) .ReasonStringCount as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(ReasonStringCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1>())).ReasonStrings as *const _ 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() { 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::null::<_REASON_CONTEXT__bindgen_ty_1>())).Detailed as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REASON_CONTEXT__bindgen_ty_1), "::", stringify!(Detailed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REASON_CONTEXT__bindgen_ty_1>())).SimpleReasonString as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REASON_CONTEXT__bindgen_ty_1), "::", stringify!(SimpleReasonString) ) ); } #[test] fn bindgen_test_layout__REASON_CONTEXT() { 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::null::<_REASON_CONTEXT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REASON_CONTEXT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REASON_CONTEXT>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_REASON_CONTEXT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REASON_CONTEXT>())).Reason as *const _ 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() { 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::null::<_EXCEPTION_DEBUG_INFO>())).ExceptionRecord as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EXCEPTION_DEBUG_INFO), "::", stringify!(ExceptionRecord) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXCEPTION_DEBUG_INFO>())).dwFirstChance as *const _ 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() { 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::null::<_CREATE_THREAD_DEBUG_INFO>())).hThread as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CREATE_THREAD_DEBUG_INFO), "::", stringify!(hThread) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATE_THREAD_DEBUG_INFO>())).lpThreadLocalBase as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CREATE_THREAD_DEBUG_INFO), "::", stringify!(lpThreadLocalBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATE_THREAD_DEBUG_INFO>())).lpStartAddress as *const _ 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() { 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::null::<_CREATE_PROCESS_DEBUG_INFO>())).hFile as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CREATE_PROCESS_DEBUG_INFO), "::", stringify!(hFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATE_PROCESS_DEBUG_INFO>())).hProcess as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CREATE_PROCESS_DEBUG_INFO), "::", stringify!(hProcess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATE_PROCESS_DEBUG_INFO>())).hThread as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CREATE_PROCESS_DEBUG_INFO), "::", stringify!(hThread) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATE_PROCESS_DEBUG_INFO>())).lpBaseOfImage as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CREATE_PROCESS_DEBUG_INFO), "::", stringify!(lpBaseOfImage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATE_PROCESS_DEBUG_INFO>())).dwDebugInfoFileOffset as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CREATE_PROCESS_DEBUG_INFO), "::", stringify!(dwDebugInfoFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATE_PROCESS_DEBUG_INFO>())).nDebugInfoSize as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_CREATE_PROCESS_DEBUG_INFO), "::", stringify!(nDebugInfoSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATE_PROCESS_DEBUG_INFO>())).lpThreadLocalBase as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CREATE_PROCESS_DEBUG_INFO), "::", stringify!(lpThreadLocalBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATE_PROCESS_DEBUG_INFO>())).lpStartAddress as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CREATE_PROCESS_DEBUG_INFO), "::", stringify!(lpStartAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATE_PROCESS_DEBUG_INFO>())).lpImageName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_CREATE_PROCESS_DEBUG_INFO), "::", stringify!(lpImageName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATE_PROCESS_DEBUG_INFO>())).fUnicode as *const _ 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() { 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::null::<_EXIT_THREAD_DEBUG_INFO>())).dwExitCode as *const _ 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() { 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::null::<_EXIT_PROCESS_DEBUG_INFO>())).dwExitCode as *const _ 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() { 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::null::<_LOAD_DLL_DEBUG_INFO>())).hFile as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LOAD_DLL_DEBUG_INFO), "::", stringify!(hFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LOAD_DLL_DEBUG_INFO>())).lpBaseOfDll as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_LOAD_DLL_DEBUG_INFO), "::", stringify!(lpBaseOfDll) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LOAD_DLL_DEBUG_INFO>())).dwDebugInfoFileOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_LOAD_DLL_DEBUG_INFO), "::", stringify!(dwDebugInfoFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LOAD_DLL_DEBUG_INFO>())).nDebugInfoSize as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_LOAD_DLL_DEBUG_INFO), "::", stringify!(nDebugInfoSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LOAD_DLL_DEBUG_INFO>())).lpImageName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_LOAD_DLL_DEBUG_INFO), "::", stringify!(lpImageName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LOAD_DLL_DEBUG_INFO>())).fUnicode as *const _ 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() { 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::null::<_UNLOAD_DLL_DEBUG_INFO>())).lpBaseOfDll as *const _ 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() { 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::null::<_OUTPUT_DEBUG_STRING_INFO>())).lpDebugStringData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OUTPUT_DEBUG_STRING_INFO), "::", stringify!(lpDebugStringData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTPUT_DEBUG_STRING_INFO>())).fUnicode as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_OUTPUT_DEBUG_STRING_INFO), "::", stringify!(fUnicode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTPUT_DEBUG_STRING_INFO>())).nDebugStringLength as *const _ 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() { 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::null::<_RIP_INFO>())).dwError as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RIP_INFO), "::", stringify!(dwError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RIP_INFO>())).dwType as *const _ 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, _bindgen_union_align: [u64; 20usize], } #[test] fn bindgen_test_layout__DEBUG_EVENT__bindgen_ty_1() { 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::null::<_DEBUG_EVENT__bindgen_ty_1>())).Exception as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEBUG_EVENT__bindgen_ty_1), "::", stringify!(Exception) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEBUG_EVENT__bindgen_ty_1>())).CreateThread as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEBUG_EVENT__bindgen_ty_1), "::", stringify!(CreateThread) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEBUG_EVENT__bindgen_ty_1>())).CreateProcessInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEBUG_EVENT__bindgen_ty_1), "::", stringify!(CreateProcessInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEBUG_EVENT__bindgen_ty_1>())).ExitThread as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEBUG_EVENT__bindgen_ty_1), "::", stringify!(ExitThread) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEBUG_EVENT__bindgen_ty_1>())).ExitProcess as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEBUG_EVENT__bindgen_ty_1), "::", stringify!(ExitProcess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEBUG_EVENT__bindgen_ty_1>())).LoadDll as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEBUG_EVENT__bindgen_ty_1), "::", stringify!(LoadDll) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEBUG_EVENT__bindgen_ty_1>())).UnloadDll as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEBUG_EVENT__bindgen_ty_1), "::", stringify!(UnloadDll) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEBUG_EVENT__bindgen_ty_1>())).DebugString as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEBUG_EVENT__bindgen_ty_1), "::", stringify!(DebugString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEBUG_EVENT__bindgen_ty_1>())).RipInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEBUG_EVENT__bindgen_ty_1), "::", stringify!(RipInfo) ) ); } #[test] fn bindgen_test_layout__DEBUG_EVENT() { 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::null::<_DEBUG_EVENT>())).dwDebugEventCode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEBUG_EVENT), "::", stringify!(dwDebugEventCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEBUG_EVENT>())).dwProcessId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEBUG_EVENT), "::", stringify!(dwProcessId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEBUG_EVENT>())).dwThreadId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEBUG_EVENT), "::", stringify!(dwThreadId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEBUG_EVENT>())).u as *const _ 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() { 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::null::())).ActualTotalAllocationUnits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISK_SPACE_INFORMATION), "::", stringify!(ActualTotalAllocationUnits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ActualAvailableAllocationUnits as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(DISK_SPACE_INFORMATION), "::", stringify!(ActualAvailableAllocationUnits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ActualPoolUnavailableAllocationUnits as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(DISK_SPACE_INFORMATION), "::", stringify!(ActualPoolUnavailableAllocationUnits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CallerTotalAllocationUnits as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(DISK_SPACE_INFORMATION), "::", stringify!(CallerTotalAllocationUnits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CallerAvailableAllocationUnits as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(DISK_SPACE_INFORMATION), "::", stringify!(CallerAvailableAllocationUnits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CallerPoolUnavailableAllocationUnits as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(DISK_SPACE_INFORMATION), "::", stringify!(CallerPoolUnavailableAllocationUnits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UsedAllocationUnits as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(DISK_SPACE_INFORMATION), "::", stringify!(UsedAllocationUnits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TotalReservedAllocationUnits as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(DISK_SPACE_INFORMATION), "::", stringify!(TotalReservedAllocationUnits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).VolumeStorageReserveAllocationUnits as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(DISK_SPACE_INFORMATION), "::", stringify!(VolumeStorageReserveAllocationUnits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AvailableCommittedAllocationUnits as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(DISK_SPACE_INFORMATION), "::", stringify!(AvailableCommittedAllocationUnits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PoolAvailableAllocationUnits as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(DISK_SPACE_INFORMATION), "::", stringify!(PoolAvailableAllocationUnits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SectorsPerAllocationUnit as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(DISK_SPACE_INFORMATION), "::", stringify!(SectorsPerAllocationUnit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BytesPerSector as *const _ 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() { 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::null::<_WIN32_FILE_ATTRIBUTE_DATA>())).dwFileAttributes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WIN32_FILE_ATTRIBUTE_DATA), "::", stringify!(dwFileAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FILE_ATTRIBUTE_DATA>())).ftCreationTime as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_WIN32_FILE_ATTRIBUTE_DATA), "::", stringify!(ftCreationTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FILE_ATTRIBUTE_DATA>())).ftLastAccessTime as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_WIN32_FILE_ATTRIBUTE_DATA), "::", stringify!(ftLastAccessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FILE_ATTRIBUTE_DATA>())).ftLastWriteTime as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_WIN32_FILE_ATTRIBUTE_DATA), "::", stringify!(ftLastWriteTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FILE_ATTRIBUTE_DATA>())).nFileSizeHigh as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_WIN32_FILE_ATTRIBUTE_DATA), "::", stringify!(nFileSizeHigh) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FILE_ATTRIBUTE_DATA>())).nFileSizeLow as *const _ 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() { 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::null::<_BY_HANDLE_FILE_INFORMATION>())).dwFileAttributes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BY_HANDLE_FILE_INFORMATION), "::", stringify!(dwFileAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BY_HANDLE_FILE_INFORMATION>())).ftCreationTime as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BY_HANDLE_FILE_INFORMATION), "::", stringify!(ftCreationTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BY_HANDLE_FILE_INFORMATION>())).ftLastAccessTime as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_BY_HANDLE_FILE_INFORMATION), "::", stringify!(ftLastAccessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BY_HANDLE_FILE_INFORMATION>())).ftLastWriteTime as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_BY_HANDLE_FILE_INFORMATION), "::", stringify!(ftLastWriteTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BY_HANDLE_FILE_INFORMATION>())).dwVolumeSerialNumber as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_BY_HANDLE_FILE_INFORMATION), "::", stringify!(dwVolumeSerialNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BY_HANDLE_FILE_INFORMATION>())).nFileSizeHigh as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_BY_HANDLE_FILE_INFORMATION), "::", stringify!(nFileSizeHigh) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BY_HANDLE_FILE_INFORMATION>())).nFileSizeLow as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_BY_HANDLE_FILE_INFORMATION), "::", stringify!(nFileSizeLow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BY_HANDLE_FILE_INFORMATION>())).nNumberOfLinks as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_BY_HANDLE_FILE_INFORMATION), "::", stringify!(nNumberOfLinks) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BY_HANDLE_FILE_INFORMATION>())).nFileIndexHigh as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_BY_HANDLE_FILE_INFORMATION), "::", stringify!(nFileIndexHigh) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BY_HANDLE_FILE_INFORMATION>())).nFileIndexLow as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_BY_HANDLE_FILE_INFORMATION), "::", stringify!(nFileIndexLow) ) ); } pub type BY_HANDLE_FILE_INFORMATION = _BY_HANDLE_FILE_INFORMATION; pub type PBY_HANDLE_FILE_INFORMATION = *mut _BY_HANDLE_FILE_INFORMATION; pub type LPBY_HANDLE_FILE_INFORMATION = *mut _BY_HANDLE_FILE_INFORMATION; extern "C" { pub fn GetFileInformationByHandle( hFile: HANDLE, lpFileInformation: LPBY_HANDLE_FILE_INFORMATION, ) -> BOOL; } extern "C" { pub fn GetFileSize(hFile: HANDLE, lpFileSizeHigh: LPDWORD) -> DWORD; } extern "C" { pub fn GetFileSizeEx(hFile: HANDLE, lpFileSize: PLARGE_INTEGER) -> BOOL; } extern "C" { pub fn GetFileType(hFile: HANDLE) -> DWORD; } extern "C" { pub fn GetFinalPathNameByHandleA( hFile: HANDLE, lpszFilePath: LPSTR, cchFilePath: DWORD, dwFlags: DWORD, ) -> DWORD; } extern "C" { pub fn GetFinalPathNameByHandleW( hFile: HANDLE, lpszFilePath: LPWSTR, cchFilePath: DWORD, dwFlags: DWORD, ) -> DWORD; } extern "C" { pub fn GetFileTime( hFile: HANDLE, lpCreationTime: LPFILETIME, lpLastAccessTime: LPFILETIME, lpLastWriteTime: LPFILETIME, ) -> BOOL; } extern "C" { pub fn GetFullPathNameW( lpFileName: LPCWSTR, nBufferLength: DWORD, lpBuffer: LPWSTR, lpFilePart: *mut LPWSTR, ) -> DWORD; } extern "C" { pub fn GetFullPathNameA( lpFileName: LPCSTR, nBufferLength: DWORD, lpBuffer: LPSTR, lpFilePart: *mut LPSTR, ) -> DWORD; } extern "C" { pub fn GetLogicalDrives() -> DWORD; } extern "C" { pub fn GetLogicalDriveStringsW(nBufferLength: DWORD, lpBuffer: LPWSTR) -> DWORD; } extern "C" { pub fn GetLongPathNameA(lpszShortPath: LPCSTR, lpszLongPath: LPSTR, cchBuffer: DWORD) -> DWORD; } extern "C" { pub fn GetLongPathNameW( lpszShortPath: LPCWSTR, lpszLongPath: LPWSTR, cchBuffer: DWORD, ) -> DWORD; } extern "C" { pub fn GetShortPathNameW( lpszLongPath: LPCWSTR, lpszShortPath: LPWSTR, cchBuffer: DWORD, ) -> DWORD; } extern "C" { pub fn GetTempFileNameW( lpPathName: LPCWSTR, lpPrefixString: LPCWSTR, uUnique: UINT, lpTempFileName: LPWSTR, ) -> UINT; } extern "C" { pub fn GetVolumeInformationByHandleW( hFile: HANDLE, lpVolumeNameBuffer: LPWSTR, nVolumeNameSize: DWORD, lpVolumeSerialNumber: LPDWORD, lpMaximumComponentLength: LPDWORD, lpFileSystemFlags: LPDWORD, lpFileSystemNameBuffer: LPWSTR, nFileSystemNameSize: DWORD, ) -> BOOL; } extern "C" { pub fn GetVolumeInformationW( lpRootPathName: LPCWSTR, lpVolumeNameBuffer: LPWSTR, nVolumeNameSize: DWORD, lpVolumeSerialNumber: LPDWORD, lpMaximumComponentLength: LPDWORD, lpFileSystemFlags: LPDWORD, lpFileSystemNameBuffer: LPWSTR, nFileSystemNameSize: DWORD, ) -> BOOL; } extern "C" { pub fn GetVolumePathNameW( lpszFileName: LPCWSTR, lpszVolumePathName: LPWSTR, cchBufferLength: DWORD, ) -> BOOL; } extern "C" { pub fn LocalFileTimeToFileTime( lpLocalFileTime: *const FILETIME, lpFileTime: LPFILETIME, ) -> BOOL; } extern "C" { pub fn LockFile( hFile: HANDLE, dwFileOffsetLow: DWORD, dwFileOffsetHigh: DWORD, nNumberOfBytesToLockLow: DWORD, nNumberOfBytesToLockHigh: DWORD, ) -> BOOL; } extern "C" { pub fn LockFileEx( hFile: HANDLE, dwFlags: DWORD, dwReserved: DWORD, nNumberOfBytesToLockLow: DWORD, nNumberOfBytesToLockHigh: DWORD, lpOverlapped: LPOVERLAPPED, ) -> BOOL; } extern "C" { pub fn QueryDosDeviceW(lpDeviceName: LPCWSTR, lpTargetPath: LPWSTR, ucchMax: DWORD) -> DWORD; } extern "C" { pub fn ReadFile( hFile: HANDLE, lpBuffer: LPVOID, nNumberOfBytesToRead: DWORD, lpNumberOfBytesRead: LPDWORD, lpOverlapped: LPOVERLAPPED, ) -> BOOL; } extern "C" { pub fn ReadFileEx( hFile: HANDLE, lpBuffer: LPVOID, nNumberOfBytesToRead: DWORD, lpOverlapped: LPOVERLAPPED, lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, ) -> BOOL; } extern "C" { pub fn ReadFileScatter( hFile: HANDLE, aSegmentArray: *mut FILE_SEGMENT_ELEMENT, nNumberOfBytesToRead: DWORD, lpReserved: LPDWORD, lpOverlapped: LPOVERLAPPED, ) -> BOOL; } extern "C" { pub fn RemoveDirectoryA(lpPathName: LPCSTR) -> BOOL; } extern "C" { pub fn RemoveDirectoryW(lpPathName: LPCWSTR) -> BOOL; } extern "C" { pub fn SetEndOfFile(hFile: HANDLE) -> BOOL; } extern "C" { pub fn SetFileAttributesA(lpFileName: LPCSTR, dwFileAttributes: DWORD) -> BOOL; } extern "C" { pub fn SetFileAttributesW(lpFileName: LPCWSTR, dwFileAttributes: DWORD) -> BOOL; } extern "C" { pub fn SetFileInformationByHandle( hFile: HANDLE, FileInformationClass: FILE_INFO_BY_HANDLE_CLASS, lpFileInformation: LPVOID, dwBufferSize: DWORD, ) -> BOOL; } extern "C" { pub fn SetFilePointer( hFile: HANDLE, lDistanceToMove: LONG, lpDistanceToMoveHigh: PLONG, dwMoveMethod: DWORD, ) -> DWORD; } extern "C" { pub fn SetFilePointerEx( hFile: HANDLE, liDistanceToMove: LARGE_INTEGER, lpNewFilePointer: PLARGE_INTEGER, dwMoveMethod: DWORD, ) -> BOOL; } extern "C" { pub fn SetFileTime( hFile: HANDLE, lpCreationTime: *const FILETIME, lpLastAccessTime: *const FILETIME, lpLastWriteTime: *const FILETIME, ) -> BOOL; } extern "C" { pub fn SetFileValidData(hFile: HANDLE, ValidDataLength: LONGLONG) -> BOOL; } extern "C" { pub fn UnlockFile( hFile: HANDLE, dwFileOffsetLow: DWORD, dwFileOffsetHigh: DWORD, nNumberOfBytesToUnlockLow: DWORD, nNumberOfBytesToUnlockHigh: DWORD, ) -> BOOL; } extern "C" { pub fn UnlockFileEx( hFile: HANDLE, dwReserved: DWORD, nNumberOfBytesToUnlockLow: DWORD, nNumberOfBytesToUnlockHigh: DWORD, lpOverlapped: LPOVERLAPPED, ) -> BOOL; } extern "C" { pub fn WriteFile( hFile: HANDLE, lpBuffer: LPCVOID, nNumberOfBytesToWrite: DWORD, lpNumberOfBytesWritten: LPDWORD, lpOverlapped: LPOVERLAPPED, ) -> BOOL; } extern "C" { pub fn WriteFileEx( hFile: HANDLE, lpBuffer: LPCVOID, nNumberOfBytesToWrite: DWORD, lpOverlapped: LPOVERLAPPED, lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, ) -> BOOL; } extern "C" { pub fn WriteFileGather( hFile: HANDLE, aSegmentArray: *mut FILE_SEGMENT_ELEMENT, nNumberOfBytesToWrite: DWORD, lpReserved: LPDWORD, lpOverlapped: LPOVERLAPPED, ) -> BOOL; } extern "C" { pub fn GetTempPathW(nBufferLength: DWORD, lpBuffer: LPWSTR) -> DWORD; } extern "C" { pub fn GetVolumeNameForVolumeMountPointW( lpszVolumeMountPoint: LPCWSTR, lpszVolumeName: LPWSTR, cchBufferLength: DWORD, ) -> BOOL; } extern "C" { pub fn GetVolumePathNamesForVolumeNameW( lpszVolumeName: LPCWSTR, lpszVolumePathNames: LPWCH, cchBufferLength: DWORD, lpcchReturnLength: PDWORD, ) -> BOOL; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _CREATEFILE2_EXTENDED_PARAMETERS { pub dwSize: DWORD, pub dwFileAttributes: DWORD, pub dwFileFlags: DWORD, pub dwSecurityQosFlags: DWORD, pub lpSecurityAttributes: LPSECURITY_ATTRIBUTES, pub hTemplateFile: HANDLE, } #[test] fn bindgen_test_layout__CREATEFILE2_EXTENDED_PARAMETERS() { 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::null::<_CREATEFILE2_EXTENDED_PARAMETERS>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATEFILE2_EXTENDED_PARAMETERS>())).dwFileAttributes as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), "::", stringify!(dwFileAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATEFILE2_EXTENDED_PARAMETERS>())).dwFileFlags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), "::", stringify!(dwFileFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATEFILE2_EXTENDED_PARAMETERS>())).dwSecurityQosFlags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), "::", stringify!(dwSecurityQosFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATEFILE2_EXTENDED_PARAMETERS>())).lpSecurityAttributes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), "::", stringify!(lpSecurityAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATEFILE2_EXTENDED_PARAMETERS>())).hTemplateFile as *const _ 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() { 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::null::<_WIN32_FIND_STREAM_DATA>())).StreamSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_STREAM_DATA), "::", stringify!(StreamSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_FIND_STREAM_DATA>())).cStreamName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_WIN32_FIND_STREAM_DATA), "::", stringify!(cStreamName) ) ); } pub type WIN32_FIND_STREAM_DATA = _WIN32_FIND_STREAM_DATA; pub type PWIN32_FIND_STREAM_DATA = *mut _WIN32_FIND_STREAM_DATA; extern "C" { pub fn FindFirstStreamW( lpFileName: LPCWSTR, InfoLevel: STREAM_INFO_LEVELS, lpFindStreamData: LPVOID, dwFlags: DWORD, ) -> HANDLE; } extern "C" { pub fn FindNextStreamW(hFindStream: HANDLE, lpFindStreamData: LPVOID) -> BOOL; } extern "C" { pub fn AreFileApisANSI() -> BOOL; } extern "C" { pub fn GetTempPathA(nBufferLength: DWORD, lpBuffer: LPSTR) -> DWORD; } extern "C" { pub fn FindFirstFileNameW( lpFileName: LPCWSTR, dwFlags: DWORD, StringLength: LPDWORD, LinkName: PWSTR, ) -> HANDLE; } extern "C" { pub fn FindNextFileNameW(hFindStream: HANDLE, StringLength: LPDWORD, LinkName: PWSTR) -> BOOL; } extern "C" { pub fn GetVolumeInformationA( lpRootPathName: LPCSTR, lpVolumeNameBuffer: LPSTR, nVolumeNameSize: DWORD, lpVolumeSerialNumber: LPDWORD, lpMaximumComponentLength: LPDWORD, lpFileSystemFlags: LPDWORD, lpFileSystemNameBuffer: LPSTR, nFileSystemNameSize: DWORD, ) -> BOOL; } extern "C" { pub fn GetTempFileNameA( lpPathName: LPCSTR, lpPrefixString: LPCSTR, uUnique: UINT, lpTempFileName: LPSTR, ) -> UINT; } extern "C" { pub fn SetFileApisToOEM(); } extern "C" { pub fn SetFileApisToANSI(); } extern "C" { pub fn CopyFileFromAppW( lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, bFailIfExists: BOOL, ) -> BOOL; } extern "C" { pub fn CreateDirectoryFromAppW( lpPathName: LPCWSTR, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, ) -> BOOL; } extern "C" { pub fn CreateFileFromAppW( lpFileName: LPCWSTR, dwDesiredAccess: DWORD, dwShareMode: DWORD, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, dwCreationDisposition: DWORD, dwFlagsAndAttributes: DWORD, hTemplateFile: HANDLE, ) -> HANDLE; } extern "C" { pub fn CreateFile2FromAppW( lpFileName: LPCWSTR, dwDesiredAccess: DWORD, dwShareMode: DWORD, dwCreationDisposition: DWORD, pCreateExParams: LPCREATEFILE2_EXTENDED_PARAMETERS, ) -> HANDLE; } extern "C" { pub fn DeleteFileFromAppW(lpFileName: LPCWSTR) -> BOOL; } extern "C" { pub fn FindFirstFileExFromAppW( lpFileName: LPCWSTR, fInfoLevelId: FINDEX_INFO_LEVELS, lpFindFileData: LPVOID, fSearchOp: FINDEX_SEARCH_OPS, lpSearchFilter: LPVOID, dwAdditionalFlags: DWORD, ) -> HANDLE; } extern "C" { pub fn GetFileAttributesExFromAppW( lpFileName: LPCWSTR, fInfoLevelId: GET_FILEEX_INFO_LEVELS, lpFileInformation: LPVOID, ) -> BOOL; } extern "C" { pub fn MoveFileFromAppW(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR) -> BOOL; } extern "C" { pub fn RemoveDirectoryFromAppW(lpPathName: LPCWSTR) -> BOOL; } extern "C" { pub fn ReplaceFileFromAppW( lpReplacedFileName: LPCWSTR, lpReplacementFileName: LPCWSTR, lpBackupFileName: LPCWSTR, dwReplaceFlags: DWORD, lpExclude: LPVOID, lpReserved: LPVOID, ) -> BOOL; } extern "C" { pub fn SetFileAttributesFromAppW(lpFileName: LPCWSTR, dwFileAttributes: DWORD) -> BOOL; } extern "C" { pub fn IsDebuggerPresent() -> BOOL; } extern "C" { pub fn DebugBreak(); } extern "C" { pub fn OutputDebugStringA(lpOutputString: LPCSTR); } extern "C" { pub fn OutputDebugStringW(lpOutputString: LPCWSTR); } extern "C" { pub fn ContinueDebugEvent( dwProcessId: DWORD, dwThreadId: DWORD, dwContinueStatus: DWORD, ) -> BOOL; } extern "C" { pub fn WaitForDebugEvent(lpDebugEvent: LPDEBUG_EVENT, dwMilliseconds: DWORD) -> BOOL; } extern "C" { pub fn DebugActiveProcess(dwProcessId: DWORD) -> BOOL; } extern "C" { pub fn DebugActiveProcessStop(dwProcessId: DWORD) -> BOOL; } extern "C" { pub fn CheckRemoteDebuggerPresent(hProcess: HANDLE, pbDebuggerPresent: PBOOL) -> BOOL; } extern "C" { pub fn WaitForDebugEventEx(lpDebugEvent: LPDEBUG_EVENT, dwMilliseconds: DWORD) -> BOOL; } extern "C" { pub fn EncodePointer(Ptr: PVOID) -> PVOID; } extern "C" { pub fn DecodePointer(Ptr: PVOID) -> PVOID; } extern "C" { pub fn EncodeSystemPointer(Ptr: PVOID) -> PVOID; } extern "C" { pub fn DecodeSystemPointer(Ptr: PVOID) -> PVOID; } extern "C" { pub fn EncodeRemotePointer( ProcessHandle: HANDLE, Ptr: PVOID, EncodedPtr: *mut PVOID, ) -> HRESULT; } extern "C" { pub fn DecodeRemotePointer( ProcessHandle: HANDLE, Ptr: PVOID, DecodedPtr: *mut PVOID, ) -> HRESULT; } extern "C" { pub fn Beep(dwFreq: DWORD, dwDuration: DWORD) -> BOOL; } extern "C" { pub fn CloseHandle(hObject: HANDLE) -> BOOL; } extern "C" { pub fn DuplicateHandle( hSourceProcessHandle: HANDLE, hSourceHandle: HANDLE, hTargetProcessHandle: HANDLE, lpTargetHandle: LPHANDLE, dwDesiredAccess: DWORD, bInheritHandle: BOOL, dwOptions: DWORD, ) -> BOOL; } extern "C" { pub fn CompareObjectHandles(hFirstObjectHandle: HANDLE, hSecondObjectHandle: HANDLE) -> BOOL; } extern "C" { pub fn GetHandleInformation(hObject: HANDLE, lpdwFlags: LPDWORD) -> BOOL; } extern "C" { pub fn SetHandleInformation(hObject: HANDLE, dwMask: DWORD, dwFlags: DWORD) -> BOOL; } pub type PTOP_LEVEL_EXCEPTION_FILTER = ::std::option::Option LONG>; pub type LPTOP_LEVEL_EXCEPTION_FILTER = PTOP_LEVEL_EXCEPTION_FILTER; extern "C" { pub fn RaiseException( dwExceptionCode: DWORD, dwExceptionFlags: DWORD, nNumberOfArguments: DWORD, lpArguments: *const ULONG_PTR, ); } extern "C" { pub fn UnhandledExceptionFilter(ExceptionInfo: *mut _EXCEPTION_POINTERS) -> LONG; } extern "C" { pub fn SetUnhandledExceptionFilter( lpTopLevelExceptionFilter: LPTOP_LEVEL_EXCEPTION_FILTER, ) -> LPTOP_LEVEL_EXCEPTION_FILTER; } extern "C" { pub fn GetLastError() -> DWORD; } extern "C" { pub fn SetLastError(dwErrCode: DWORD); } extern "C" { pub fn GetErrorMode() -> UINT; } extern "C" { pub fn SetErrorMode(uMode: UINT) -> UINT; } extern "C" { pub fn AddVectoredExceptionHandler(First: ULONG, Handler: PVECTORED_EXCEPTION_HANDLER) -> PVOID; } extern "C" { pub fn RemoveVectoredExceptionHandler(Handle: PVOID) -> ULONG; } extern "C" { pub fn AddVectoredContinueHandler(First: ULONG, Handler: PVECTORED_EXCEPTION_HANDLER) -> PVOID; } extern "C" { pub fn RemoveVectoredContinueHandler(Handle: PVOID) -> ULONG; } extern "C" { pub fn RaiseFailFastException( pExceptionRecord: PEXCEPTION_RECORD, pContextRecord: PCONTEXT, dwFlags: DWORD, ); } extern "C" { pub fn FatalAppExitA(uAction: UINT, lpMessageText: LPCSTR); } extern "C" { pub fn FatalAppExitW(uAction: UINT, lpMessageText: LPCWSTR); } extern "C" { pub fn GetThreadErrorMode() -> DWORD; } extern "C" { pub fn SetThreadErrorMode(dwNewMode: DWORD, lpOldMode: LPDWORD) -> BOOL; } extern "C" { pub fn TerminateProcessOnMemoryExhaustion(FailedAllocationSize: SIZE_T); } extern "C" { pub fn FlsAlloc(lpCallback: PFLS_CALLBACK_FUNCTION) -> DWORD; } extern "C" { pub fn FlsGetValue(dwFlsIndex: DWORD) -> PVOID; } extern "C" { pub fn FlsSetValue(dwFlsIndex: DWORD, lpFlsData: PVOID) -> BOOL; } extern "C" { pub fn FlsFree(dwFlsIndex: DWORD) -> BOOL; } extern "C" { pub fn IsThreadAFiber() -> BOOL; } extern "C" { pub fn CreatePipe( hReadPipe: PHANDLE, hWritePipe: PHANDLE, lpPipeAttributes: LPSECURITY_ATTRIBUTES, nSize: DWORD, ) -> BOOL; } extern "C" { pub fn ConnectNamedPipe(hNamedPipe: HANDLE, lpOverlapped: LPOVERLAPPED) -> BOOL; } extern "C" { pub fn DisconnectNamedPipe(hNamedPipe: HANDLE) -> BOOL; } extern "C" { pub fn SetNamedPipeHandleState( hNamedPipe: HANDLE, lpMode: LPDWORD, lpMaxCollectionCount: LPDWORD, lpCollectDataTimeout: LPDWORD, ) -> BOOL; } extern "C" { pub fn PeekNamedPipe( hNamedPipe: HANDLE, lpBuffer: LPVOID, nBufferSize: DWORD, lpBytesRead: LPDWORD, lpTotalBytesAvail: LPDWORD, lpBytesLeftThisMessage: LPDWORD, ) -> BOOL; } extern "C" { pub fn TransactNamedPipe( hNamedPipe: HANDLE, lpInBuffer: LPVOID, nInBufferSize: DWORD, lpOutBuffer: LPVOID, nOutBufferSize: DWORD, lpBytesRead: LPDWORD, lpOverlapped: LPOVERLAPPED, ) -> BOOL; } extern "C" { pub fn CreateNamedPipeW( lpName: LPCWSTR, dwOpenMode: DWORD, dwPipeMode: DWORD, nMaxInstances: DWORD, nOutBufferSize: DWORD, nInBufferSize: DWORD, nDefaultTimeOut: DWORD, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, ) -> HANDLE; } extern "C" { pub fn WaitNamedPipeW(lpNamedPipeName: LPCWSTR, nTimeOut: DWORD) -> BOOL; } extern "C" { pub fn GetNamedPipeClientComputerNameW( Pipe: HANDLE, ClientComputerName: LPWSTR, ClientComputerNameLength: ULONG, ) -> BOOL; } extern "C" { pub fn ImpersonateNamedPipeClient(hNamedPipe: HANDLE) -> BOOL; } extern "C" { pub fn GetNamedPipeInfo( hNamedPipe: HANDLE, lpFlags: LPDWORD, lpOutBufferSize: LPDWORD, lpInBufferSize: LPDWORD, lpMaxInstances: LPDWORD, ) -> BOOL; } extern "C" { pub fn GetNamedPipeHandleStateW( hNamedPipe: HANDLE, lpState: LPDWORD, lpCurInstances: LPDWORD, lpMaxCollectionCount: LPDWORD, lpCollectDataTimeout: LPDWORD, lpUserName: LPWSTR, nMaxUserNameSize: DWORD, ) -> BOOL; } extern "C" { pub fn CallNamedPipeW( lpNamedPipeName: LPCWSTR, lpInBuffer: LPVOID, nInBufferSize: DWORD, lpOutBuffer: LPVOID, nOutBufferSize: DWORD, lpBytesRead: LPDWORD, nTimeOut: DWORD, ) -> BOOL; } extern "C" { pub fn QueryPerformanceCounter(lpPerformanceCount: *mut LARGE_INTEGER) -> BOOL; } extern "C" { pub fn QueryPerformanceFrequency(lpFrequency: *mut LARGE_INTEGER) -> BOOL; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _HEAP_SUMMARY { pub cb: DWORD, pub cbAllocated: SIZE_T, pub cbCommitted: SIZE_T, pub cbReserved: SIZE_T, pub cbMaxReserve: SIZE_T, } #[test] fn bindgen_test_layout__HEAP_SUMMARY() { 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::null::<_HEAP_SUMMARY>())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_HEAP_SUMMARY), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HEAP_SUMMARY>())).cbAllocated as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_HEAP_SUMMARY), "::", stringify!(cbAllocated) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HEAP_SUMMARY>())).cbCommitted as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_HEAP_SUMMARY), "::", stringify!(cbCommitted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HEAP_SUMMARY>())).cbReserved as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_HEAP_SUMMARY), "::", stringify!(cbReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HEAP_SUMMARY>())).cbMaxReserve as *const _ 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() { 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::null::<_PROCESS_INFORMATION>())).hProcess as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROCESS_INFORMATION), "::", stringify!(hProcess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_INFORMATION>())).hThread as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROCESS_INFORMATION), "::", stringify!(hThread) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_INFORMATION>())).dwProcessId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PROCESS_INFORMATION), "::", stringify!(dwProcessId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_INFORMATION>())).dwThreadId as *const _ 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() { 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::null::<_STARTUPINFOA>())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).lpReserved as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(lpReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).lpDesktop as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(lpDesktop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).lpTitle as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(lpTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).dwX as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(dwX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).dwY as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(dwY) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).dwXSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(dwXSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).dwYSize as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(dwYSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).dwXCountChars as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(dwXCountChars) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).dwYCountChars as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(dwYCountChars) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).dwFillAttribute as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(dwFillAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).dwFlags as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).wShowWindow as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(wShowWindow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).cbReserved2 as *const _ as usize }, 66usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(cbReserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).lpReserved2 as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(lpReserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).hStdInput as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(hStdInput) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).hStdOutput as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOA), "::", stringify!(hStdOutput) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOA>())).hStdError as *const _ 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() { 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::null::<_STARTUPINFOW>())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).lpReserved as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(lpReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).lpDesktop as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(lpDesktop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).lpTitle as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(lpTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).dwX as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(dwX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).dwY as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(dwY) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).dwXSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(dwXSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).dwYSize as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(dwYSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).dwXCountChars as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(dwXCountChars) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).dwYCountChars as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(dwYCountChars) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).dwFillAttribute as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(dwFillAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).dwFlags as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).wShowWindow as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(wShowWindow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).cbReserved2 as *const _ as usize }, 66usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(cbReserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).lpReserved2 as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(lpReserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).hStdInput as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(hStdInput) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).hStdOutput as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(hStdOutput) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOW>())).hStdError as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOW), "::", stringify!(hStdError) ) ); } pub type STARTUPINFOW = _STARTUPINFOW; pub type LPSTARTUPINFOW = *mut _STARTUPINFOW; pub type STARTUPINFO = STARTUPINFOA; pub type LPSTARTUPINFO = LPSTARTUPINFOA; extern "C" { pub fn QueueUserAPC(pfnAPC: PAPCFUNC, hThread: HANDLE, dwData: ULONG_PTR) -> DWORD; } extern "C" { pub fn GetProcessTimes( hProcess: HANDLE, lpCreationTime: LPFILETIME, lpExitTime: LPFILETIME, lpKernelTime: LPFILETIME, lpUserTime: LPFILETIME, ) -> BOOL; } extern "C" { pub fn GetCurrentProcess() -> HANDLE; } extern "C" { pub fn GetCurrentProcessId() -> DWORD; } extern "C" { pub fn ExitProcess(uExitCode: UINT); } extern "C" { pub fn TerminateProcess(hProcess: HANDLE, uExitCode: UINT) -> BOOL; } extern "C" { pub fn GetExitCodeProcess(hProcess: HANDLE, lpExitCode: LPDWORD) -> BOOL; } extern "C" { pub fn SwitchToThread() -> BOOL; } extern "C" { pub fn CreateThread( lpThreadAttributes: LPSECURITY_ATTRIBUTES, dwStackSize: SIZE_T, lpStartAddress: LPTHREAD_START_ROUTINE, lpParameter: LPVOID, dwCreationFlags: DWORD, lpThreadId: LPDWORD, ) -> HANDLE; } extern "C" { pub fn CreateRemoteThread( hProcess: HANDLE, lpThreadAttributes: LPSECURITY_ATTRIBUTES, dwStackSize: SIZE_T, lpStartAddress: LPTHREAD_START_ROUTINE, lpParameter: LPVOID, dwCreationFlags: DWORD, lpThreadId: LPDWORD, ) -> HANDLE; } extern "C" { pub fn GetCurrentThread() -> HANDLE; } extern "C" { pub fn GetCurrentThreadId() -> DWORD; } extern "C" { pub fn OpenThread(dwDesiredAccess: DWORD, bInheritHandle: BOOL, dwThreadId: DWORD) -> HANDLE; } extern "C" { pub fn SetThreadPriority(hThread: HANDLE, nPriority: ::std::os::raw::c_int) -> BOOL; } extern "C" { pub fn SetThreadPriorityBoost(hThread: HANDLE, bDisablePriorityBoost: BOOL) -> BOOL; } extern "C" { pub fn GetThreadPriorityBoost(hThread: HANDLE, pDisablePriorityBoost: PBOOL) -> BOOL; } extern "C" { pub fn GetThreadPriority(hThread: HANDLE) -> ::std::os::raw::c_int; } extern "C" { pub fn ExitThread(dwExitCode: DWORD); } extern "C" { pub fn TerminateThread(hThread: HANDLE, dwExitCode: DWORD) -> BOOL; } extern "C" { pub fn GetExitCodeThread(hThread: HANDLE, lpExitCode: LPDWORD) -> BOOL; } extern "C" { pub fn SuspendThread(hThread: HANDLE) -> DWORD; } extern "C" { pub fn ResumeThread(hThread: HANDLE) -> DWORD; } extern "C" { pub fn TlsAlloc() -> DWORD; } extern "C" { pub fn TlsGetValue(dwTlsIndex: DWORD) -> LPVOID; } extern "C" { pub fn TlsSetValue(dwTlsIndex: DWORD, lpTlsValue: LPVOID) -> BOOL; } extern "C" { pub fn TlsFree(dwTlsIndex: DWORD) -> BOOL; } extern "C" { pub fn CreateProcessA( lpApplicationName: LPCSTR, lpCommandLine: LPSTR, lpProcessAttributes: LPSECURITY_ATTRIBUTES, lpThreadAttributes: LPSECURITY_ATTRIBUTES, bInheritHandles: BOOL, dwCreationFlags: DWORD, lpEnvironment: LPVOID, lpCurrentDirectory: LPCSTR, lpStartupInfo: LPSTARTUPINFOA, lpProcessInformation: LPPROCESS_INFORMATION, ) -> BOOL; } extern "C" { pub fn CreateProcessW( lpApplicationName: LPCWSTR, lpCommandLine: LPWSTR, lpProcessAttributes: LPSECURITY_ATTRIBUTES, lpThreadAttributes: LPSECURITY_ATTRIBUTES, bInheritHandles: BOOL, dwCreationFlags: DWORD, lpEnvironment: LPVOID, lpCurrentDirectory: LPCWSTR, lpStartupInfo: LPSTARTUPINFOW, lpProcessInformation: LPPROCESS_INFORMATION, ) -> BOOL; } extern "C" { pub fn SetProcessShutdownParameters(dwLevel: DWORD, dwFlags: DWORD) -> BOOL; } extern "C" { pub fn GetProcessVersion(ProcessId: DWORD) -> DWORD; } extern "C" { pub fn GetStartupInfoW(lpStartupInfo: LPSTARTUPINFOW); } extern "C" { pub fn CreateProcessAsUserW( hToken: HANDLE, lpApplicationName: LPCWSTR, lpCommandLine: LPWSTR, lpProcessAttributes: LPSECURITY_ATTRIBUTES, lpThreadAttributes: LPSECURITY_ATTRIBUTES, bInheritHandles: BOOL, dwCreationFlags: DWORD, lpEnvironment: LPVOID, lpCurrentDirectory: LPCWSTR, lpStartupInfo: LPSTARTUPINFOW, lpProcessInformation: LPPROCESS_INFORMATION, ) -> BOOL; } extern "C" { pub fn SetThreadToken(Thread: PHANDLE, Token: HANDLE) -> BOOL; } extern "C" { pub fn OpenProcessToken( ProcessHandle: HANDLE, DesiredAccess: DWORD, TokenHandle: PHANDLE, ) -> BOOL; } extern "C" { pub fn OpenThreadToken( ThreadHandle: HANDLE, DesiredAccess: DWORD, OpenAsSelf: BOOL, TokenHandle: PHANDLE, ) -> BOOL; } extern "C" { pub fn SetPriorityClass(hProcess: HANDLE, dwPriorityClass: DWORD) -> BOOL; } extern "C" { pub fn GetPriorityClass(hProcess: HANDLE) -> DWORD; } extern "C" { pub fn SetThreadStackGuarantee(StackSizeInBytes: PULONG) -> BOOL; } extern "C" { pub fn ProcessIdToSessionId(dwProcessId: DWORD, pSessionId: *mut DWORD) -> BOOL; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _PROC_THREAD_ATTRIBUTE_LIST { _unused: [u8; 0], } pub type PPROC_THREAD_ATTRIBUTE_LIST = *mut _PROC_THREAD_ATTRIBUTE_LIST; pub type LPPROC_THREAD_ATTRIBUTE_LIST = *mut _PROC_THREAD_ATTRIBUTE_LIST; extern "C" { pub fn GetProcessId(Process: HANDLE) -> DWORD; } extern "C" { pub fn GetThreadId(Thread: HANDLE) -> DWORD; } extern "C" { pub fn FlushProcessWriteBuffers(); } extern "C" { pub fn GetProcessIdOfThread(Thread: HANDLE) -> DWORD; } extern "C" { pub fn InitializeProcThreadAttributeList( lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, dwAttributeCount: DWORD, dwFlags: DWORD, lpSize: PSIZE_T, ) -> BOOL; } extern "C" { pub fn DeleteProcThreadAttributeList(lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST); } extern "C" { pub fn SetProcessAffinityUpdateMode(hProcess: HANDLE, dwFlags: DWORD) -> BOOL; } extern "C" { pub fn QueryProcessAffinityUpdateMode(hProcess: HANDLE, lpdwFlags: LPDWORD) -> BOOL; } 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 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() { 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::null::<_MEMORY_PRIORITY_INFORMATION>())).MemoryPriority as *const _ 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() { 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::null::<_THREAD_POWER_THROTTLING_STATE>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_THREAD_POWER_THROTTLING_STATE), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_THREAD_POWER_THROTTLING_STATE>())).ControlMask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_THREAD_POWER_THROTTLING_STATE), "::", stringify!(ControlMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_THREAD_POWER_THROTTLING_STATE>())).StateMask as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_THREAD_POWER_THROTTLING_STATE), "::", stringify!(StateMask) ) ); } pub type THREAD_POWER_THROTTLING_STATE = _THREAD_POWER_THROTTLING_STATE; extern "C" { pub fn IsProcessCritical(hProcess: HANDLE, Critical: PBOOL) -> BOOL; } extern "C" { pub fn SetProtectedPolicy( PolicyGuid: LPCGUID, PolicyValue: ULONG_PTR, OldPolicyValue: PULONG_PTR, ) -> BOOL; } extern "C" { pub fn QueryProtectedPolicy(PolicyGuid: LPCGUID, PolicyValue: PULONG_PTR) -> BOOL; } extern "C" { pub fn SetThreadIdealProcessor(hThread: HANDLE, dwIdealProcessor: DWORD) -> DWORD; } pub const _PROCESS_INFORMATION_CLASS_ProcessMemoryPriority: _PROCESS_INFORMATION_CLASS = 0; pub const _PROCESS_INFORMATION_CLASS_ProcessMemoryExhaustionInfo: _PROCESS_INFORMATION_CLASS = 1; pub const _PROCESS_INFORMATION_CLASS_ProcessAppMemoryInfo: _PROCESS_INFORMATION_CLASS = 2; pub const _PROCESS_INFORMATION_CLASS_ProcessInPrivateInfo: _PROCESS_INFORMATION_CLASS = 3; pub const _PROCESS_INFORMATION_CLASS_ProcessPowerThrottling: _PROCESS_INFORMATION_CLASS = 4; pub const _PROCESS_INFORMATION_CLASS_ProcessReservedValue1: _PROCESS_INFORMATION_CLASS = 5; pub const _PROCESS_INFORMATION_CLASS_ProcessTelemetryCoverageInfo: _PROCESS_INFORMATION_CLASS = 6; pub const _PROCESS_INFORMATION_CLASS_ProcessProtectionLevelInfo: _PROCESS_INFORMATION_CLASS = 7; pub const _PROCESS_INFORMATION_CLASS_ProcessLeapSecondInfo: _PROCESS_INFORMATION_CLASS = 8; pub const _PROCESS_INFORMATION_CLASS_ProcessInformationClassMax: _PROCESS_INFORMATION_CLASS = 9; pub type _PROCESS_INFORMATION_CLASS = ::std::os::raw::c_int; pub use self::_PROCESS_INFORMATION_CLASS as PROCESS_INFORMATION_CLASS; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _APP_MEMORY_INFORMATION { pub AvailableCommit: ULONG64, pub PrivateCommitUsage: ULONG64, pub PeakPrivateCommitUsage: ULONG64, pub TotalCommitUsage: ULONG64, } #[test] fn bindgen_test_layout__APP_MEMORY_INFORMATION() { 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::null::<_APP_MEMORY_INFORMATION>())).AvailableCommit as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_APP_MEMORY_INFORMATION), "::", stringify!(AvailableCommit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_APP_MEMORY_INFORMATION>())).PrivateCommitUsage as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_APP_MEMORY_INFORMATION), "::", stringify!(PrivateCommitUsage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_APP_MEMORY_INFORMATION>())).PeakPrivateCommitUsage as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_APP_MEMORY_INFORMATION), "::", stringify!(PeakPrivateCommitUsage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_APP_MEMORY_INFORMATION>())).TotalCommitUsage as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_APP_MEMORY_INFORMATION), "::", stringify!(TotalCommitUsage) ) ); } pub type APP_MEMORY_INFORMATION = _APP_MEMORY_INFORMATION; pub type PAPP_MEMORY_INFORMATION = *mut _APP_MEMORY_INFORMATION; pub const _PROCESS_MEMORY_EXHAUSTION_TYPE_PMETypeFailFastOnCommitFailure: _PROCESS_MEMORY_EXHAUSTION_TYPE = 0; pub const _PROCESS_MEMORY_EXHAUSTION_TYPE_PMETypeMax: _PROCESS_MEMORY_EXHAUSTION_TYPE = 1; pub type _PROCESS_MEMORY_EXHAUSTION_TYPE = ::std::os::raw::c_int; pub use self::_PROCESS_MEMORY_EXHAUSTION_TYPE as PROCESS_MEMORY_EXHAUSTION_TYPE; pub type PPROCESS_MEMORY_EXHAUSTION_TYPE = *mut _PROCESS_MEMORY_EXHAUSTION_TYPE; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _PROCESS_MEMORY_EXHAUSTION_INFO { pub Version: USHORT, pub Reserved: USHORT, pub Type: PROCESS_MEMORY_EXHAUSTION_TYPE, pub Value: ULONG_PTR, } #[test] fn bindgen_test_layout__PROCESS_MEMORY_EXHAUSTION_INFO() { 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::null::<_PROCESS_MEMORY_EXHAUSTION_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROCESS_MEMORY_EXHAUSTION_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_MEMORY_EXHAUSTION_INFO>())).Reserved as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_PROCESS_MEMORY_EXHAUSTION_INFO), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_MEMORY_EXHAUSTION_INFO>())).Type as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROCESS_MEMORY_EXHAUSTION_INFO), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_MEMORY_EXHAUSTION_INFO>())).Value as *const _ 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() { 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::null::<_PROCESS_POWER_THROTTLING_STATE>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROCESS_POWER_THROTTLING_STATE), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_POWER_THROTTLING_STATE>())).ControlMask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROCESS_POWER_THROTTLING_STATE), "::", stringify!(ControlMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_POWER_THROTTLING_STATE>())).StateMask as *const _ 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() { 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::null::())).ProtectionLevel as *const _ 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() { 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::null::<_PROCESS_LEAP_SECOND_INFO>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROCESS_LEAP_SECOND_INFO), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROCESS_LEAP_SECOND_INFO>())).Reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROCESS_LEAP_SECOND_INFO), "::", stringify!(Reserved) ) ); } pub type PROCESS_LEAP_SECOND_INFO = _PROCESS_LEAP_SECOND_INFO; pub type PPROCESS_LEAP_SECOND_INFO = *mut _PROCESS_LEAP_SECOND_INFO; extern "C" { pub fn SetProcessInformation( hProcess: HANDLE, ProcessInformationClass: PROCESS_INFORMATION_CLASS, ProcessInformation: LPVOID, ProcessInformationSize: DWORD, ) -> BOOL; } extern "C" { pub fn GetProcessInformation( hProcess: HANDLE, ProcessInformationClass: PROCESS_INFORMATION_CLASS, ProcessInformation: LPVOID, ProcessInformationSize: DWORD, ) -> BOOL; } extern "C" { pub fn GetSystemCpuSetInformation( Information: PSYSTEM_CPU_SET_INFORMATION, BufferLength: ULONG, ReturnedLength: PULONG, Process: HANDLE, Flags: ULONG, ) -> BOOL; } extern "C" { pub fn GetProcessDefaultCpuSets( Process: HANDLE, CpuSetIds: PULONG, CpuSetIdCount: ULONG, RequiredIdCount: PULONG, ) -> BOOL; } extern "C" { pub fn SetProcessDefaultCpuSets( Process: HANDLE, CpuSetIds: *const ULONG, CpuSetIdCount: ULONG, ) -> BOOL; } extern "C" { pub fn GetThreadSelectedCpuSets( Thread: HANDLE, CpuSetIds: PULONG, CpuSetIdCount: ULONG, RequiredIdCount: PULONG, ) -> BOOL; } extern "C" { pub fn SetThreadSelectedCpuSets( Thread: HANDLE, CpuSetIds: *const ULONG, CpuSetIdCount: ULONG, ) -> BOOL; } extern "C" { pub fn CreateProcessAsUserA( hToken: HANDLE, lpApplicationName: LPCSTR, lpCommandLine: LPSTR, lpProcessAttributes: LPSECURITY_ATTRIBUTES, lpThreadAttributes: LPSECURITY_ATTRIBUTES, bInheritHandles: BOOL, dwCreationFlags: DWORD, lpEnvironment: LPVOID, lpCurrentDirectory: LPCSTR, lpStartupInfo: LPSTARTUPINFOA, lpProcessInformation: LPPROCESS_INFORMATION, ) -> BOOL; } extern "C" { pub fn GetProcessShutdownParameters(lpdwLevel: LPDWORD, lpdwFlags: LPDWORD) -> BOOL; } extern "C" { pub fn SetThreadDescription(hThread: HANDLE, lpThreadDescription: PCWSTR) -> HRESULT; } extern "C" { pub fn GetThreadDescription(hThread: HANDLE, ppszThreadDescription: *mut PWSTR) -> HRESULT; } #[repr(C)] #[derive(Copy, Clone)] pub struct _SYSTEM_INFO { pub __bindgen_anon_1: _SYSTEM_INFO__bindgen_ty_1, pub dwPageSize: DWORD, pub lpMinimumApplicationAddress: LPVOID, pub lpMaximumApplicationAddress: LPVOID, pub dwActiveProcessorMask: DWORD_PTR, pub dwNumberOfProcessors: DWORD, pub dwProcessorType: DWORD, pub dwAllocationGranularity: DWORD, pub wProcessorLevel: WORD, pub wProcessorRevision: WORD, } #[repr(C)] #[derive(Copy, Clone)] pub union _SYSTEM_INFO__bindgen_ty_1 { pub dwOemId: DWORD, pub __bindgen_anon_1: _SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1, _bindgen_union_align: u32, } #[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() { 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::null::<_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1>())) .wProcessorArchitecture as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1), "::", stringify!(wProcessorArchitecture) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1>())).wReserved as *const _ 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() { 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::null::<_SYSTEM_INFO__bindgen_ty_1>())).dwOemId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_INFO__bindgen_ty_1), "::", stringify!(dwOemId) ) ); } #[test] fn bindgen_test_layout__SYSTEM_INFO() { 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::null::<_SYSTEM_INFO>())).dwPageSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_INFO), "::", stringify!(dwPageSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_INFO>())).lpMinimumApplicationAddress as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SYSTEM_INFO), "::", stringify!(lpMinimumApplicationAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_INFO>())).lpMaximumApplicationAddress as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SYSTEM_INFO), "::", stringify!(lpMaximumApplicationAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_INFO>())).dwActiveProcessorMask as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SYSTEM_INFO), "::", stringify!(dwActiveProcessorMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_INFO>())).dwNumberOfProcessors as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_SYSTEM_INFO), "::", stringify!(dwNumberOfProcessors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_INFO>())).dwProcessorType as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_SYSTEM_INFO), "::", stringify!(dwProcessorType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_INFO>())).dwAllocationGranularity as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_SYSTEM_INFO), "::", stringify!(dwAllocationGranularity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_INFO>())).wProcessorLevel as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_SYSTEM_INFO), "::", stringify!(wProcessorLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_INFO>())).wProcessorRevision as *const _ 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() { 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::null::<_MEMORYSTATUSEX>())).dwLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MEMORYSTATUSEX), "::", stringify!(dwLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORYSTATUSEX>())).dwMemoryLoad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_MEMORYSTATUSEX), "::", stringify!(dwMemoryLoad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORYSTATUSEX>())).ullTotalPhys as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MEMORYSTATUSEX), "::", stringify!(ullTotalPhys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORYSTATUSEX>())).ullAvailPhys as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MEMORYSTATUSEX), "::", stringify!(ullAvailPhys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORYSTATUSEX>())).ullTotalPageFile as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_MEMORYSTATUSEX), "::", stringify!(ullTotalPageFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORYSTATUSEX>())).ullAvailPageFile as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_MEMORYSTATUSEX), "::", stringify!(ullAvailPageFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORYSTATUSEX>())).ullTotalVirtual as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_MEMORYSTATUSEX), "::", stringify!(ullTotalVirtual) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORYSTATUSEX>())).ullAvailVirtual as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_MEMORYSTATUSEX), "::", stringify!(ullAvailVirtual) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORYSTATUSEX>())).ullAvailExtendedVirtual as *const _ 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 GetSystemLeapSecondInformation(Enabled: PBOOL, Flags: PDWORD) -> BOOL; } extern "C" { pub fn GetVersion() -> DWORD; } extern "C" { pub fn SetLocalTime(lpSystemTime: *const SYSTEMTIME) -> BOOL; } extern "C" { pub fn GetTickCount() -> DWORD; } extern "C" { pub fn GetTickCount64() -> ULONGLONG; } extern "C" { pub fn GetSystemTimeAdjustment( lpTimeAdjustment: PDWORD, lpTimeIncrement: PDWORD, lpTimeAdjustmentDisabled: PBOOL, ) -> BOOL; } extern "C" { pub fn GetSystemTimeAdjustmentPrecise( lpTimeAdjustment: PDWORD64, lpTimeIncrement: PDWORD64, lpTimeAdjustmentDisabled: PBOOL, ) -> BOOL; } extern "C" { pub fn GetSystemDirectoryA(lpBuffer: LPSTR, uSize: UINT) -> UINT; } extern "C" { pub fn GetSystemDirectoryW(lpBuffer: LPWSTR, uSize: UINT) -> UINT; } extern "C" { pub fn GetWindowsDirectoryA(lpBuffer: LPSTR, uSize: UINT) -> UINT; } extern "C" { pub fn GetWindowsDirectoryW(lpBuffer: LPWSTR, uSize: UINT) -> UINT; } extern "C" { pub fn GetSystemWindowsDirectoryA(lpBuffer: LPSTR, uSize: UINT) -> UINT; } extern "C" { pub fn GetSystemWindowsDirectoryW(lpBuffer: LPWSTR, uSize: UINT) -> UINT; } pub const _COMPUTER_NAME_FORMAT_ComputerNameNetBIOS: _COMPUTER_NAME_FORMAT = 0; pub const _COMPUTER_NAME_FORMAT_ComputerNameDnsHostname: _COMPUTER_NAME_FORMAT = 1; pub const _COMPUTER_NAME_FORMAT_ComputerNameDnsDomain: _COMPUTER_NAME_FORMAT = 2; pub const _COMPUTER_NAME_FORMAT_ComputerNameDnsFullyQualified: _COMPUTER_NAME_FORMAT = 3; pub const _COMPUTER_NAME_FORMAT_ComputerNamePhysicalNetBIOS: _COMPUTER_NAME_FORMAT = 4; pub const _COMPUTER_NAME_FORMAT_ComputerNamePhysicalDnsHostname: _COMPUTER_NAME_FORMAT = 5; pub const _COMPUTER_NAME_FORMAT_ComputerNamePhysicalDnsDomain: _COMPUTER_NAME_FORMAT = 6; pub const _COMPUTER_NAME_FORMAT_ComputerNamePhysicalDnsFullyQualified: _COMPUTER_NAME_FORMAT = 7; pub const _COMPUTER_NAME_FORMAT_ComputerNameMax: _COMPUTER_NAME_FORMAT = 8; pub type _COMPUTER_NAME_FORMAT = ::std::os::raw::c_int; pub use self::_COMPUTER_NAME_FORMAT as COMPUTER_NAME_FORMAT; extern "C" { pub fn GetComputerNameExA( NameType: COMPUTER_NAME_FORMAT, lpBuffer: LPSTR, nSize: LPDWORD, ) -> BOOL; } extern "C" { pub fn GetComputerNameExW( NameType: COMPUTER_NAME_FORMAT, lpBuffer: LPWSTR, nSize: LPDWORD, ) -> BOOL; } extern "C" { pub fn SetComputerNameExW(NameType: COMPUTER_NAME_FORMAT, lpBuffer: LPCWSTR) -> BOOL; } extern "C" { pub fn SetSystemTime(lpSystemTime: *const SYSTEMTIME) -> BOOL; } extern "C" { pub fn GetVersionExA(lpVersionInformation: LPOSVERSIONINFOA) -> BOOL; } extern "C" { pub fn GetVersionExW(lpVersionInformation: LPOSVERSIONINFOW) -> BOOL; } extern "C" { pub fn GetLogicalProcessorInformation( Buffer: PSYSTEM_LOGICAL_PROCESSOR_INFORMATION, ReturnedLength: PDWORD, ) -> BOOL; } extern "C" { pub fn GetLogicalProcessorInformationEx( RelationshipType: LOGICAL_PROCESSOR_RELATIONSHIP, Buffer: PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX, ReturnedLength: PDWORD, ) -> BOOL; } extern "C" { pub fn GetNativeSystemInfo(lpSystemInfo: LPSYSTEM_INFO); } extern "C" { pub fn GetSystemTimePreciseAsFileTime(lpSystemTimeAsFileTime: LPFILETIME); } extern "C" { pub fn GetProductInfo( dwOSMajorVersion: DWORD, dwOSMinorVersion: DWORD, dwSpMajorVersion: DWORD, dwSpMinorVersion: DWORD, pdwReturnedProductType: PDWORD, ) -> BOOL; } extern "C" { pub fn GetOsSafeBootMode(Flags: PDWORD) -> BOOL; } extern "C" { pub fn EnumSystemFirmwareTables( FirmwareTableProviderSignature: DWORD, pFirmwareTableEnumBuffer: PVOID, BufferSize: DWORD, ) -> UINT; } extern "C" { pub fn GetSystemFirmwareTable( FirmwareTableProviderSignature: DWORD, FirmwareTableID: DWORD, pFirmwareTableBuffer: PVOID, BufferSize: DWORD, ) -> UINT; } extern "C" { pub fn DnsHostnameToComputerNameExW( Hostname: LPCWSTR, ComputerName: LPWSTR, nSize: LPDWORD, ) -> BOOL; } extern "C" { pub fn GetPhysicallyInstalledSystemMemory(TotalMemoryInKilobytes: PULONGLONG) -> BOOL; } extern "C" { pub fn SetComputerNameEx2W( NameType: COMPUTER_NAME_FORMAT, Flags: DWORD, lpBuffer: LPCWSTR, ) -> BOOL; } extern "C" { pub fn SetSystemTimeAdjustment(dwTimeAdjustment: DWORD, bTimeAdjustmentDisabled: BOOL) -> BOOL; } extern "C" { pub fn SetSystemTimeAdjustmentPrecise( dwTimeAdjustment: DWORD64, bTimeAdjustmentDisabled: BOOL, ) -> BOOL; } extern "C" { pub fn InstallELAMCertificateInfo(ELAMFile: HANDLE) -> BOOL; } extern "C" { pub fn GetProcessorSystemCycleTime( Group: USHORT, Buffer: PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION, ReturnedLength: PDWORD, ) -> BOOL; } extern "C" { pub fn GetOsManufacturingMode(pbEnabled: PBOOL) -> BOOL; } extern "C" { pub fn GetIntegratedDisplaySize(sizeInInches: *mut f64) -> HRESULT; } extern "C" { pub fn SetComputerNameA(lpComputerName: LPCSTR) -> BOOL; } extern "C" { pub fn SetComputerNameW(lpComputerName: LPCWSTR) -> BOOL; } extern "C" { pub fn SetComputerNameExA(NameType: COMPUTER_NAME_FORMAT, lpBuffer: LPCSTR) -> BOOL; } extern "C" { pub fn VirtualAlloc( lpAddress: LPVOID, dwSize: SIZE_T, flAllocationType: DWORD, flProtect: DWORD, ) -> LPVOID; } extern "C" { pub fn VirtualProtect( lpAddress: LPVOID, dwSize: SIZE_T, flNewProtect: DWORD, lpflOldProtect: PDWORD, ) -> BOOL; } extern "C" { pub fn VirtualFree(lpAddress: LPVOID, dwSize: SIZE_T, dwFreeType: DWORD) -> BOOL; } extern "C" { pub fn VirtualQuery( lpAddress: LPCVOID, lpBuffer: PMEMORY_BASIC_INFORMATION, dwLength: SIZE_T, ) -> SIZE_T; } extern "C" { pub fn VirtualAllocEx( hProcess: HANDLE, lpAddress: LPVOID, dwSize: SIZE_T, flAllocationType: DWORD, flProtect: DWORD, ) -> LPVOID; } extern "C" { pub fn VirtualProtectEx( hProcess: HANDLE, lpAddress: LPVOID, dwSize: SIZE_T, flNewProtect: DWORD, lpflOldProtect: PDWORD, ) -> BOOL; } extern "C" { pub fn VirtualQueryEx( hProcess: HANDLE, lpAddress: LPCVOID, lpBuffer: PMEMORY_BASIC_INFORMATION, dwLength: SIZE_T, ) -> SIZE_T; } extern "C" { pub fn ReadProcessMemory( hProcess: HANDLE, lpBaseAddress: LPCVOID, lpBuffer: LPVOID, nSize: SIZE_T, lpNumberOfBytesRead: *mut SIZE_T, ) -> BOOL; } extern "C" { pub fn WriteProcessMemory( hProcess: HANDLE, lpBaseAddress: LPVOID, lpBuffer: LPCVOID, nSize: SIZE_T, lpNumberOfBytesWritten: *mut SIZE_T, ) -> BOOL; } extern "C" { pub fn CreateFileMappingW( hFile: HANDLE, lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, flProtect: DWORD, dwMaximumSizeHigh: DWORD, dwMaximumSizeLow: DWORD, lpName: LPCWSTR, ) -> HANDLE; } extern "C" { pub fn OpenFileMappingW( dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCWSTR, ) -> HANDLE; } extern "C" { pub fn MapViewOfFile( hFileMappingObject: HANDLE, dwDesiredAccess: DWORD, dwFileOffsetHigh: DWORD, dwFileOffsetLow: DWORD, dwNumberOfBytesToMap: SIZE_T, ) -> LPVOID; } extern "C" { pub fn MapViewOfFileEx( hFileMappingObject: HANDLE, dwDesiredAccess: DWORD, dwFileOffsetHigh: DWORD, dwFileOffsetLow: DWORD, dwNumberOfBytesToMap: SIZE_T, lpBaseAddress: LPVOID, ) -> LPVOID; } extern "C" { pub fn VirtualFreeEx( hProcess: HANDLE, lpAddress: LPVOID, dwSize: SIZE_T, dwFreeType: DWORD, ) -> BOOL; } extern "C" { pub fn FlushViewOfFile(lpBaseAddress: LPCVOID, dwNumberOfBytesToFlush: SIZE_T) -> BOOL; } extern "C" { pub fn UnmapViewOfFile(lpBaseAddress: LPCVOID) -> BOOL; } extern "C" { pub fn GetLargePageMinimum() -> SIZE_T; } extern "C" { pub fn GetProcessWorkingSetSizeEx( hProcess: HANDLE, lpMinimumWorkingSetSize: PSIZE_T, lpMaximumWorkingSetSize: PSIZE_T, Flags: PDWORD, ) -> BOOL; } extern "C" { pub fn SetProcessWorkingSetSizeEx( hProcess: HANDLE, dwMinimumWorkingSetSize: SIZE_T, dwMaximumWorkingSetSize: SIZE_T, Flags: DWORD, ) -> BOOL; } extern "C" { pub fn VirtualLock(lpAddress: LPVOID, dwSize: SIZE_T) -> BOOL; } extern "C" { pub fn VirtualUnlock(lpAddress: LPVOID, dwSize: SIZE_T) -> BOOL; } extern "C" { pub fn GetWriteWatch( dwFlags: DWORD, lpBaseAddress: PVOID, dwRegionSize: SIZE_T, lpAddresses: *mut PVOID, lpdwCount: *mut ULONG_PTR, lpdwGranularity: LPDWORD, ) -> UINT; } extern "C" { pub fn ResetWriteWatch(lpBaseAddress: LPVOID, dwRegionSize: SIZE_T) -> UINT; } pub const _MEMORY_RESOURCE_NOTIFICATION_TYPE_LowMemoryResourceNotification: _MEMORY_RESOURCE_NOTIFICATION_TYPE = 0; pub const _MEMORY_RESOURCE_NOTIFICATION_TYPE_HighMemoryResourceNotification: _MEMORY_RESOURCE_NOTIFICATION_TYPE = 1; pub type _MEMORY_RESOURCE_NOTIFICATION_TYPE = ::std::os::raw::c_int; pub use self::_MEMORY_RESOURCE_NOTIFICATION_TYPE as MEMORY_RESOURCE_NOTIFICATION_TYPE; extern "C" { pub fn CreateMemoryResourceNotification( NotificationType: MEMORY_RESOURCE_NOTIFICATION_TYPE, ) -> HANDLE; } extern "C" { pub fn QueryMemoryResourceNotification( ResourceNotificationHandle: HANDLE, ResourceState: PBOOL, ) -> BOOL; } extern "C" { pub fn GetSystemFileCacheSize( lpMinimumFileCacheSize: PSIZE_T, lpMaximumFileCacheSize: PSIZE_T, lpFlags: PDWORD, ) -> BOOL; } extern "C" { pub fn SetSystemFileCacheSize( MinimumFileCacheSize: SIZE_T, MaximumFileCacheSize: SIZE_T, Flags: DWORD, ) -> BOOL; } extern "C" { pub fn CreateFileMappingNumaW( hFile: HANDLE, lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, flProtect: DWORD, dwMaximumSizeHigh: DWORD, dwMaximumSizeLow: DWORD, lpName: LPCWSTR, nndPreferred: DWORD, ) -> HANDLE; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _WIN32_MEMORY_RANGE_ENTRY { pub VirtualAddress: PVOID, pub NumberOfBytes: SIZE_T, } #[test] fn bindgen_test_layout__WIN32_MEMORY_RANGE_ENTRY() { 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::null::<_WIN32_MEMORY_RANGE_ENTRY>())).VirtualAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WIN32_MEMORY_RANGE_ENTRY), "::", stringify!(VirtualAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_MEMORY_RANGE_ENTRY>())).NumberOfBytes as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::())).Flags as *const _ 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() { 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::null::())).AllocationBase as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(WIN32_MEMORY_REGION_INFORMATION), "::", stringify!(AllocationBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AllocationProtect as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(WIN32_MEMORY_REGION_INFORMATION), "::", stringify!(AllocationProtect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RegionSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(WIN32_MEMORY_REGION_INFORMATION), "::", stringify!(RegionSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CommitSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(WIN32_MEMORY_REGION_INFORMATION), "::", stringify!(CommitSize) ) ); } extern "C" { pub fn QueryVirtualMemoryInformation( Process: HANDLE, VirtualAddress: *const ::std::os::raw::c_void, MemoryInformationClass: WIN32_MEMORY_INFORMATION_CLASS, MemoryInformation: PVOID, MemoryInformationSize: SIZE_T, ReturnSize: PSIZE_T, ) -> BOOL; } extern "C" { pub fn MapViewOfFileNuma2( FileMappingHandle: HANDLE, ProcessHandle: HANDLE, Offset: ULONG64, BaseAddress: PVOID, ViewSize: SIZE_T, AllocationType: ULONG, PageProtection: ULONG, PreferredNode: ULONG, ) -> PVOID; } extern "C" { pub fn UnmapViewOfFile2(Process: HANDLE, BaseAddress: PVOID, UnmapFlags: ULONG) -> BOOL; } extern "C" { pub fn VirtualUnlockEx(Process: HANDLE, Address: LPVOID, Size: SIZE_T) -> BOOL; } extern "C" { pub fn VirtualAlloc2( Process: HANDLE, BaseAddress: PVOID, Size: SIZE_T, AllocationType: ULONG, PageProtection: ULONG, ExtendedParameters: *mut MEM_EXTENDED_PARAMETER, ParameterCount: ULONG, ) -> PVOID; } extern "C" { pub fn MapViewOfFile3( FileMapping: HANDLE, Process: HANDLE, BaseAddress: PVOID, Offset: ULONG64, ViewSize: SIZE_T, AllocationType: ULONG, PageProtection: ULONG, ExtendedParameters: *mut MEM_EXTENDED_PARAMETER, ParameterCount: ULONG, ) -> PVOID; } extern "C" { pub fn VirtualAlloc2FromApp( Process: HANDLE, BaseAddress: PVOID, Size: SIZE_T, AllocationType: ULONG, PageProtection: ULONG, ExtendedParameters: *mut MEM_EXTENDED_PARAMETER, ParameterCount: ULONG, ) -> PVOID; } extern "C" { pub fn MapViewOfFile3FromApp( FileMapping: HANDLE, Process: HANDLE, BaseAddress: PVOID, Offset: ULONG64, ViewSize: SIZE_T, AllocationType: ULONG, PageProtection: ULONG, ExtendedParameters: *mut MEM_EXTENDED_PARAMETER, ParameterCount: ULONG, ) -> PVOID; } extern "C" { pub fn CreateFileMapping2( File: HANDLE, SecurityAttributes: *mut SECURITY_ATTRIBUTES, DesiredAccess: ULONG, PageProtection: ULONG, AllocationAttributes: ULONG, MaximumSize: ULONG64, Name: PCWSTR, ExtendedParameters: *mut MEM_EXTENDED_PARAMETER, ParameterCount: ULONG, ) -> HANDLE; } extern "C" { pub fn IsEnclaveTypeSupported(flEnclaveType: DWORD) -> BOOL; } extern "C" { pub fn CreateEnclave( hProcess: HANDLE, lpAddress: LPVOID, dwSize: SIZE_T, dwInitialCommitment: SIZE_T, flEnclaveType: DWORD, lpEnclaveInformation: LPCVOID, dwInfoLength: DWORD, lpEnclaveError: LPDWORD, ) -> LPVOID; } extern "C" { pub fn LoadEnclaveData( hProcess: HANDLE, lpAddress: LPVOID, lpBuffer: LPCVOID, nSize: SIZE_T, flProtect: DWORD, lpPageInformation: LPCVOID, dwInfoLength: DWORD, lpNumberOfBytesWritten: PSIZE_T, lpEnclaveError: LPDWORD, ) -> BOOL; } extern "C" { pub fn InitializeEnclave( hProcess: HANDLE, lpAddress: LPVOID, lpEnclaveInformation: LPCVOID, dwInfoLength: DWORD, lpEnclaveError: LPDWORD, ) -> BOOL; } extern "C" { pub fn LoadEnclaveImageA(lpEnclaveAddress: LPVOID, lpImageName: LPCSTR) -> BOOL; } extern "C" { pub fn LoadEnclaveImageW(lpEnclaveAddress: LPVOID, lpImageName: LPCWSTR) -> BOOL; } extern "C" { pub fn CallEnclave( lpRoutine: LPENCLAVE_ROUTINE, lpParameter: LPVOID, fWaitForThread: BOOL, lpReturnValue: *mut LPVOID, ) -> BOOL; } extern "C" { pub fn TerminateEnclave(lpAddress: LPVOID, fWait: BOOL) -> BOOL; } extern "C" { pub fn DeleteEnclave(lpAddress: LPVOID) -> BOOL; } extern "C" { pub fn QueueUserWorkItem( Function: LPTHREAD_START_ROUTINE, Context: PVOID, Flags: ULONG, ) -> BOOL; } extern "C" { pub fn UnregisterWaitEx(WaitHandle: HANDLE, CompletionEvent: HANDLE) -> BOOL; } extern "C" { pub fn CreateTimerQueue() -> HANDLE; } extern "C" { pub fn CreateTimerQueueTimer( phNewTimer: PHANDLE, TimerQueue: HANDLE, Callback: WAITORTIMERCALLBACK, Parameter: PVOID, DueTime: DWORD, Period: DWORD, Flags: ULONG, ) -> BOOL; } extern "C" { pub fn ChangeTimerQueueTimer( TimerQueue: HANDLE, Timer: HANDLE, DueTime: ULONG, Period: ULONG, ) -> BOOL; } extern "C" { pub fn DeleteTimerQueueTimer( TimerQueue: HANDLE, Timer: HANDLE, CompletionEvent: HANDLE, ) -> BOOL; } extern "C" { pub fn DeleteTimerQueueEx(TimerQueue: HANDLE, CompletionEvent: HANDLE) -> BOOL; } pub type PTP_WIN32_IO_CALLBACK = ::std::option::Option< unsafe extern "C" fn( Instance: PTP_CALLBACK_INSTANCE, Context: PVOID, Overlapped: PVOID, IoResult: ULONG, NumberOfBytesTransferred: ULONG_PTR, Io: PTP_IO, ), >; extern "C" { pub fn CreateThreadpool(reserved: PVOID) -> PTP_POOL; } extern "C" { pub fn SetThreadpoolThreadMaximum(ptpp: PTP_POOL, cthrdMost: DWORD); } extern "C" { pub fn SetThreadpoolThreadMinimum(ptpp: PTP_POOL, cthrdMic: DWORD) -> BOOL; } extern "C" { pub fn SetThreadpoolStackInformation(ptpp: PTP_POOL, ptpsi: PTP_POOL_STACK_INFORMATION) -> BOOL; } extern "C" { pub fn QueryThreadpoolStackInformation( ptpp: PTP_POOL, ptpsi: PTP_POOL_STACK_INFORMATION, ) -> BOOL; } extern "C" { pub fn CloseThreadpool(ptpp: PTP_POOL); } extern "C" { pub fn CreateThreadpoolCleanupGroup() -> PTP_CLEANUP_GROUP; } extern "C" { pub fn CloseThreadpoolCleanupGroupMembers( ptpcg: PTP_CLEANUP_GROUP, fCancelPendingCallbacks: BOOL, pvCleanupContext: PVOID, ); } extern "C" { pub fn CloseThreadpoolCleanupGroup(ptpcg: PTP_CLEANUP_GROUP); } extern "C" { pub fn SetEventWhenCallbackReturns(pci: PTP_CALLBACK_INSTANCE, evt: HANDLE); } extern "C" { pub fn ReleaseSemaphoreWhenCallbackReturns( pci: PTP_CALLBACK_INSTANCE, sem: HANDLE, crel: DWORD, ); } extern "C" { pub fn ReleaseMutexWhenCallbackReturns(pci: PTP_CALLBACK_INSTANCE, mut_: HANDLE); } extern "C" { pub fn LeaveCriticalSectionWhenCallbackReturns( pci: PTP_CALLBACK_INSTANCE, pcs: PCRITICAL_SECTION, ); } extern "C" { pub fn FreeLibraryWhenCallbackReturns(pci: PTP_CALLBACK_INSTANCE, mod_: HMODULE); } extern "C" { pub fn CallbackMayRunLong(pci: PTP_CALLBACK_INSTANCE) -> BOOL; } extern "C" { pub fn DisassociateCurrentThreadFromCallback(pci: PTP_CALLBACK_INSTANCE); } extern "C" { pub fn TrySubmitThreadpoolCallback( pfns: PTP_SIMPLE_CALLBACK, pv: PVOID, pcbe: PTP_CALLBACK_ENVIRON, ) -> BOOL; } extern "C" { pub fn CreateThreadpoolWork( pfnwk: PTP_WORK_CALLBACK, pv: PVOID, pcbe: PTP_CALLBACK_ENVIRON, ) -> PTP_WORK; } extern "C" { pub fn SubmitThreadpoolWork(pwk: PTP_WORK); } extern "C" { pub fn WaitForThreadpoolWorkCallbacks(pwk: PTP_WORK, fCancelPendingCallbacks: BOOL); } extern "C" { pub fn CloseThreadpoolWork(pwk: PTP_WORK); } extern "C" { pub fn CreateThreadpoolTimer( pfnti: PTP_TIMER_CALLBACK, pv: PVOID, pcbe: PTP_CALLBACK_ENVIRON, ) -> PTP_TIMER; } extern "C" { pub fn SetThreadpoolTimer( pti: PTP_TIMER, pftDueTime: PFILETIME, msPeriod: DWORD, msWindowLength: DWORD, ); } extern "C" { pub fn IsThreadpoolTimerSet(pti: PTP_TIMER) -> BOOL; } extern "C" { pub fn WaitForThreadpoolTimerCallbacks(pti: PTP_TIMER, fCancelPendingCallbacks: BOOL); } extern "C" { pub fn CloseThreadpoolTimer(pti: PTP_TIMER); } extern "C" { pub fn CreateThreadpoolWait( pfnwa: PTP_WAIT_CALLBACK, pv: PVOID, pcbe: PTP_CALLBACK_ENVIRON, ) -> PTP_WAIT; } extern "C" { pub fn SetThreadpoolWait(pwa: PTP_WAIT, h: HANDLE, pftTimeout: PFILETIME); } extern "C" { pub fn WaitForThreadpoolWaitCallbacks(pwa: PTP_WAIT, fCancelPendingCallbacks: BOOL); } extern "C" { pub fn CloseThreadpoolWait(pwa: PTP_WAIT); } extern "C" { pub fn CreateThreadpoolIo( fl: HANDLE, pfnio: PTP_WIN32_IO_CALLBACK, pv: PVOID, pcbe: PTP_CALLBACK_ENVIRON, ) -> PTP_IO; } extern "C" { pub fn StartThreadpoolIo(pio: PTP_IO); } extern "C" { pub fn CancelThreadpoolIo(pio: PTP_IO); } extern "C" { pub fn WaitForThreadpoolIoCallbacks(pio: PTP_IO, fCancelPendingCallbacks: BOOL); } extern "C" { pub fn CloseThreadpoolIo(pio: PTP_IO); } extern "C" { pub fn SetThreadpoolTimerEx( pti: PTP_TIMER, pftDueTime: PFILETIME, msPeriod: DWORD, msWindowLength: DWORD, ) -> BOOL; } extern "C" { pub fn SetThreadpoolWaitEx( pwa: PTP_WAIT, h: HANDLE, pftTimeout: PFILETIME, Reserved: PVOID, ) -> BOOL; } extern "C" { pub fn IsProcessInJob(ProcessHandle: HANDLE, JobHandle: HANDLE, Result: PBOOL) -> BOOL; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION { pub MaxIops: LONG64, pub MaxBandwidth: LONG64, pub ReservationIops: LONG64, pub VolumeName: PCWSTR, pub BaseIoSize: ULONG, pub ControlFlags: ULONG, } #[test] fn bindgen_test_layout_JOBOBJECT_IO_RATE_CONTROL_INFORMATION() { 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::null::())).MaxIops as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), "::", stringify!(MaxIops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxBandwidth as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), "::", stringify!(MaxBandwidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReservationIops as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), "::", stringify!(ReservationIops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).VolumeName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), "::", stringify!(VolumeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BaseIoSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), "::", stringify!(BaseIoSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ControlFlags as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), "::", stringify!(ControlFlags) ) ); } extern "C" { pub fn CreateJobObjectW(lpJobAttributes: LPSECURITY_ATTRIBUTES, lpName: LPCWSTR) -> HANDLE; } extern "C" { pub fn FreeMemoryJobObject(Buffer: *mut ::std::os::raw::c_void); } extern "C" { pub fn OpenJobObjectW(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE; } extern "C" { pub fn AssignProcessToJobObject(hJob: HANDLE, hProcess: HANDLE) -> BOOL; } extern "C" { pub fn TerminateJobObject(hJob: HANDLE, uExitCode: UINT) -> BOOL; } extern "C" { pub fn SetInformationJobObject( hJob: HANDLE, JobObjectInformationClass: JOBOBJECTINFOCLASS, lpJobObjectInformation: LPVOID, cbJobObjectInformationLength: DWORD, ) -> BOOL; } extern "C" { pub fn SetIoRateControlInformationJobObject( hJob: HANDLE, IoRateControlInfo: *mut JOBOBJECT_IO_RATE_CONTROL_INFORMATION, ) -> DWORD; } extern "C" { pub fn QueryInformationJobObject( hJob: HANDLE, JobObjectInformationClass: JOBOBJECTINFOCLASS, lpJobObjectInformation: LPVOID, cbJobObjectInformationLength: DWORD, lpReturnLength: LPDWORD, ) -> BOOL; } extern "C" { pub fn QueryIoRateControlInformationJobObject( hJob: HANDLE, VolumeName: PCWSTR, InfoBlocks: *mut *mut JOBOBJECT_IO_RATE_CONTROL_INFORMATION, InfoBlockCount: *mut ULONG, ) -> DWORD; } extern "C" { pub fn Wow64DisableWow64FsRedirection(OldValue: *mut PVOID) -> BOOL; } extern "C" { pub fn Wow64RevertWow64FsRedirection(OlValue: PVOID) -> BOOL; } extern "C" { pub fn IsWow64Process(hProcess: HANDLE, Wow64Process: PBOOL) -> BOOL; } extern "C" { pub fn GetSystemWow64DirectoryA(lpBuffer: LPSTR, uSize: UINT) -> UINT; } extern "C" { pub fn GetSystemWow64DirectoryW(lpBuffer: LPWSTR, uSize: UINT) -> UINT; } extern "C" { pub fn Wow64SetThreadDefaultGuestMachine(Machine: USHORT) -> USHORT; } extern "C" { pub fn IsWow64Process2( hProcess: HANDLE, pProcessMachine: *mut USHORT, pNativeMachine: *mut USHORT, ) -> BOOL; } extern "C" { pub fn GetSystemWow64Directory2A( lpBuffer: LPSTR, uSize: UINT, ImageFileMachineType: WORD, ) -> UINT; } extern "C" { pub fn GetSystemWow64Directory2W( lpBuffer: LPWSTR, uSize: UINT, ImageFileMachineType: WORD, ) -> UINT; } extern "C" { pub fn IsWow64GuestMachineSupported( WowGuestMachine: USHORT, MachineIsSupported: *mut BOOL, ) -> HRESULT; } #[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() { 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::null::())).NumOfEnumUILang as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagENUMUILANG), "::", stringify!(NumOfEnumUILang) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SizeOfEnumUIBuffer as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagENUMUILANG), "::", stringify!(SizeOfEnumUIBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pEnumUIBuffer as *const _ 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() { 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::null::<_REDIRECTION_FUNCTION_DESCRIPTOR>())).DllName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REDIRECTION_FUNCTION_DESCRIPTOR), "::", stringify!(DllName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REDIRECTION_FUNCTION_DESCRIPTOR>())).FunctionName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_REDIRECTION_FUNCTION_DESCRIPTOR), "::", stringify!(FunctionName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REDIRECTION_FUNCTION_DESCRIPTOR>())).RedirectionTarget as *const _ 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() { 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::null::<_REDIRECTION_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REDIRECTION_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REDIRECTION_DESCRIPTOR>())).FunctionCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_REDIRECTION_DESCRIPTOR), "::", stringify!(FunctionCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REDIRECTION_DESCRIPTOR>())).Redirections as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_REDIRECTION_DESCRIPTOR), "::", stringify!(Redirections) ) ); } pub type REDIRECTION_DESCRIPTOR = _REDIRECTION_DESCRIPTOR; pub type PREDIRECTION_DESCRIPTOR = *mut _REDIRECTION_DESCRIPTOR; pub type PCREDIRECTION_DESCRIPTOR = *const REDIRECTION_DESCRIPTOR; extern "C" { pub fn LoadLibraryExA(lpLibFileName: LPCSTR, hFile: HANDLE, dwFlags: DWORD) -> HMODULE; } extern "C" { pub fn LoadLibraryExW(lpLibFileName: LPCWSTR, hFile: HANDLE, dwFlags: DWORD) -> HMODULE; } extern "C" { pub fn LoadResource(hModule: HMODULE, hResInfo: HRSRC) -> HGLOBAL; } extern "C" { pub fn LoadStringA( hInstance: HINSTANCE, uID: UINT, lpBuffer: LPSTR, cchBufferMax: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn LoadStringW( hInstance: HINSTANCE, uID: UINT, lpBuffer: LPWSTR, cchBufferMax: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn LockResource(hResData: HGLOBAL) -> LPVOID; } extern "C" { pub fn SizeofResource(hModule: HMODULE, hResInfo: HRSRC) -> DWORD; } pub type DLL_DIRECTORY_COOKIE = PVOID; pub type PDLL_DIRECTORY_COOKIE = *mut PVOID; extern "C" { pub fn AddDllDirectory(NewDirectory: PCWSTR) -> DLL_DIRECTORY_COOKIE; } extern "C" { pub fn RemoveDllDirectory(Cookie: DLL_DIRECTORY_COOKIE) -> BOOL; } extern "C" { pub fn SetDefaultDllDirectories(DirectoryFlags: DWORD) -> BOOL; } extern "C" { pub fn EnumResourceLanguagesExA( hModule: HMODULE, lpType: LPCSTR, lpName: LPCSTR, lpEnumFunc: ENUMRESLANGPROCA, lParam: LONG_PTR, dwFlags: DWORD, LangId: LANGID, ) -> BOOL; } extern "C" { pub fn EnumResourceLanguagesExW( hModule: HMODULE, lpType: LPCWSTR, lpName: LPCWSTR, lpEnumFunc: ENUMRESLANGPROCW, lParam: LONG_PTR, dwFlags: DWORD, LangId: LANGID, ) -> BOOL; } extern "C" { pub fn EnumResourceNamesExA( hModule: HMODULE, lpType: LPCSTR, lpEnumFunc: ENUMRESNAMEPROCA, lParam: LONG_PTR, dwFlags: DWORD, LangId: LANGID, ) -> BOOL; } extern "C" { pub fn EnumResourceNamesExW( hModule: HMODULE, lpType: LPCWSTR, lpEnumFunc: ENUMRESNAMEPROCW, lParam: LONG_PTR, dwFlags: DWORD, LangId: LANGID, ) -> BOOL; } extern "C" { pub fn EnumResourceTypesExA( hModule: HMODULE, lpEnumFunc: ENUMRESTYPEPROCA, lParam: LONG_PTR, dwFlags: DWORD, LangId: LANGID, ) -> BOOL; } extern "C" { pub fn EnumResourceTypesExW( hModule: HMODULE, lpEnumFunc: ENUMRESTYPEPROCW, lParam: LONG_PTR, dwFlags: DWORD, LangId: LANGID, ) -> BOOL; } extern "C" { pub fn FindResourceW(hModule: HMODULE, lpName: LPCWSTR, lpType: LPCWSTR) -> HRSRC; } extern "C" { pub fn LoadLibraryA(lpLibFileName: LPCSTR) -> HMODULE; } extern "C" { pub fn LoadLibraryW(lpLibFileName: LPCWSTR) -> HMODULE; } extern "C" { pub fn EnumResourceNamesW( hModule: HMODULE, lpType: LPCWSTR, lpEnumFunc: ENUMRESNAMEPROCW, lParam: LONG_PTR, ) -> BOOL; } extern "C" { pub fn AccessCheck( pSecurityDescriptor: PSECURITY_DESCRIPTOR, ClientToken: HANDLE, DesiredAccess: DWORD, GenericMapping: PGENERIC_MAPPING, PrivilegeSet: PPRIVILEGE_SET, PrivilegeSetLength: LPDWORD, GrantedAccess: LPDWORD, AccessStatus: LPBOOL, ) -> BOOL; } extern "C" { pub fn AccessCheckAndAuditAlarmW( SubsystemName: LPCWSTR, HandleId: LPVOID, ObjectTypeName: LPWSTR, ObjectName: LPWSTR, SecurityDescriptor: PSECURITY_DESCRIPTOR, DesiredAccess: DWORD, GenericMapping: PGENERIC_MAPPING, ObjectCreation: BOOL, GrantedAccess: LPDWORD, AccessStatus: LPBOOL, pfGenerateOnClose: LPBOOL, ) -> BOOL; } extern "C" { pub fn AccessCheckByType( pSecurityDescriptor: PSECURITY_DESCRIPTOR, PrincipalSelfSid: PSID, ClientToken: HANDLE, DesiredAccess: DWORD, ObjectTypeList: POBJECT_TYPE_LIST, ObjectTypeListLength: DWORD, GenericMapping: PGENERIC_MAPPING, PrivilegeSet: PPRIVILEGE_SET, PrivilegeSetLength: LPDWORD, GrantedAccess: LPDWORD, AccessStatus: LPBOOL, ) -> BOOL; } extern "C" { pub fn AccessCheckByTypeResultList( pSecurityDescriptor: PSECURITY_DESCRIPTOR, PrincipalSelfSid: PSID, ClientToken: HANDLE, DesiredAccess: DWORD, ObjectTypeList: POBJECT_TYPE_LIST, ObjectTypeListLength: DWORD, GenericMapping: PGENERIC_MAPPING, PrivilegeSet: PPRIVILEGE_SET, PrivilegeSetLength: LPDWORD, GrantedAccessList: LPDWORD, AccessStatusList: LPDWORD, ) -> BOOL; } extern "C" { pub fn AccessCheckByTypeAndAuditAlarmW( SubsystemName: LPCWSTR, HandleId: LPVOID, ObjectTypeName: LPCWSTR, ObjectName: LPCWSTR, SecurityDescriptor: PSECURITY_DESCRIPTOR, PrincipalSelfSid: PSID, DesiredAccess: DWORD, AuditType: AUDIT_EVENT_TYPE, Flags: DWORD, ObjectTypeList: POBJECT_TYPE_LIST, ObjectTypeListLength: DWORD, GenericMapping: PGENERIC_MAPPING, ObjectCreation: BOOL, GrantedAccess: LPDWORD, AccessStatus: LPBOOL, pfGenerateOnClose: LPBOOL, ) -> BOOL; } extern "C" { pub fn AccessCheckByTypeResultListAndAuditAlarmW( SubsystemName: LPCWSTR, HandleId: LPVOID, ObjectTypeName: LPCWSTR, ObjectName: LPCWSTR, SecurityDescriptor: PSECURITY_DESCRIPTOR, PrincipalSelfSid: PSID, DesiredAccess: DWORD, AuditType: AUDIT_EVENT_TYPE, Flags: DWORD, ObjectTypeList: POBJECT_TYPE_LIST, ObjectTypeListLength: DWORD, GenericMapping: PGENERIC_MAPPING, ObjectCreation: BOOL, GrantedAccessList: LPDWORD, AccessStatusList: LPDWORD, pfGenerateOnClose: LPBOOL, ) -> BOOL; } extern "C" { pub fn AccessCheckByTypeResultListAndAuditAlarmByHandleW( SubsystemName: LPCWSTR, HandleId: LPVOID, ClientToken: HANDLE, ObjectTypeName: LPCWSTR, ObjectName: LPCWSTR, SecurityDescriptor: PSECURITY_DESCRIPTOR, PrincipalSelfSid: PSID, DesiredAccess: DWORD, AuditType: AUDIT_EVENT_TYPE, Flags: DWORD, ObjectTypeList: POBJECT_TYPE_LIST, ObjectTypeListLength: DWORD, GenericMapping: PGENERIC_MAPPING, ObjectCreation: BOOL, GrantedAccessList: LPDWORD, AccessStatusList: LPDWORD, pfGenerateOnClose: LPBOOL, ) -> BOOL; } extern "C" { pub fn AddAccessAllowedAce( pAcl: PACL, dwAceRevision: DWORD, AccessMask: DWORD, pSid: PSID, ) -> BOOL; } extern "C" { pub fn AddAccessAllowedAceEx( pAcl: PACL, dwAceRevision: DWORD, AceFlags: DWORD, AccessMask: DWORD, pSid: PSID, ) -> BOOL; } extern "C" { pub fn AddAccessAllowedObjectAce( pAcl: PACL, dwAceRevision: DWORD, AceFlags: DWORD, AccessMask: DWORD, ObjectTypeGuid: *mut GUID, InheritedObjectTypeGuid: *mut GUID, pSid: PSID, ) -> BOOL; } extern "C" { pub fn AddAccessDeniedAce( pAcl: PACL, dwAceRevision: DWORD, AccessMask: DWORD, pSid: PSID, ) -> BOOL; } extern "C" { pub fn AddAccessDeniedAceEx( pAcl: PACL, dwAceRevision: DWORD, AceFlags: DWORD, AccessMask: DWORD, pSid: PSID, ) -> BOOL; } extern "C" { pub fn AddAccessDeniedObjectAce( pAcl: PACL, dwAceRevision: DWORD, AceFlags: DWORD, AccessMask: DWORD, ObjectTypeGuid: *mut GUID, InheritedObjectTypeGuid: *mut GUID, pSid: PSID, ) -> BOOL; } extern "C" { pub fn AddAce( pAcl: PACL, dwAceRevision: DWORD, dwStartingAceIndex: DWORD, pAceList: LPVOID, nAceListLength: DWORD, ) -> BOOL; } extern "C" { pub fn AddAuditAccessAce( pAcl: PACL, dwAceRevision: DWORD, dwAccessMask: DWORD, pSid: PSID, bAuditSuccess: BOOL, bAuditFailure: BOOL, ) -> BOOL; } extern "C" { pub fn AddAuditAccessAceEx( pAcl: PACL, dwAceRevision: DWORD, AceFlags: DWORD, dwAccessMask: DWORD, pSid: PSID, bAuditSuccess: BOOL, bAuditFailure: BOOL, ) -> BOOL; } extern "C" { pub fn AddAuditAccessObjectAce( pAcl: PACL, dwAceRevision: DWORD, AceFlags: DWORD, AccessMask: DWORD, ObjectTypeGuid: *mut GUID, InheritedObjectTypeGuid: *mut GUID, pSid: PSID, bAuditSuccess: BOOL, bAuditFailure: BOOL, ) -> BOOL; } extern "C" { pub fn AddMandatoryAce( pAcl: PACL, dwAceRevision: DWORD, AceFlags: DWORD, MandatoryPolicy: DWORD, pLabelSid: PSID, ) -> BOOL; } extern "C" { pub fn AddResourceAttributeAce( pAcl: PACL, dwAceRevision: DWORD, AceFlags: DWORD, AccessMask: DWORD, pSid: PSID, pAttributeInfo: PCLAIM_SECURITY_ATTRIBUTES_INFORMATION, pReturnLength: PDWORD, ) -> BOOL; } extern "C" { pub fn AddScopedPolicyIDAce( pAcl: PACL, dwAceRevision: DWORD, AceFlags: DWORD, AccessMask: DWORD, pSid: PSID, ) -> BOOL; } extern "C" { pub fn AdjustTokenGroups( TokenHandle: HANDLE, ResetToDefault: BOOL, NewState: PTOKEN_GROUPS, BufferLength: DWORD, PreviousState: PTOKEN_GROUPS, ReturnLength: PDWORD, ) -> BOOL; } extern "C" { pub fn AdjustTokenPrivileges( TokenHandle: HANDLE, DisableAllPrivileges: BOOL, NewState: PTOKEN_PRIVILEGES, BufferLength: DWORD, PreviousState: PTOKEN_PRIVILEGES, ReturnLength: PDWORD, ) -> BOOL; } extern "C" { pub fn AllocateAndInitializeSid( pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY, nSubAuthorityCount: BYTE, nSubAuthority0: DWORD, nSubAuthority1: DWORD, nSubAuthority2: DWORD, nSubAuthority3: DWORD, nSubAuthority4: DWORD, nSubAuthority5: DWORD, nSubAuthority6: DWORD, nSubAuthority7: DWORD, pSid: *mut PSID, ) -> BOOL; } extern "C" { pub fn AllocateLocallyUniqueId(Luid: PLUID) -> BOOL; } extern "C" { pub fn AreAllAccessesGranted(GrantedAccess: DWORD, DesiredAccess: DWORD) -> BOOL; } extern "C" { pub fn AreAnyAccessesGranted(GrantedAccess: DWORD, DesiredAccess: DWORD) -> BOOL; } extern "C" { pub fn CheckTokenMembership(TokenHandle: HANDLE, SidToCheck: PSID, IsMember: PBOOL) -> BOOL; } extern "C" { pub fn CheckTokenCapability( TokenHandle: HANDLE, CapabilitySidToCheck: PSID, HasCapability: PBOOL, ) -> BOOL; } extern "C" { pub fn GetAppContainerAce( Acl: PACL, StartingAceIndex: DWORD, AppContainerAce: *mut PVOID, AppContainerAceIndex: *mut DWORD, ) -> BOOL; } extern "C" { pub fn CheckTokenMembershipEx( TokenHandle: HANDLE, SidToCheck: PSID, Flags: DWORD, IsMember: PBOOL, ) -> BOOL; } extern "C" { pub fn ConvertToAutoInheritPrivateObjectSecurity( ParentDescriptor: PSECURITY_DESCRIPTOR, CurrentSecurityDescriptor: PSECURITY_DESCRIPTOR, NewSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, ObjectType: *mut GUID, IsDirectoryObject: BOOLEAN, GenericMapping: PGENERIC_MAPPING, ) -> BOOL; } extern "C" { pub fn CopySid(nDestinationSidLength: DWORD, pDestinationSid: PSID, pSourceSid: PSID) -> BOOL; } extern "C" { pub fn CreatePrivateObjectSecurity( ParentDescriptor: PSECURITY_DESCRIPTOR, CreatorDescriptor: PSECURITY_DESCRIPTOR, NewDescriptor: *mut PSECURITY_DESCRIPTOR, IsDirectoryObject: BOOL, Token: HANDLE, GenericMapping: PGENERIC_MAPPING, ) -> BOOL; } extern "C" { pub fn CreatePrivateObjectSecurityEx( ParentDescriptor: PSECURITY_DESCRIPTOR, CreatorDescriptor: PSECURITY_DESCRIPTOR, NewDescriptor: *mut PSECURITY_DESCRIPTOR, ObjectType: *mut GUID, IsContainerObject: BOOL, AutoInheritFlags: ULONG, Token: HANDLE, GenericMapping: PGENERIC_MAPPING, ) -> BOOL; } extern "C" { pub fn CreatePrivateObjectSecurityWithMultipleInheritance( ParentDescriptor: PSECURITY_DESCRIPTOR, CreatorDescriptor: PSECURITY_DESCRIPTOR, NewDescriptor: *mut PSECURITY_DESCRIPTOR, ObjectTypes: *mut *mut GUID, GuidCount: ULONG, IsContainerObject: BOOL, AutoInheritFlags: ULONG, Token: HANDLE, GenericMapping: PGENERIC_MAPPING, ) -> BOOL; } extern "C" { pub fn CreateRestrictedToken( ExistingTokenHandle: HANDLE, Flags: DWORD, DisableSidCount: DWORD, SidsToDisable: PSID_AND_ATTRIBUTES, DeletePrivilegeCount: DWORD, PrivilegesToDelete: PLUID_AND_ATTRIBUTES, RestrictedSidCount: DWORD, SidsToRestrict: PSID_AND_ATTRIBUTES, NewTokenHandle: PHANDLE, ) -> BOOL; } extern "C" { pub fn CreateWellKnownSid( WellKnownSidType: WELL_KNOWN_SID_TYPE, DomainSid: PSID, pSid: PSID, cbSid: *mut DWORD, ) -> BOOL; } extern "C" { pub fn EqualDomainSid(pSid1: PSID, pSid2: PSID, pfEqual: *mut BOOL) -> BOOL; } extern "C" { pub fn DeleteAce(pAcl: PACL, dwAceIndex: DWORD) -> BOOL; } extern "C" { pub fn DestroyPrivateObjectSecurity(ObjectDescriptor: *mut PSECURITY_DESCRIPTOR) -> BOOL; } extern "C" { pub fn DuplicateToken( ExistingTokenHandle: HANDLE, ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, DuplicateTokenHandle: PHANDLE, ) -> BOOL; } extern "C" { pub fn DuplicateTokenEx( hExistingToken: HANDLE, dwDesiredAccess: DWORD, lpTokenAttributes: LPSECURITY_ATTRIBUTES, ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, TokenType: TOKEN_TYPE, phNewToken: PHANDLE, ) -> BOOL; } extern "C" { pub fn EqualPrefixSid(pSid1: PSID, pSid2: PSID) -> BOOL; } extern "C" { pub fn EqualSid(pSid1: PSID, pSid2: PSID) -> BOOL; } extern "C" { pub fn FindFirstFreeAce(pAcl: PACL, pAce: *mut LPVOID) -> BOOL; } extern "C" { pub fn FreeSid(pSid: PSID) -> PVOID; } extern "C" { pub fn GetAce(pAcl: PACL, dwAceIndex: DWORD, pAce: *mut LPVOID) -> BOOL; } extern "C" { pub fn GetAclInformation( pAcl: PACL, pAclInformation: LPVOID, nAclInformationLength: DWORD, dwAclInformationClass: ACL_INFORMATION_CLASS, ) -> BOOL; } extern "C" { pub fn GetFileSecurityW( lpFileName: LPCWSTR, RequestedInformation: SECURITY_INFORMATION, pSecurityDescriptor: PSECURITY_DESCRIPTOR, nLength: DWORD, lpnLengthNeeded: LPDWORD, ) -> BOOL; } extern "C" { pub fn GetKernelObjectSecurity( Handle: HANDLE, RequestedInformation: SECURITY_INFORMATION, pSecurityDescriptor: PSECURITY_DESCRIPTOR, nLength: DWORD, lpnLengthNeeded: LPDWORD, ) -> BOOL; } extern "C" { pub fn GetLengthSid(pSid: PSID) -> DWORD; } extern "C" { pub fn GetPrivateObjectSecurity( ObjectDescriptor: PSECURITY_DESCRIPTOR, SecurityInformation: SECURITY_INFORMATION, ResultantDescriptor: PSECURITY_DESCRIPTOR, DescriptorLength: DWORD, ReturnLength: PDWORD, ) -> BOOL; } extern "C" { pub fn GetSecurityDescriptorControl( pSecurityDescriptor: PSECURITY_DESCRIPTOR, pControl: PSECURITY_DESCRIPTOR_CONTROL, lpdwRevision: LPDWORD, ) -> BOOL; } extern "C" { pub fn GetSecurityDescriptorDacl( pSecurityDescriptor: PSECURITY_DESCRIPTOR, lpbDaclPresent: LPBOOL, pDacl: *mut PACL, lpbDaclDefaulted: LPBOOL, ) -> BOOL; } extern "C" { pub fn GetSecurityDescriptorGroup( pSecurityDescriptor: PSECURITY_DESCRIPTOR, pGroup: *mut PSID, lpbGroupDefaulted: LPBOOL, ) -> BOOL; } extern "C" { pub fn GetSecurityDescriptorLength(pSecurityDescriptor: PSECURITY_DESCRIPTOR) -> DWORD; } extern "C" { pub fn GetSecurityDescriptorOwner( pSecurityDescriptor: PSECURITY_DESCRIPTOR, pOwner: *mut PSID, lpbOwnerDefaulted: LPBOOL, ) -> BOOL; } extern "C" { pub fn GetSecurityDescriptorRMControl( SecurityDescriptor: PSECURITY_DESCRIPTOR, RMControl: PUCHAR, ) -> DWORD; } extern "C" { pub fn GetSecurityDescriptorSacl( pSecurityDescriptor: PSECURITY_DESCRIPTOR, lpbSaclPresent: LPBOOL, pSacl: *mut PACL, lpbSaclDefaulted: LPBOOL, ) -> BOOL; } extern "C" { pub fn GetSidIdentifierAuthority(pSid: PSID) -> PSID_IDENTIFIER_AUTHORITY; } extern "C" { pub fn GetSidLengthRequired(nSubAuthorityCount: UCHAR) -> DWORD; } extern "C" { pub fn GetSidSubAuthority(pSid: PSID, nSubAuthority: DWORD) -> PDWORD; } extern "C" { pub fn GetSidSubAuthorityCount(pSid: PSID) -> PUCHAR; } extern "C" { pub fn GetTokenInformation( TokenHandle: HANDLE, TokenInformationClass: TOKEN_INFORMATION_CLASS, TokenInformation: LPVOID, TokenInformationLength: DWORD, ReturnLength: PDWORD, ) -> BOOL; } extern "C" { pub fn GetWindowsAccountDomainSid( pSid: PSID, pDomainSid: PSID, cbDomainSid: *mut DWORD, ) -> BOOL; } extern "C" { pub fn ImpersonateAnonymousToken(ThreadHandle: HANDLE) -> BOOL; } extern "C" { pub fn ImpersonateLoggedOnUser(hToken: HANDLE) -> BOOL; } extern "C" { pub fn ImpersonateSelf(ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL) -> BOOL; } extern "C" { pub fn InitializeAcl(pAcl: PACL, nAclLength: DWORD, dwAclRevision: DWORD) -> BOOL; } extern "C" { pub fn InitializeSecurityDescriptor( pSecurityDescriptor: PSECURITY_DESCRIPTOR, dwRevision: DWORD, ) -> BOOL; } extern "C" { pub fn InitializeSid( Sid: PSID, pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY, nSubAuthorityCount: BYTE, ) -> BOOL; } extern "C" { pub fn IsTokenRestricted(TokenHandle: HANDLE) -> BOOL; } extern "C" { pub fn IsValidAcl(pAcl: PACL) -> BOOL; } extern "C" { pub fn IsValidSecurityDescriptor(pSecurityDescriptor: PSECURITY_DESCRIPTOR) -> BOOL; } extern "C" { pub fn IsValidSid(pSid: PSID) -> BOOL; } extern "C" { pub fn IsWellKnownSid(pSid: PSID, WellKnownSidType: WELL_KNOWN_SID_TYPE) -> BOOL; } extern "C" { pub fn MakeAbsoluteSD( pSelfRelativeSecurityDescriptor: PSECURITY_DESCRIPTOR, pAbsoluteSecurityDescriptor: PSECURITY_DESCRIPTOR, lpdwAbsoluteSecurityDescriptorSize: LPDWORD, pDacl: PACL, lpdwDaclSize: LPDWORD, pSacl: PACL, lpdwSaclSize: LPDWORD, pOwner: PSID, lpdwOwnerSize: LPDWORD, pPrimaryGroup: PSID, lpdwPrimaryGroupSize: LPDWORD, ) -> BOOL; } extern "C" { pub fn MakeSelfRelativeSD( pAbsoluteSecurityDescriptor: PSECURITY_DESCRIPTOR, pSelfRelativeSecurityDescriptor: PSECURITY_DESCRIPTOR, lpdwBufferLength: LPDWORD, ) -> BOOL; } extern "C" { pub fn MapGenericMask(AccessMask: PDWORD, GenericMapping: PGENERIC_MAPPING); } extern "C" { pub fn ObjectCloseAuditAlarmW( SubsystemName: LPCWSTR, HandleId: LPVOID, GenerateOnClose: BOOL, ) -> BOOL; } extern "C" { pub fn ObjectDeleteAuditAlarmW( SubsystemName: LPCWSTR, HandleId: LPVOID, GenerateOnClose: BOOL, ) -> BOOL; } extern "C" { pub fn ObjectOpenAuditAlarmW( SubsystemName: LPCWSTR, HandleId: LPVOID, ObjectTypeName: LPWSTR, ObjectName: LPWSTR, pSecurityDescriptor: PSECURITY_DESCRIPTOR, ClientToken: HANDLE, DesiredAccess: DWORD, GrantedAccess: DWORD, Privileges: PPRIVILEGE_SET, ObjectCreation: BOOL, AccessGranted: BOOL, GenerateOnClose: LPBOOL, ) -> BOOL; } extern "C" { pub fn ObjectPrivilegeAuditAlarmW( SubsystemName: LPCWSTR, HandleId: LPVOID, ClientToken: HANDLE, DesiredAccess: DWORD, Privileges: PPRIVILEGE_SET, AccessGranted: BOOL, ) -> BOOL; } extern "C" { pub fn PrivilegeCheck( ClientToken: HANDLE, RequiredPrivileges: PPRIVILEGE_SET, pfResult: LPBOOL, ) -> BOOL; } extern "C" { pub fn PrivilegedServiceAuditAlarmW( SubsystemName: LPCWSTR, ServiceName: LPCWSTR, ClientToken: HANDLE, Privileges: PPRIVILEGE_SET, AccessGranted: BOOL, ) -> BOOL; } extern "C" { pub fn QuerySecurityAccessMask( SecurityInformation: SECURITY_INFORMATION, DesiredAccess: LPDWORD, ); } extern "C" { pub fn RevertToSelf() -> BOOL; } extern "C" { pub fn SetAclInformation( pAcl: PACL, pAclInformation: LPVOID, nAclInformationLength: DWORD, dwAclInformationClass: ACL_INFORMATION_CLASS, ) -> BOOL; } extern "C" { pub fn SetFileSecurityW( lpFileName: LPCWSTR, SecurityInformation: SECURITY_INFORMATION, pSecurityDescriptor: PSECURITY_DESCRIPTOR, ) -> BOOL; } extern "C" { pub fn SetKernelObjectSecurity( Handle: HANDLE, SecurityInformation: SECURITY_INFORMATION, SecurityDescriptor: PSECURITY_DESCRIPTOR, ) -> BOOL; } extern "C" { pub fn SetPrivateObjectSecurity( SecurityInformation: SECURITY_INFORMATION, ModificationDescriptor: PSECURITY_DESCRIPTOR, ObjectsSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, GenericMapping: PGENERIC_MAPPING, Token: HANDLE, ) -> BOOL; } extern "C" { pub fn SetPrivateObjectSecurityEx( SecurityInformation: SECURITY_INFORMATION, ModificationDescriptor: PSECURITY_DESCRIPTOR, ObjectsSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, AutoInheritFlags: ULONG, GenericMapping: PGENERIC_MAPPING, Token: HANDLE, ) -> BOOL; } extern "C" { pub fn SetSecurityAccessMask(SecurityInformation: SECURITY_INFORMATION, DesiredAccess: LPDWORD); } extern "C" { pub fn SetSecurityDescriptorControl( pSecurityDescriptor: PSECURITY_DESCRIPTOR, ControlBitsOfInterest: SECURITY_DESCRIPTOR_CONTROL, ControlBitsToSet: SECURITY_DESCRIPTOR_CONTROL, ) -> BOOL; } extern "C" { pub fn SetSecurityDescriptorDacl( pSecurityDescriptor: PSECURITY_DESCRIPTOR, bDaclPresent: BOOL, pDacl: PACL, bDaclDefaulted: BOOL, ) -> BOOL; } extern "C" { pub fn SetSecurityDescriptorGroup( pSecurityDescriptor: PSECURITY_DESCRIPTOR, pGroup: PSID, bGroupDefaulted: BOOL, ) -> BOOL; } extern "C" { pub fn SetSecurityDescriptorOwner( pSecurityDescriptor: PSECURITY_DESCRIPTOR, pOwner: PSID, bOwnerDefaulted: BOOL, ) -> BOOL; } extern "C" { pub fn SetSecurityDescriptorRMControl( SecurityDescriptor: PSECURITY_DESCRIPTOR, RMControl: PUCHAR, ) -> DWORD; } extern "C" { pub fn SetSecurityDescriptorSacl( pSecurityDescriptor: PSECURITY_DESCRIPTOR, bSaclPresent: BOOL, pSacl: PACL, bSaclDefaulted: BOOL, ) -> BOOL; } extern "C" { pub fn SetTokenInformation( TokenHandle: HANDLE, TokenInformationClass: TOKEN_INFORMATION_CLASS, TokenInformation: LPVOID, TokenInformationLength: DWORD, ) -> BOOL; } extern "C" { pub fn SetCachedSigningLevel( SourceFiles: PHANDLE, SourceFileCount: ULONG, Flags: ULONG, TargetFile: HANDLE, ) -> BOOL; } extern "C" { pub fn GetCachedSigningLevel( File: HANDLE, Flags: PULONG, SigningLevel: PULONG, Thumbprint: PUCHAR, ThumbprintSize: PULONG, ThumbprintAlgorithm: PULONG, ) -> BOOL; } extern "C" { pub fn CveEventWrite(CveId: PCWSTR, AdditionalDetails: PCWSTR) -> LONG; } extern "C" { pub fn DeriveCapabilitySidsFromName( CapName: LPCWSTR, CapabilityGroupSids: *mut *mut PSID, CapabilityGroupSidCount: *mut DWORD, CapabilitySids: *mut *mut PSID, CapabilitySidCount: *mut DWORD, ) -> BOOL; } extern "C" { pub fn CreatePrivateNamespaceW( lpPrivateNamespaceAttributes: LPSECURITY_ATTRIBUTES, lpBoundaryDescriptor: LPVOID, lpAliasPrefix: LPCWSTR, ) -> HANDLE; } extern "C" { pub fn OpenPrivateNamespaceW(lpBoundaryDescriptor: LPVOID, lpAliasPrefix: LPCWSTR) -> HANDLE; } extern "C" { pub fn ClosePrivateNamespace(Handle: HANDLE, Flags: ULONG) -> BOOLEAN; } extern "C" { pub fn CreateBoundaryDescriptorW(Name: LPCWSTR, Flags: ULONG) -> HANDLE; } extern "C" { pub fn AddSIDToBoundaryDescriptor(BoundaryDescriptor: *mut HANDLE, RequiredSid: PSID) -> BOOL; } extern "C" { pub fn DeleteBoundaryDescriptor(BoundaryDescriptor: HANDLE); } extern "C" { pub fn GetNumaHighestNodeNumber(HighestNodeNumber: PULONG) -> BOOL; } extern "C" { pub fn GetNumaNodeProcessorMaskEx(Node: USHORT, ProcessorMask: PGROUP_AFFINITY) -> BOOL; } extern "C" { pub fn GetNumaProximityNodeEx(ProximityId: ULONG, NodeNumber: PUSHORT) -> BOOL; } extern "C" { pub fn GetProcessGroupAffinity( hProcess: HANDLE, GroupCount: PUSHORT, GroupArray: PUSHORT, ) -> BOOL; } extern "C" { pub fn GetThreadGroupAffinity(hThread: HANDLE, GroupAffinity: PGROUP_AFFINITY) -> BOOL; } extern "C" { pub fn SetThreadGroupAffinity( hThread: HANDLE, GroupAffinity: *const GROUP_AFFINITY, PreviousGroupAffinity: PGROUP_AFFINITY, ) -> BOOL; } extern "C" { pub fn GetAppContainerNamedObjectPath( Token: HANDLE, AppContainerSid: PSID, ObjectPathLength: ULONG, ObjectPath: LPWSTR, ReturnLength: PULONG, ) -> BOOL; } extern "C" { pub fn QueryThreadCycleTime(ThreadHandle: HANDLE, CycleTime: PULONG64) -> BOOL; } extern "C" { pub fn QueryProcessCycleTime(ProcessHandle: HANDLE, CycleTime: PULONG64) -> BOOL; } extern "C" { pub fn QueryIdleProcessorCycleTime( BufferLength: PULONG, ProcessorIdleCycleTime: PULONG64, ) -> BOOL; } extern "C" { pub fn QueryIdleProcessorCycleTimeEx( Group: USHORT, BufferLength: PULONG, ProcessorIdleCycleTime: PULONG64, ) -> BOOL; } extern "C" { pub fn QueryInterruptTimePrecise(lpInterruptTimePrecise: PULONGLONG); } extern "C" { pub fn QueryUnbiasedInterruptTimePrecise(lpUnbiasedInterruptTimePrecise: PULONGLONG); } extern "C" { pub fn QueryInterruptTime(lpInterruptTime: PULONGLONG); } extern "C" { pub fn QueryUnbiasedInterruptTime(UnbiasedTime: PULONGLONG) -> BOOL; } extern "C" { pub fn QueryAuxiliaryCounterFrequency(lpAuxiliaryCounterFrequency: PULONGLONG) -> HRESULT; } extern "C" { pub fn ConvertAuxiliaryCounterToPerformanceCounter( ullAuxiliaryCounterValue: ULONGLONG, lpPerformanceCounterValue: PULONGLONG, lpConversionError: PULONGLONG, ) -> HRESULT; } extern "C" { pub fn ConvertPerformanceCounterToAuxiliaryCounter( ullPerformanceCounterValue: ULONGLONG, lpAuxiliaryCounterValue: PULONGLONG, lpConversionError: PULONGLONG, ) -> HRESULT; } pub type PFIBER_START_ROUTINE = ::std::option::Option; pub type LPFIBER_START_ROUTINE = PFIBER_START_ROUTINE; pub type PFIBER_CALLOUT_ROUTINE = ::std::option::Option LPVOID>; pub type LPLDT_ENTRY = LPVOID; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _COMMPROP { pub wPacketLength: WORD, pub wPacketVersion: WORD, pub dwServiceMask: DWORD, pub dwReserved1: DWORD, pub dwMaxTxQueue: DWORD, pub dwMaxRxQueue: DWORD, pub dwMaxBaud: DWORD, pub dwProvSubType: DWORD, pub dwProvCapabilities: DWORD, pub dwSettableParams: DWORD, pub dwSettableBaud: DWORD, pub wSettableData: WORD, pub wSettableStopParity: WORD, pub dwCurrentTxQueue: DWORD, pub dwCurrentRxQueue: DWORD, pub dwProvSpec1: DWORD, pub dwProvSpec2: DWORD, pub wcProvChar: [WCHAR; 1usize], } #[test] fn bindgen_test_layout__COMMPROP() { 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::null::<_COMMPROP>())).wPacketLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(wPacketLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).wPacketVersion as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(wPacketVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).dwServiceMask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(dwServiceMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).dwReserved1 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(dwReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).dwMaxTxQueue as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(dwMaxTxQueue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).dwMaxRxQueue as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(dwMaxRxQueue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).dwMaxBaud as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(dwMaxBaud) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).dwProvSubType as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(dwProvSubType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).dwProvCapabilities as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(dwProvCapabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).dwSettableParams as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(dwSettableParams) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).dwSettableBaud as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(dwSettableBaud) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).wSettableData as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(wSettableData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).wSettableStopParity as *const _ as usize }, 42usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(wSettableStopParity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).dwCurrentTxQueue as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(dwCurrentTxQueue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).dwCurrentRxQueue as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(dwCurrentRxQueue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).dwProvSpec1 as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(dwProvSpec1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).dwProvSpec2 as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_COMMPROP), "::", stringify!(dwProvSpec2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMPROP>())).wcProvChar as *const _ 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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, pub cbInQue: DWORD, pub cbOutQue: DWORD, } #[test] fn bindgen_test_layout__COMSTAT() { 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::null::<_COMSTAT>())).cbInQue as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_COMSTAT), "::", stringify!(cbInQue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMSTAT>())).cbOutQue as *const _ 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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, 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() { 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::null::<_DCB>())).DCBlength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DCB), "::", stringify!(DCBlength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DCB>())).BaudRate as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DCB), "::", stringify!(BaudRate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DCB>())).wReserved as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DCB), "::", stringify!(wReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DCB>())).XonLim as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_DCB), "::", stringify!(XonLim) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DCB>())).XoffLim as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DCB), "::", stringify!(XoffLim) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DCB>())).ByteSize as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(_DCB), "::", stringify!(ByteSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DCB>())).Parity as *const _ as usize }, 19usize, concat!( "Offset of field: ", stringify!(_DCB), "::", stringify!(Parity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DCB>())).StopBits as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_DCB), "::", stringify!(StopBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DCB>())).XonChar as *const _ as usize }, 21usize, concat!( "Offset of field: ", stringify!(_DCB), "::", stringify!(XonChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DCB>())).XoffChar as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(_DCB), "::", stringify!(XoffChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DCB>())).ErrorChar as *const _ as usize }, 23usize, concat!( "Offset of field: ", stringify!(_DCB), "::", stringify!(ErrorChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DCB>())).EofChar as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DCB), "::", stringify!(EofChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DCB>())).EvtChar as *const _ as usize }, 25usize, concat!( "Offset of field: ", stringify!(_DCB), "::", stringify!(EvtChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DCB>())).wReserved1 as *const _ 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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_COMMTIMEOUTS>())).ReadIntervalTimeout as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_COMMTIMEOUTS), "::", stringify!(ReadIntervalTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMTIMEOUTS>())).ReadTotalTimeoutMultiplier as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_COMMTIMEOUTS), "::", stringify!(ReadTotalTimeoutMultiplier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMTIMEOUTS>())).ReadTotalTimeoutConstant as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_COMMTIMEOUTS), "::", stringify!(ReadTotalTimeoutConstant) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMTIMEOUTS>())).WriteTotalTimeoutMultiplier as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_COMMTIMEOUTS), "::", stringify!(WriteTotalTimeoutMultiplier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMTIMEOUTS>())).WriteTotalTimeoutConstant as *const _ 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() { 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::null::<_COMMCONFIG>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_COMMCONFIG), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMCONFIG>())).wVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_COMMCONFIG), "::", stringify!(wVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMCONFIG>())).wReserved as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_COMMCONFIG), "::", stringify!(wReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMCONFIG>())).dcb as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_COMMCONFIG), "::", stringify!(dcb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMCONFIG>())).dwProviderSubType as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_COMMCONFIG), "::", stringify!(dwProviderSubType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMCONFIG>())).dwProviderOffset as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_COMMCONFIG), "::", stringify!(dwProviderOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMCONFIG>())).dwProviderSize as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_COMMCONFIG), "::", stringify!(dwProviderSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMMCONFIG>())).wcProviderData as *const _ 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() { 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::null::<_MEMORYSTATUS>())).dwLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MEMORYSTATUS), "::", stringify!(dwLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORYSTATUS>())).dwMemoryLoad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_MEMORYSTATUS), "::", stringify!(dwMemoryLoad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORYSTATUS>())).dwTotalPhys as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MEMORYSTATUS), "::", stringify!(dwTotalPhys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORYSTATUS>())).dwAvailPhys as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MEMORYSTATUS), "::", stringify!(dwAvailPhys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORYSTATUS>())).dwTotalPageFile as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_MEMORYSTATUS), "::", stringify!(dwTotalPageFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORYSTATUS>())).dwAvailPageFile as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_MEMORYSTATUS), "::", stringify!(dwAvailPageFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORYSTATUS>())).dwTotalVirtual as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_MEMORYSTATUS), "::", stringify!(dwTotalVirtual) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MEMORYSTATUS>())).dwAvailVirtual as *const _ 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() { 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::null::<_JIT_DEBUG_INFO>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JIT_DEBUG_INFO), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JIT_DEBUG_INFO>())).dwProcessorArchitecture as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_JIT_DEBUG_INFO), "::", stringify!(dwProcessorArchitecture) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JIT_DEBUG_INFO>())).dwThreadID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_JIT_DEBUG_INFO), "::", stringify!(dwThreadID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JIT_DEBUG_INFO>())).dwReserved0 as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_JIT_DEBUG_INFO), "::", stringify!(dwReserved0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JIT_DEBUG_INFO>())).lpExceptionAddress as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_JIT_DEBUG_INFO), "::", stringify!(lpExceptionAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JIT_DEBUG_INFO>())).lpExceptionRecord as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_JIT_DEBUG_INFO), "::", stringify!(lpExceptionRecord) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JIT_DEBUG_INFO>())).lpContextRecord as *const _ 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(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() { 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::null::<_OFSTRUCT>())).cBytes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OFSTRUCT), "::", stringify!(cBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OFSTRUCT>())).fFixedDisk as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_OFSTRUCT), "::", stringify!(fFixedDisk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OFSTRUCT>())).nErrCode as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_OFSTRUCT), "::", stringify!(nErrCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OFSTRUCT>())).Reserved1 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_OFSTRUCT), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OFSTRUCT>())).Reserved2 as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_OFSTRUCT), "::", stringify!(Reserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OFSTRUCT>())).szPathName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_OFSTRUCT), "::", stringify!(szPathName) ) ); } pub type OFSTRUCT = _OFSTRUCT; pub type LPOFSTRUCT = *mut _OFSTRUCT; pub type POFSTRUCT = *mut _OFSTRUCT; extern "C" { pub fn WinMain( hInstance: HINSTANCE, hPrevInstance: HINSTANCE, lpCmdLine: LPSTR, nShowCmd: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn wWinMain( hInstance: HINSTANCE, hPrevInstance: HINSTANCE, lpCmdLine: LPWSTR, nShowCmd: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn GlobalAlloc(uFlags: UINT, dwBytes: SIZE_T) -> HGLOBAL; } extern "C" { pub fn GlobalReAlloc(hMem: HGLOBAL, dwBytes: SIZE_T, uFlags: UINT) -> HGLOBAL; } extern "C" { pub fn GlobalSize(hMem: HGLOBAL) -> SIZE_T; } extern "C" { pub fn GlobalUnlock(hMem: HGLOBAL) -> BOOL; } extern "C" { pub fn GlobalLock(hMem: HGLOBAL) -> LPVOID; } extern "C" { pub fn GlobalFlags(hMem: HGLOBAL) -> UINT; } extern "C" { pub fn GlobalHandle(pMem: LPCVOID) -> HGLOBAL; } extern "C" { pub fn GlobalFree(hMem: HGLOBAL) -> HGLOBAL; } extern "C" { pub fn GlobalCompact(dwMinFree: DWORD) -> SIZE_T; } extern "C" { pub fn GlobalFix(hMem: HGLOBAL); } extern "C" { pub fn GlobalUnfix(hMem: HGLOBAL); } extern "C" { pub fn GlobalWire(hMem: HGLOBAL) -> LPVOID; } extern "C" { pub fn GlobalUnWire(hMem: HGLOBAL) -> BOOL; } extern "C" { pub fn GlobalMemoryStatus(lpBuffer: LPMEMORYSTATUS); } extern "C" { pub fn LocalAlloc(uFlags: UINT, uBytes: SIZE_T) -> HLOCAL; } extern "C" { pub fn LocalReAlloc(hMem: HLOCAL, uBytes: SIZE_T, uFlags: UINT) -> HLOCAL; } extern "C" { pub fn LocalLock(hMem: HLOCAL) -> LPVOID; } extern "C" { pub fn LocalHandle(pMem: LPCVOID) -> HLOCAL; } extern "C" { pub fn LocalUnlock(hMem: HLOCAL) -> BOOL; } extern "C" { pub fn LocalSize(hMem: HLOCAL) -> SIZE_T; } extern "C" { pub fn LocalFlags(hMem: HLOCAL) -> UINT; } extern "C" { pub fn LocalFree(hMem: HLOCAL) -> HLOCAL; } extern "C" { pub fn LocalShrink(hMem: HLOCAL, cbNewSize: UINT) -> SIZE_T; } extern "C" { pub fn LocalCompact(uMinFree: UINT) -> SIZE_T; } extern "C" { pub fn GetBinaryTypeA(lpApplicationName: LPCSTR, lpBinaryType: LPDWORD) -> BOOL; } extern "C" { pub fn GetBinaryTypeW(lpApplicationName: LPCWSTR, lpBinaryType: LPDWORD) -> BOOL; } extern "C" { pub fn GetShortPathNameA(lpszLongPath: LPCSTR, lpszShortPath: LPSTR, cchBuffer: DWORD) -> DWORD; } extern "C" { pub fn GetLongPathNameTransactedA( lpszShortPath: LPCSTR, lpszLongPath: LPSTR, cchBuffer: DWORD, hTransaction: HANDLE, ) -> DWORD; } extern "C" { pub fn GetLongPathNameTransactedW( lpszShortPath: LPCWSTR, lpszLongPath: LPWSTR, cchBuffer: DWORD, hTransaction: HANDLE, ) -> DWORD; } extern "C" { pub fn GetProcessAffinityMask( hProcess: HANDLE, lpProcessAffinityMask: PDWORD_PTR, lpSystemAffinityMask: PDWORD_PTR, ) -> BOOL; } extern "C" { pub fn SetProcessAffinityMask(hProcess: HANDLE, dwProcessAffinityMask: DWORD_PTR) -> BOOL; } extern "C" { pub fn GetProcessIoCounters(hProcess: HANDLE, lpIoCounters: PIO_COUNTERS) -> BOOL; } extern "C" { pub fn GetProcessWorkingSetSize( hProcess: HANDLE, lpMinimumWorkingSetSize: PSIZE_T, lpMaximumWorkingSetSize: PSIZE_T, ) -> BOOL; } extern "C" { pub fn SetProcessWorkingSetSize( hProcess: HANDLE, dwMinimumWorkingSetSize: SIZE_T, dwMaximumWorkingSetSize: SIZE_T, ) -> BOOL; } extern "C" { pub fn FatalExit(ExitCode: ::std::os::raw::c_int); } extern "C" { pub fn SetEnvironmentStringsA(NewEnvironment: LPCH) -> BOOL; } extern "C" { pub fn SwitchToFiber(lpFiber: LPVOID); } extern "C" { pub fn DeleteFiber(lpFiber: LPVOID); } extern "C" { pub fn ConvertFiberToThread() -> BOOL; } extern "C" { pub fn CreateFiberEx( dwStackCommitSize: SIZE_T, dwStackReserveSize: SIZE_T, dwFlags: DWORD, lpStartAddress: LPFIBER_START_ROUTINE, lpParameter: LPVOID, ) -> LPVOID; } extern "C" { pub fn ConvertThreadToFiberEx(lpParameter: LPVOID, dwFlags: DWORD) -> LPVOID; } extern "C" { pub fn CreateFiber( dwStackSize: SIZE_T, lpStartAddress: LPFIBER_START_ROUTINE, lpParameter: LPVOID, ) -> LPVOID; } extern "C" { pub fn ConvertThreadToFiber(lpParameter: LPVOID) -> LPVOID; } pub type PUMS_CONTEXT = *mut ::std::os::raw::c_void; pub type PUMS_COMPLETION_LIST = *mut ::std::os::raw::c_void; pub use self::_RTL_UMS_THREAD_INFO_CLASS as UMS_THREAD_INFO_CLASS; pub type PUMS_THREAD_INFO_CLASS = *mut _RTL_UMS_THREAD_INFO_CLASS; pub use self::_RTL_UMS_SCHEDULER_REASON as UMS_SCHEDULER_REASON; pub type PUMS_SCHEDULER_ENTRY_POINT = PRTL_UMS_SCHEDULER_ENTRY_POINT; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _UMS_SCHEDULER_STARTUP_INFO { pub UmsVersion: ULONG, pub CompletionList: PUMS_COMPLETION_LIST, pub SchedulerProc: PUMS_SCHEDULER_ENTRY_POINT, pub SchedulerParam: PVOID, } #[test] fn bindgen_test_layout__UMS_SCHEDULER_STARTUP_INFO() { 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::null::<_UMS_SCHEDULER_STARTUP_INFO>())).UmsVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_UMS_SCHEDULER_STARTUP_INFO), "::", stringify!(UmsVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_UMS_SCHEDULER_STARTUP_INFO>())).CompletionList as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_UMS_SCHEDULER_STARTUP_INFO), "::", stringify!(CompletionList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_UMS_SCHEDULER_STARTUP_INFO>())).SchedulerProc as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_UMS_SCHEDULER_STARTUP_INFO), "::", stringify!(SchedulerProc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_UMS_SCHEDULER_STARTUP_INFO>())).SchedulerParam as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, 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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = 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() { 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::null::<_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1>())).ThreadUmsFlags as *const _ 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() { 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::null::<_UMS_SYSTEM_THREAD_INFORMATION>())).UmsVersion as *const _ 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 Wow64GetThreadContext(hThread: HANDLE, lpContext: PWOW64_CONTEXT) -> BOOL; } extern "C" { pub fn Wow64SetThreadContext(hThread: HANDLE, lpContext: *const WOW64_CONTEXT) -> BOOL; } extern "C" { pub fn Wow64GetThreadSelectorEntry( hThread: HANDLE, dwSelector: DWORD, lpSelectorEntry: PWOW64_LDT_ENTRY, ) -> BOOL; } extern "C" { pub fn Wow64SuspendThread(hThread: HANDLE) -> DWORD; } 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() { 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::null::<_WIN32_STREAM_ID>())).dwStreamId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WIN32_STREAM_ID), "::", stringify!(dwStreamId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_STREAM_ID>())).dwStreamAttributes as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_WIN32_STREAM_ID), "::", stringify!(dwStreamAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_STREAM_ID>())).Size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_WIN32_STREAM_ID), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_STREAM_ID>())).dwStreamNameSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_WIN32_STREAM_ID), "::", stringify!(dwStreamNameSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIN32_STREAM_ID>())).cStreamName as *const _ 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() { 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::null::<_STARTUPINFOEXA>())).StartupInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOEXA), "::", stringify!(StartupInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOEXA>())).lpAttributeList as *const _ 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() { 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::null::<_STARTUPINFOEXW>())).StartupInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STARTUPINFOEXW), "::", stringify!(StartupInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STARTUPINFOEXW>())).lpAttributeList as *const _ 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 type _PROC_THREAD_ATTRIBUTE_NUM = ::std::os::raw::c_int; pub use self::_PROC_THREAD_ATTRIBUTE_NUM as PROC_THREAD_ATTRIBUTE_NUM; extern "C" { pub fn GetStartupInfoA(lpStartupInfo: LPSTARTUPINFOA); } extern "C" { pub fn GetFirmwareEnvironmentVariableA( lpName: LPCSTR, lpGuid: LPCSTR, pBuffer: PVOID, nSize: DWORD, ) -> DWORD; } extern "C" { pub fn GetFirmwareEnvironmentVariableW( lpName: LPCWSTR, lpGuid: LPCWSTR, pBuffer: PVOID, nSize: DWORD, ) -> DWORD; } extern "C" { pub fn GetFirmwareEnvironmentVariableExA( lpName: LPCSTR, lpGuid: LPCSTR, pBuffer: PVOID, nSize: DWORD, pdwAttribubutes: PDWORD, ) -> DWORD; } extern "C" { pub fn GetFirmwareEnvironmentVariableExW( lpName: LPCWSTR, lpGuid: LPCWSTR, pBuffer: PVOID, nSize: DWORD, pdwAttribubutes: PDWORD, ) -> DWORD; } extern "C" { pub fn SetFirmwareEnvironmentVariableA( lpName: LPCSTR, lpGuid: LPCSTR, pValue: PVOID, nSize: DWORD, ) -> BOOL; } extern "C" { pub fn SetFirmwareEnvironmentVariableW( lpName: LPCWSTR, lpGuid: LPCWSTR, pValue: PVOID, nSize: DWORD, ) -> BOOL; } extern "C" { pub fn SetFirmwareEnvironmentVariableExA( lpName: LPCSTR, lpGuid: LPCSTR, pValue: PVOID, nSize: DWORD, dwAttributes: DWORD, ) -> BOOL; } extern "C" { pub fn SetFirmwareEnvironmentVariableExW( lpName: LPCWSTR, lpGuid: LPCWSTR, pValue: PVOID, nSize: DWORD, dwAttributes: DWORD, ) -> BOOL; } extern "C" { pub fn GetFirmwareType(FirmwareType: PFIRMWARE_TYPE) -> BOOL; } extern "C" { pub fn IsNativeVhdBoot(NativeVhdBoot: PBOOL) -> BOOL; } extern "C" { pub fn FindResourceA(hModule: HMODULE, lpName: LPCSTR, lpType: LPCSTR) -> HRSRC; } extern "C" { pub fn FindResourceExA( hModule: HMODULE, lpType: LPCSTR, lpName: LPCSTR, wLanguage: WORD, ) -> HRSRC; } extern "C" { pub fn EnumResourceTypesA( hModule: HMODULE, lpEnumFunc: ENUMRESTYPEPROCA, lParam: LONG_PTR, ) -> BOOL; } extern "C" { pub fn EnumResourceTypesW( hModule: HMODULE, lpEnumFunc: ENUMRESTYPEPROCW, lParam: LONG_PTR, ) -> BOOL; } extern "C" { pub fn EnumResourceNamesA( hModule: HMODULE, lpType: LPCSTR, lpEnumFunc: ENUMRESNAMEPROCA, lParam: LONG_PTR, ) -> BOOL; } extern "C" { pub fn EnumResourceLanguagesA( hModule: HMODULE, lpType: LPCSTR, lpName: LPCSTR, lpEnumFunc: ENUMRESLANGPROCA, lParam: LONG_PTR, ) -> BOOL; } extern "C" { pub fn EnumResourceLanguagesW( hModule: HMODULE, lpType: LPCWSTR, lpName: LPCWSTR, lpEnumFunc: ENUMRESLANGPROCW, lParam: LONG_PTR, ) -> BOOL; } extern "C" { pub fn BeginUpdateResourceA(pFileName: LPCSTR, bDeleteExistingResources: BOOL) -> HANDLE; } extern "C" { pub fn BeginUpdateResourceW(pFileName: LPCWSTR, bDeleteExistingResources: BOOL) -> HANDLE; } extern "C" { pub fn UpdateResourceA( hUpdate: HANDLE, lpType: LPCSTR, lpName: LPCSTR, wLanguage: WORD, lpData: LPVOID, cb: DWORD, ) -> BOOL; } extern "C" { pub fn UpdateResourceW( hUpdate: HANDLE, lpType: LPCWSTR, lpName: LPCWSTR, wLanguage: WORD, lpData: LPVOID, cb: DWORD, ) -> BOOL; } extern "C" { pub fn EndUpdateResourceA(hUpdate: HANDLE, fDiscard: BOOL) -> BOOL; } extern "C" { pub fn EndUpdateResourceW(hUpdate: HANDLE, fDiscard: BOOL) -> BOOL; } extern "C" { pub fn GlobalAddAtomA(lpString: LPCSTR) -> ATOM; } extern "C" { pub fn GlobalAddAtomW(lpString: LPCWSTR) -> ATOM; } extern "C" { pub fn GlobalAddAtomExA(lpString: LPCSTR, Flags: DWORD) -> ATOM; } extern "C" { pub fn GlobalAddAtomExW(lpString: LPCWSTR, Flags: DWORD) -> ATOM; } extern "C" { pub fn GlobalFindAtomA(lpString: LPCSTR) -> ATOM; } extern "C" { pub fn GlobalFindAtomW(lpString: LPCWSTR) -> ATOM; } extern "C" { pub fn GlobalGetAtomNameA(nAtom: ATOM, lpBuffer: LPSTR, nSize: ::std::os::raw::c_int) -> UINT; } extern "C" { pub fn GlobalGetAtomNameW(nAtom: ATOM, lpBuffer: LPWSTR, nSize: ::std::os::raw::c_int) -> UINT; } extern "C" { pub fn AddAtomA(lpString: LPCSTR) -> ATOM; } extern "C" { pub fn AddAtomW(lpString: LPCWSTR) -> ATOM; } extern "C" { pub fn FindAtomA(lpString: LPCSTR) -> ATOM; } extern "C" { pub fn FindAtomW(lpString: LPCWSTR) -> ATOM; } extern "C" { pub fn GetAtomNameA(nAtom: ATOM, lpBuffer: LPSTR, nSize: ::std::os::raw::c_int) -> UINT; } extern "C" { pub fn GetAtomNameW(nAtom: ATOM, lpBuffer: LPWSTR, nSize: ::std::os::raw::c_int) -> UINT; } extern "C" { pub fn GetProfileIntA(lpAppName: LPCSTR, lpKeyName: LPCSTR, nDefault: INT) -> UINT; } extern "C" { pub fn GetProfileIntW(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, nDefault: INT) -> UINT; } extern "C" { pub fn GetProfileStringA( lpAppName: LPCSTR, lpKeyName: LPCSTR, lpDefault: LPCSTR, lpReturnedString: LPSTR, nSize: DWORD, ) -> DWORD; } extern "C" { pub fn GetProfileStringW( lpAppName: LPCWSTR, lpKeyName: LPCWSTR, lpDefault: LPCWSTR, lpReturnedString: LPWSTR, nSize: DWORD, ) -> DWORD; } extern "C" { pub fn WriteProfileStringA(lpAppName: LPCSTR, lpKeyName: LPCSTR, lpString: LPCSTR) -> BOOL; } extern "C" { pub fn WriteProfileStringW(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, lpString: LPCWSTR) -> BOOL; } extern "C" { pub fn GetProfileSectionA(lpAppName: LPCSTR, lpReturnedString: LPSTR, nSize: DWORD) -> DWORD; } extern "C" { pub fn GetProfileSectionW(lpAppName: LPCWSTR, lpReturnedString: LPWSTR, nSize: DWORD) -> DWORD; } extern "C" { pub fn WriteProfileSectionA(lpAppName: LPCSTR, lpString: LPCSTR) -> BOOL; } extern "C" { pub fn WriteProfileSectionW(lpAppName: LPCWSTR, lpString: LPCWSTR) -> BOOL; } extern "C" { pub fn GetPrivateProfileIntA( lpAppName: LPCSTR, lpKeyName: LPCSTR, nDefault: INT, lpFileName: LPCSTR, ) -> UINT; } extern "C" { pub fn GetPrivateProfileIntW( lpAppName: LPCWSTR, lpKeyName: LPCWSTR, nDefault: INT, lpFileName: LPCWSTR, ) -> UINT; } extern "C" { pub fn GetPrivateProfileStringA( lpAppName: LPCSTR, lpKeyName: LPCSTR, lpDefault: LPCSTR, lpReturnedString: LPSTR, nSize: DWORD, lpFileName: LPCSTR, ) -> DWORD; } extern "C" { pub fn GetPrivateProfileStringW( lpAppName: LPCWSTR, lpKeyName: LPCWSTR, lpDefault: LPCWSTR, lpReturnedString: LPWSTR, nSize: DWORD, lpFileName: LPCWSTR, ) -> DWORD; } extern "C" { pub fn WritePrivateProfileStringA( lpAppName: LPCSTR, lpKeyName: LPCSTR, lpString: LPCSTR, lpFileName: LPCSTR, ) -> BOOL; } extern "C" { pub fn WritePrivateProfileStringW( lpAppName: LPCWSTR, lpKeyName: LPCWSTR, lpString: LPCWSTR, lpFileName: LPCWSTR, ) -> BOOL; } extern "C" { pub fn GetPrivateProfileSectionA( lpAppName: LPCSTR, lpReturnedString: LPSTR, nSize: DWORD, lpFileName: LPCSTR, ) -> DWORD; } extern "C" { pub fn GetPrivateProfileSectionW( lpAppName: LPCWSTR, lpReturnedString: LPWSTR, nSize: DWORD, lpFileName: LPCWSTR, ) -> DWORD; } extern "C" { pub fn WritePrivateProfileSectionA( lpAppName: LPCSTR, lpString: LPCSTR, lpFileName: LPCSTR, ) -> BOOL; } extern "C" { pub fn WritePrivateProfileSectionW( lpAppName: LPCWSTR, lpString: LPCWSTR, lpFileName: LPCWSTR, ) -> BOOL; } extern "C" { pub fn GetPrivateProfileSectionNamesA( lpszReturnBuffer: LPSTR, nSize: DWORD, lpFileName: LPCSTR, ) -> DWORD; } extern "C" { pub fn GetPrivateProfileSectionNamesW( lpszReturnBuffer: LPWSTR, nSize: DWORD, lpFileName: LPCWSTR, ) -> DWORD; } extern "C" { pub fn GetPrivateProfileStructA( lpszSection: LPCSTR, lpszKey: LPCSTR, lpStruct: LPVOID, uSizeStruct: UINT, szFile: LPCSTR, ) -> BOOL; } extern "C" { pub fn GetPrivateProfileStructW( lpszSection: LPCWSTR, lpszKey: LPCWSTR, lpStruct: LPVOID, uSizeStruct: UINT, szFile: LPCWSTR, ) -> BOOL; } extern "C" { pub fn WritePrivateProfileStructA( lpszSection: LPCSTR, lpszKey: LPCSTR, lpStruct: LPVOID, uSizeStruct: UINT, szFile: LPCSTR, ) -> BOOL; } extern "C" { pub fn WritePrivateProfileStructW( lpszSection: LPCWSTR, lpszKey: LPCWSTR, lpStruct: LPVOID, uSizeStruct: UINT, szFile: LPCWSTR, ) -> BOOL; } extern "C" { pub fn Wow64EnableWow64FsRedirection(Wow64FsEnableRedirection: BOOLEAN) -> BOOLEAN; } pub type PGET_SYSTEM_WOW64_DIRECTORY_A = ::std::option::Option UINT>; pub type PGET_SYSTEM_WOW64_DIRECTORY_W = ::std::option::Option UINT>; extern "C" { pub fn SetDllDirectoryA(lpPathName: LPCSTR) -> BOOL; } extern "C" { pub fn SetDllDirectoryW(lpPathName: LPCWSTR) -> BOOL; } extern "C" { pub fn GetDllDirectoryA(nBufferLength: DWORD, lpBuffer: LPSTR) -> DWORD; } extern "C" { pub fn GetDllDirectoryW(nBufferLength: DWORD, lpBuffer: LPWSTR) -> DWORD; } extern "C" { pub fn SetSearchPathMode(Flags: DWORD) -> BOOL; } extern "C" { pub fn CreateDirectoryExA( lpTemplateDirectory: LPCSTR, lpNewDirectory: LPCSTR, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, ) -> BOOL; } extern "C" { pub fn CreateDirectoryExW( lpTemplateDirectory: LPCWSTR, lpNewDirectory: LPCWSTR, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, ) -> BOOL; } extern "C" { pub fn CreateDirectoryTransactedA( lpTemplateDirectory: LPCSTR, lpNewDirectory: LPCSTR, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, hTransaction: HANDLE, ) -> BOOL; } extern "C" { pub fn CreateDirectoryTransactedW( lpTemplateDirectory: LPCWSTR, lpNewDirectory: LPCWSTR, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, hTransaction: HANDLE, ) -> BOOL; } extern "C" { pub fn RemoveDirectoryTransactedA(lpPathName: LPCSTR, hTransaction: HANDLE) -> BOOL; } extern "C" { pub fn RemoveDirectoryTransactedW(lpPathName: LPCWSTR, hTransaction: HANDLE) -> BOOL; } extern "C" { pub fn GetFullPathNameTransactedA( lpFileName: LPCSTR, nBufferLength: DWORD, lpBuffer: LPSTR, lpFilePart: *mut LPSTR, hTransaction: HANDLE, ) -> DWORD; } extern "C" { pub fn GetFullPathNameTransactedW( lpFileName: LPCWSTR, nBufferLength: DWORD, lpBuffer: LPWSTR, lpFilePart: *mut LPWSTR, hTransaction: HANDLE, ) -> DWORD; } extern "C" { pub fn DefineDosDeviceA(dwFlags: DWORD, lpDeviceName: LPCSTR, lpTargetPath: LPCSTR) -> BOOL; } extern "C" { pub fn QueryDosDeviceA(lpDeviceName: LPCSTR, lpTargetPath: LPSTR, ucchMax: DWORD) -> DWORD; } extern "C" { pub fn CreateFileTransactedA( lpFileName: LPCSTR, dwDesiredAccess: DWORD, dwShareMode: DWORD, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, dwCreationDisposition: DWORD, dwFlagsAndAttributes: DWORD, hTemplateFile: HANDLE, hTransaction: HANDLE, pusMiniVersion: PUSHORT, lpExtendedParameter: PVOID, ) -> HANDLE; } extern "C" { pub fn CreateFileTransactedW( lpFileName: LPCWSTR, dwDesiredAccess: DWORD, dwShareMode: DWORD, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, dwCreationDisposition: DWORD, dwFlagsAndAttributes: DWORD, hTemplateFile: HANDLE, hTransaction: HANDLE, pusMiniVersion: PUSHORT, lpExtendedParameter: PVOID, ) -> HANDLE; } extern "C" { pub fn ReOpenFile( hOriginalFile: HANDLE, dwDesiredAccess: DWORD, dwShareMode: DWORD, dwFlagsAndAttributes: DWORD, ) -> HANDLE; } extern "C" { pub fn SetFileAttributesTransactedA( lpFileName: LPCSTR, dwFileAttributes: DWORD, hTransaction: HANDLE, ) -> BOOL; } extern "C" { pub fn SetFileAttributesTransactedW( lpFileName: LPCWSTR, dwFileAttributes: DWORD, hTransaction: HANDLE, ) -> BOOL; } extern "C" { pub fn GetFileAttributesTransactedA( lpFileName: LPCSTR, fInfoLevelId: GET_FILEEX_INFO_LEVELS, lpFileInformation: LPVOID, hTransaction: HANDLE, ) -> BOOL; } extern "C" { pub fn GetFileAttributesTransactedW( lpFileName: LPCWSTR, fInfoLevelId: GET_FILEEX_INFO_LEVELS, lpFileInformation: LPVOID, hTransaction: HANDLE, ) -> BOOL; } extern "C" { pub fn GetCompressedFileSizeTransactedA( lpFileName: LPCSTR, lpFileSizeHigh: LPDWORD, hTransaction: HANDLE, ) -> DWORD; } extern "C" { pub fn GetCompressedFileSizeTransactedW( lpFileName: LPCWSTR, lpFileSizeHigh: LPDWORD, hTransaction: HANDLE, ) -> DWORD; } extern "C" { pub fn DeleteFileTransactedA(lpFileName: LPCSTR, hTransaction: HANDLE) -> BOOL; } extern "C" { pub fn DeleteFileTransactedW(lpFileName: LPCWSTR, hTransaction: HANDLE) -> BOOL; } extern "C" { pub fn CheckNameLegalDOS8Dot3A( lpName: LPCSTR, lpOemName: LPSTR, OemNameSize: DWORD, pbNameContainsSpaces: PBOOL, pbNameLegal: PBOOL, ) -> BOOL; } extern "C" { pub fn CheckNameLegalDOS8Dot3W( lpName: LPCWSTR, lpOemName: LPSTR, OemNameSize: DWORD, pbNameContainsSpaces: PBOOL, pbNameLegal: PBOOL, ) -> BOOL; } extern "C" { pub fn FindFirstFileTransactedA( lpFileName: LPCSTR, fInfoLevelId: FINDEX_INFO_LEVELS, lpFindFileData: LPVOID, fSearchOp: FINDEX_SEARCH_OPS, lpSearchFilter: LPVOID, dwAdditionalFlags: DWORD, hTransaction: HANDLE, ) -> HANDLE; } extern "C" { pub fn FindFirstFileTransactedW( lpFileName: LPCWSTR, fInfoLevelId: FINDEX_INFO_LEVELS, lpFindFileData: LPVOID, fSearchOp: FINDEX_SEARCH_OPS, lpSearchFilter: LPVOID, dwAdditionalFlags: DWORD, hTransaction: HANDLE, ) -> HANDLE; } extern "C" { pub fn CopyFileA( lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, bFailIfExists: BOOL, ) -> BOOL; } extern "C" { pub fn CopyFileW( lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, bFailIfExists: BOOL, ) -> BOOL; } pub type LPPROGRESS_ROUTINE = ::std::option::Option< unsafe extern "C" fn( TotalFileSize: LARGE_INTEGER, TotalBytesTransferred: LARGE_INTEGER, StreamSize: LARGE_INTEGER, StreamBytesTransferred: LARGE_INTEGER, dwStreamNumber: DWORD, dwCallbackReason: DWORD, hSourceFile: HANDLE, hDestinationFile: HANDLE, lpData: LPVOID, ) -> DWORD, >; extern "C" { pub fn CopyFileExA( lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, lpProgressRoutine: LPPROGRESS_ROUTINE, lpData: LPVOID, pbCancel: LPBOOL, dwCopyFlags: DWORD, ) -> BOOL; } extern "C" { pub fn CopyFileExW( lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, lpProgressRoutine: LPPROGRESS_ROUTINE, lpData: LPVOID, pbCancel: LPBOOL, dwCopyFlags: DWORD, ) -> BOOL; } extern "C" { pub fn CopyFileTransactedA( lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, lpProgressRoutine: LPPROGRESS_ROUTINE, lpData: LPVOID, pbCancel: LPBOOL, dwCopyFlags: DWORD, hTransaction: HANDLE, ) -> BOOL; } extern "C" { pub fn CopyFileTransactedW( lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, lpProgressRoutine: LPPROGRESS_ROUTINE, lpData: LPVOID, pbCancel: LPBOOL, dwCopyFlags: DWORD, hTransaction: HANDLE, ) -> BOOL; } pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_NONE: _COPYFILE2_MESSAGE_TYPE = 0; pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_CHUNK_STARTED: _COPYFILE2_MESSAGE_TYPE = 1; pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_CHUNK_FINISHED: _COPYFILE2_MESSAGE_TYPE = 2; pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_STREAM_STARTED: _COPYFILE2_MESSAGE_TYPE = 3; pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_STREAM_FINISHED: _COPYFILE2_MESSAGE_TYPE = 4; pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_POLL_CONTINUE: _COPYFILE2_MESSAGE_TYPE = 5; pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_ERROR: _COPYFILE2_MESSAGE_TYPE = 6; pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_MAX: _COPYFILE2_MESSAGE_TYPE = 7; pub type _COPYFILE2_MESSAGE_TYPE = ::std::os::raw::c_int; pub use self::_COPYFILE2_MESSAGE_TYPE as COPYFILE2_MESSAGE_TYPE; pub const _COPYFILE2_MESSAGE_ACTION_COPYFILE2_PROGRESS_CONTINUE: _COPYFILE2_MESSAGE_ACTION = 0; pub const _COPYFILE2_MESSAGE_ACTION_COPYFILE2_PROGRESS_CANCEL: _COPYFILE2_MESSAGE_ACTION = 1; pub const _COPYFILE2_MESSAGE_ACTION_COPYFILE2_PROGRESS_STOP: _COPYFILE2_MESSAGE_ACTION = 2; pub const _COPYFILE2_MESSAGE_ACTION_COPYFILE2_PROGRESS_QUIET: _COPYFILE2_MESSAGE_ACTION = 3; pub const _COPYFILE2_MESSAGE_ACTION_COPYFILE2_PROGRESS_PAUSE: _COPYFILE2_MESSAGE_ACTION = 4; pub type _COPYFILE2_MESSAGE_ACTION = ::std::os::raw::c_int; pub use self::_COPYFILE2_MESSAGE_ACTION as COPYFILE2_MESSAGE_ACTION; pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_NONE: _COPYFILE2_COPY_PHASE = 0; pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_PREPARE_SOURCE: _COPYFILE2_COPY_PHASE = 1; pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_PREPARE_DEST: _COPYFILE2_COPY_PHASE = 2; pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_READ_SOURCE: _COPYFILE2_COPY_PHASE = 3; pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_WRITE_DESTINATION: _COPYFILE2_COPY_PHASE = 4; pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_SERVER_COPY: _COPYFILE2_COPY_PHASE = 5; pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_NAMEGRAFT_COPY: _COPYFILE2_COPY_PHASE = 6; pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_MAX: _COPYFILE2_COPY_PHASE = 7; pub type _COPYFILE2_COPY_PHASE = ::std::os::raw::c_int; pub use self::_COPYFILE2_COPY_PHASE as COPYFILE2_COPY_PHASE; #[repr(C)] #[derive(Copy, Clone)] pub struct COPYFILE2_MESSAGE { pub Type: COPYFILE2_MESSAGE_TYPE, pub dwPadding: DWORD, pub Info: COPYFILE2_MESSAGE__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union COPYFILE2_MESSAGE__bindgen_ty_1 { pub ChunkStarted: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1, pub ChunkFinished: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2, pub StreamStarted: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3, pub StreamFinished: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4, pub PollContinue: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_5, pub Error: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6, _bindgen_union_align: [u64; 9usize], } #[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() { 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::null::())).dwStreamNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dwStreamNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dwReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hSourceFile as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), "::", stringify!(hSourceFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .hDestinationFile as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), "::", stringify!(hDestinationFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uliChunkNumber as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), "::", stringify!(uliChunkNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uliChunkSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), "::", stringify!(uliChunkSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uliStreamSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), "::", stringify!(uliStreamSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .uliTotalFileSize as *const _ 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() { 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::null::())).dwStreamNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), "::", stringify!(dwStreamNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hSourceFile as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), "::", stringify!(hSourceFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .hDestinationFile as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), "::", stringify!(hDestinationFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uliChunkNumber as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), "::", stringify!(uliChunkNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uliChunkSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), "::", stringify!(uliChunkSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uliStreamSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), "::", stringify!(uliStreamSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .uliStreamBytesTransferred as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), "::", stringify!(uliStreamBytesTransferred) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .uliTotalFileSize as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), "::", stringify!(uliTotalFileSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .uliTotalBytesTransferred as *const _ 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() { 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::null::())).dwStreamNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), "::", stringify!(dwStreamNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), "::", stringify!(dwReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hSourceFile as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), "::", stringify!(hSourceFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .hDestinationFile as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), "::", stringify!(hDestinationFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uliStreamSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), "::", stringify!(uliStreamSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .uliTotalFileSize as *const _ 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() { 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::null::())).dwStreamNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), "::", stringify!(dwStreamNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), "::", stringify!(dwReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hSourceFile as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), "::", stringify!(hSourceFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .hDestinationFile as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), "::", stringify!(hDestinationFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uliStreamSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), "::", stringify!(uliStreamSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .uliStreamBytesTransferred as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), "::", stringify!(uliStreamBytesTransferred) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .uliTotalFileSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), "::", stringify!(uliTotalFileSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .uliTotalBytesTransferred as *const _ 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() { 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::null::())).dwReserved as *const _ 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() { 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::null::())).CopyPhase as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), "::", stringify!(CopyPhase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStreamNumber as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), "::", stringify!(dwStreamNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hrFailure as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), "::", stringify!(hrFailure) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReserved as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), "::", stringify!(dwReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uliChunkNumber as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), "::", stringify!(uliChunkNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uliStreamSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), "::", stringify!(uliStreamSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .uliStreamBytesTransferred as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), "::", stringify!(uliStreamBytesTransferred) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .uliTotalFileSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), "::", stringify!(uliTotalFileSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .uliTotalBytesTransferred as *const _ 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() { 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::null::())).ChunkStarted as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), "::", stringify!(ChunkStarted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ChunkFinished as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), "::", stringify!(ChunkFinished) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).StreamStarted as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), "::", stringify!(StreamStarted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).StreamFinished as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), "::", stringify!(StreamFinished) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PollContinue as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), "::", stringify!(PollContinue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Error as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), "::", stringify!(Error) ) ); } #[test] fn bindgen_test_layout_COPYFILE2_MESSAGE() { 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::null::())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwPadding as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(COPYFILE2_MESSAGE), "::", stringify!(dwPadding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Info as *const _ 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() { 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::null::())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(COPYFILE2_EXTENDED_PARAMETERS), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwCopyFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(COPYFILE2_EXTENDED_PARAMETERS), "::", stringify!(dwCopyFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pfCancel as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(COPYFILE2_EXTENDED_PARAMETERS), "::", stringify!(pfCancel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pProgressRoutine as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(COPYFILE2_EXTENDED_PARAMETERS), "::", stringify!(pProgressRoutine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pvCallbackContext as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(COPYFILE2_EXTENDED_PARAMETERS), "::", stringify!(pvCallbackContext) ) ); } extern "C" { pub fn CopyFile2( pwszExistingFileName: PCWSTR, pwszNewFileName: PCWSTR, pExtendedParameters: *mut COPYFILE2_EXTENDED_PARAMETERS, ) -> HRESULT; } extern "C" { pub fn MoveFileA(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR) -> BOOL; } extern "C" { pub fn MoveFileW(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR) -> BOOL; } extern "C" { pub fn MoveFileExA(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, dwFlags: DWORD) -> BOOL; } extern "C" { pub fn MoveFileExW(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, dwFlags: DWORD) -> BOOL; } extern "C" { pub fn MoveFileWithProgressA( lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, lpProgressRoutine: LPPROGRESS_ROUTINE, lpData: LPVOID, dwFlags: DWORD, ) -> BOOL; } extern "C" { pub fn MoveFileWithProgressW( lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, lpProgressRoutine: LPPROGRESS_ROUTINE, lpData: LPVOID, dwFlags: DWORD, ) -> BOOL; } extern "C" { pub fn MoveFileTransactedA( lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, lpProgressRoutine: LPPROGRESS_ROUTINE, lpData: LPVOID, dwFlags: DWORD, hTransaction: HANDLE, ) -> BOOL; } extern "C" { pub fn MoveFileTransactedW( lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, lpProgressRoutine: LPPROGRESS_ROUTINE, lpData: LPVOID, dwFlags: DWORD, hTransaction: HANDLE, ) -> BOOL; } extern "C" { pub fn ReplaceFileA( lpReplacedFileName: LPCSTR, lpReplacementFileName: LPCSTR, lpBackupFileName: LPCSTR, dwReplaceFlags: DWORD, lpExclude: LPVOID, lpReserved: LPVOID, ) -> BOOL; } extern "C" { pub fn ReplaceFileW( lpReplacedFileName: LPCWSTR, lpReplacementFileName: LPCWSTR, lpBackupFileName: LPCWSTR, dwReplaceFlags: DWORD, lpExclude: LPVOID, lpReserved: LPVOID, ) -> BOOL; } extern "C" { pub fn CreateHardLinkA( lpFileName: LPCSTR, lpExistingFileName: LPCSTR, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, ) -> BOOL; } extern "C" { pub fn CreateHardLinkW( lpFileName: LPCWSTR, lpExistingFileName: LPCWSTR, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, ) -> BOOL; } extern "C" { pub fn CreateHardLinkTransactedA( lpFileName: LPCSTR, lpExistingFileName: LPCSTR, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, hTransaction: HANDLE, ) -> BOOL; } extern "C" { pub fn CreateHardLinkTransactedW( lpFileName: LPCWSTR, lpExistingFileName: LPCWSTR, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, hTransaction: HANDLE, ) -> BOOL; } extern "C" { pub fn FindFirstStreamTransactedW( lpFileName: LPCWSTR, InfoLevel: STREAM_INFO_LEVELS, lpFindStreamData: LPVOID, dwFlags: DWORD, hTransaction: HANDLE, ) -> HANDLE; } extern "C" { pub fn FindFirstFileNameTransactedW( lpFileName: LPCWSTR, dwFlags: DWORD, StringLength: LPDWORD, LinkName: PWSTR, hTransaction: HANDLE, ) -> HANDLE; } extern "C" { pub fn CreateNamedPipeA( lpName: LPCSTR, dwOpenMode: DWORD, dwPipeMode: DWORD, nMaxInstances: DWORD, nOutBufferSize: DWORD, nInBufferSize: DWORD, nDefaultTimeOut: DWORD, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, ) -> HANDLE; } extern "C" { pub fn GetNamedPipeHandleStateA( hNamedPipe: HANDLE, lpState: LPDWORD, lpCurInstances: LPDWORD, lpMaxCollectionCount: LPDWORD, lpCollectDataTimeout: LPDWORD, lpUserName: LPSTR, nMaxUserNameSize: DWORD, ) -> BOOL; } extern "C" { pub fn CallNamedPipeA( lpNamedPipeName: LPCSTR, lpInBuffer: LPVOID, nInBufferSize: DWORD, lpOutBuffer: LPVOID, nOutBufferSize: DWORD, lpBytesRead: LPDWORD, nTimeOut: DWORD, ) -> BOOL; } extern "C" { pub fn WaitNamedPipeA(lpNamedPipeName: LPCSTR, nTimeOut: DWORD) -> BOOL; } extern "C" { pub fn GetNamedPipeClientComputerNameA( Pipe: HANDLE, ClientComputerName: LPSTR, ClientComputerNameLength: ULONG, ) -> BOOL; } extern "C" { pub fn GetNamedPipeClientProcessId(Pipe: HANDLE, ClientProcessId: PULONG) -> BOOL; } extern "C" { pub fn GetNamedPipeClientSessionId(Pipe: HANDLE, ClientSessionId: PULONG) -> BOOL; } extern "C" { pub fn GetNamedPipeServerProcessId(Pipe: HANDLE, ServerProcessId: PULONG) -> BOOL; } extern "C" { pub fn GetNamedPipeServerSessionId(Pipe: HANDLE, ServerSessionId: PULONG) -> BOOL; } extern "C" { pub fn SetVolumeLabelA(lpRootPathName: LPCSTR, lpVolumeName: LPCSTR) -> BOOL; } extern "C" { pub fn SetVolumeLabelW(lpRootPathName: LPCWSTR, lpVolumeName: LPCWSTR) -> BOOL; } extern "C" { pub fn SetFileBandwidthReservation( hFile: HANDLE, nPeriodMilliseconds: DWORD, nBytesPerPeriod: DWORD, bDiscardable: BOOL, lpTransferSize: LPDWORD, lpNumOutstandingRequests: LPDWORD, ) -> BOOL; } extern "C" { pub fn GetFileBandwidthReservation( hFile: HANDLE, lpPeriodMilliseconds: LPDWORD, lpBytesPerPeriod: LPDWORD, pDiscardable: LPBOOL, lpTransferSize: LPDWORD, lpNumOutstandingRequests: LPDWORD, ) -> BOOL; } extern "C" { pub fn ClearEventLogA(hEventLog: HANDLE, lpBackupFileName: LPCSTR) -> BOOL; } extern "C" { pub fn ClearEventLogW(hEventLog: HANDLE, lpBackupFileName: LPCWSTR) -> BOOL; } extern "C" { pub fn BackupEventLogA(hEventLog: HANDLE, lpBackupFileName: LPCSTR) -> BOOL; } extern "C" { pub fn BackupEventLogW(hEventLog: HANDLE, lpBackupFileName: LPCWSTR) -> BOOL; } extern "C" { pub fn CloseEventLog(hEventLog: HANDLE) -> BOOL; } extern "C" { pub fn DeregisterEventSource(hEventLog: HANDLE) -> BOOL; } extern "C" { pub fn NotifyChangeEventLog(hEventLog: HANDLE, hEvent: HANDLE) -> BOOL; } extern "C" { pub fn GetNumberOfEventLogRecords(hEventLog: HANDLE, NumberOfRecords: PDWORD) -> BOOL; } extern "C" { pub fn GetOldestEventLogRecord(hEventLog: HANDLE, OldestRecord: PDWORD) -> BOOL; } extern "C" { pub fn OpenEventLogA(lpUNCServerName: LPCSTR, lpSourceName: LPCSTR) -> HANDLE; } extern "C" { pub fn OpenEventLogW(lpUNCServerName: LPCWSTR, lpSourceName: LPCWSTR) -> HANDLE; } extern "C" { pub fn RegisterEventSourceA(lpUNCServerName: LPCSTR, lpSourceName: LPCSTR) -> HANDLE; } extern "C" { pub fn RegisterEventSourceW(lpUNCServerName: LPCWSTR, lpSourceName: LPCWSTR) -> HANDLE; } extern "C" { pub fn OpenBackupEventLogA(lpUNCServerName: LPCSTR, lpFileName: LPCSTR) -> HANDLE; } extern "C" { pub fn OpenBackupEventLogW(lpUNCServerName: LPCWSTR, lpFileName: LPCWSTR) -> HANDLE; } extern "C" { pub fn ReadEventLogA( hEventLog: HANDLE, dwReadFlags: DWORD, dwRecordOffset: DWORD, lpBuffer: LPVOID, nNumberOfBytesToRead: DWORD, pnBytesRead: *mut DWORD, pnMinNumberOfBytesNeeded: *mut DWORD, ) -> BOOL; } extern "C" { pub fn ReadEventLogW( hEventLog: HANDLE, dwReadFlags: DWORD, dwRecordOffset: DWORD, lpBuffer: LPVOID, nNumberOfBytesToRead: DWORD, pnBytesRead: *mut DWORD, pnMinNumberOfBytesNeeded: *mut DWORD, ) -> BOOL; } extern "C" { pub fn ReportEventA( hEventLog: HANDLE, wType: WORD, wCategory: WORD, dwEventID: DWORD, lpUserSid: PSID, wNumStrings: WORD, dwDataSize: DWORD, lpStrings: *mut LPCSTR, lpRawData: LPVOID, ) -> BOOL; } extern "C" { pub fn ReportEventW( hEventLog: HANDLE, wType: WORD, wCategory: WORD, dwEventID: DWORD, lpUserSid: PSID, wNumStrings: WORD, dwDataSize: DWORD, lpStrings: *mut LPCWSTR, lpRawData: LPVOID, ) -> BOOL; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _EVENTLOG_FULL_INFORMATION { pub dwFull: DWORD, } #[test] fn bindgen_test_layout__EVENTLOG_FULL_INFORMATION() { 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::null::<_EVENTLOG_FULL_INFORMATION>())).dwFull as *const _ 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() { 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::null::<_OPERATION_START_PARAMETERS>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OPERATION_START_PARAMETERS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OPERATION_START_PARAMETERS>())).OperationId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_OPERATION_START_PARAMETERS), "::", stringify!(OperationId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OPERATION_START_PARAMETERS>())).Flags as *const _ 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() { 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::null::<_OPERATION_END_PARAMETERS>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OPERATION_END_PARAMETERS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OPERATION_END_PARAMETERS>())).OperationId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_OPERATION_END_PARAMETERS), "::", stringify!(OperationId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OPERATION_END_PARAMETERS>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_OPERATION_END_PARAMETERS), "::", stringify!(Flags) ) ); } pub type OPERATION_END_PARAMETERS = _OPERATION_END_PARAMETERS; pub type POPERATION_END_PARAMETERS = *mut _OPERATION_END_PARAMETERS; extern "C" { pub fn OperationStart(OperationStartParams: *mut OPERATION_START_PARAMETERS) -> BOOL; } extern "C" { pub fn OperationEnd(OperationEndParams: *mut OPERATION_END_PARAMETERS) -> BOOL; } extern "C" { pub fn AccessCheckAndAuditAlarmA( SubsystemName: LPCSTR, HandleId: LPVOID, ObjectTypeName: LPSTR, ObjectName: LPSTR, SecurityDescriptor: PSECURITY_DESCRIPTOR, DesiredAccess: DWORD, GenericMapping: PGENERIC_MAPPING, ObjectCreation: BOOL, GrantedAccess: LPDWORD, AccessStatus: LPBOOL, pfGenerateOnClose: LPBOOL, ) -> BOOL; } extern "C" { pub fn AccessCheckByTypeAndAuditAlarmA( SubsystemName: LPCSTR, HandleId: LPVOID, ObjectTypeName: LPCSTR, ObjectName: LPCSTR, SecurityDescriptor: PSECURITY_DESCRIPTOR, PrincipalSelfSid: PSID, DesiredAccess: DWORD, AuditType: AUDIT_EVENT_TYPE, Flags: DWORD, ObjectTypeList: POBJECT_TYPE_LIST, ObjectTypeListLength: DWORD, GenericMapping: PGENERIC_MAPPING, ObjectCreation: BOOL, GrantedAccess: LPDWORD, AccessStatus: LPBOOL, pfGenerateOnClose: LPBOOL, ) -> BOOL; } extern "C" { pub fn AccessCheckByTypeResultListAndAuditAlarmA( SubsystemName: LPCSTR, HandleId: LPVOID, ObjectTypeName: LPCSTR, ObjectName: LPCSTR, SecurityDescriptor: PSECURITY_DESCRIPTOR, PrincipalSelfSid: PSID, DesiredAccess: DWORD, AuditType: AUDIT_EVENT_TYPE, Flags: DWORD, ObjectTypeList: POBJECT_TYPE_LIST, ObjectTypeListLength: DWORD, GenericMapping: PGENERIC_MAPPING, ObjectCreation: BOOL, GrantedAccess: LPDWORD, AccessStatusList: LPDWORD, pfGenerateOnClose: LPBOOL, ) -> BOOL; } extern "C" { pub fn AccessCheckByTypeResultListAndAuditAlarmByHandleA( SubsystemName: LPCSTR, HandleId: LPVOID, ClientToken: HANDLE, ObjectTypeName: LPCSTR, ObjectName: LPCSTR, SecurityDescriptor: PSECURITY_DESCRIPTOR, PrincipalSelfSid: PSID, DesiredAccess: DWORD, AuditType: AUDIT_EVENT_TYPE, Flags: DWORD, ObjectTypeList: POBJECT_TYPE_LIST, ObjectTypeListLength: DWORD, GenericMapping: PGENERIC_MAPPING, ObjectCreation: BOOL, GrantedAccess: LPDWORD, AccessStatusList: LPDWORD, pfGenerateOnClose: LPBOOL, ) -> BOOL; } extern "C" { pub fn ObjectOpenAuditAlarmA( SubsystemName: LPCSTR, HandleId: LPVOID, ObjectTypeName: LPSTR, ObjectName: LPSTR, pSecurityDescriptor: PSECURITY_DESCRIPTOR, ClientToken: HANDLE, DesiredAccess: DWORD, GrantedAccess: DWORD, Privileges: PPRIVILEGE_SET, ObjectCreation: BOOL, AccessGranted: BOOL, GenerateOnClose: LPBOOL, ) -> BOOL; } extern "C" { pub fn ObjectPrivilegeAuditAlarmA( SubsystemName: LPCSTR, HandleId: LPVOID, ClientToken: HANDLE, DesiredAccess: DWORD, Privileges: PPRIVILEGE_SET, AccessGranted: BOOL, ) -> BOOL; } extern "C" { pub fn ObjectCloseAuditAlarmA( SubsystemName: LPCSTR, HandleId: LPVOID, GenerateOnClose: BOOL, ) -> BOOL; } extern "C" { pub fn ObjectDeleteAuditAlarmA( SubsystemName: LPCSTR, HandleId: LPVOID, GenerateOnClose: BOOL, ) -> BOOL; } extern "C" { pub fn PrivilegedServiceAuditAlarmA( SubsystemName: LPCSTR, ServiceName: LPCSTR, ClientToken: HANDLE, Privileges: PPRIVILEGE_SET, AccessGranted: BOOL, ) -> BOOL; } extern "C" { pub fn AddConditionalAce( pAcl: PACL, dwAceRevision: DWORD, AceFlags: DWORD, AceType: UCHAR, AccessMask: DWORD, pSid: PSID, ConditionStr: PWCHAR, ReturnLength: *mut DWORD, ) -> BOOL; } extern "C" { pub fn SetFileSecurityA( lpFileName: LPCSTR, SecurityInformation: SECURITY_INFORMATION, pSecurityDescriptor: PSECURITY_DESCRIPTOR, ) -> BOOL; } extern "C" { pub fn GetFileSecurityA( lpFileName: LPCSTR, RequestedInformation: SECURITY_INFORMATION, pSecurityDescriptor: PSECURITY_DESCRIPTOR, nLength: DWORD, lpnLengthNeeded: LPDWORD, ) -> BOOL; } extern "C" { pub fn ReadDirectoryChangesW( hDirectory: HANDLE, lpBuffer: LPVOID, nBufferLength: DWORD, bWatchSubtree: BOOL, dwNotifyFilter: DWORD, lpBytesReturned: LPDWORD, lpOverlapped: LPOVERLAPPED, lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, ) -> BOOL; } extern "C" { pub fn ReadDirectoryChangesExW( hDirectory: HANDLE, lpBuffer: LPVOID, nBufferLength: DWORD, bWatchSubtree: BOOL, dwNotifyFilter: DWORD, lpBytesReturned: LPDWORD, lpOverlapped: LPOVERLAPPED, lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, ReadDirectoryNotifyInformationClass: READ_DIRECTORY_NOTIFY_INFORMATION_CLASS, ) -> BOOL; } extern "C" { pub fn MapViewOfFileExNuma( hFileMappingObject: HANDLE, dwDesiredAccess: DWORD, dwFileOffsetHigh: DWORD, dwFileOffsetLow: DWORD, dwNumberOfBytesToMap: SIZE_T, lpBaseAddress: LPVOID, nndPreferred: DWORD, ) -> LPVOID; } extern "C" { pub fn IsBadReadPtr(lp: *const ::std::os::raw::c_void, ucb: UINT_PTR) -> BOOL; } extern "C" { pub fn IsBadWritePtr(lp: LPVOID, ucb: UINT_PTR) -> BOOL; } extern "C" { pub fn IsBadHugeReadPtr(lp: *const ::std::os::raw::c_void, ucb: UINT_PTR) -> BOOL; } extern "C" { pub fn IsBadHugeWritePtr(lp: LPVOID, ucb: UINT_PTR) -> BOOL; } extern "C" { pub fn IsBadCodePtr(lpfn: FARPROC) -> BOOL; } extern "C" { pub fn IsBadStringPtrA(lpsz: LPCSTR, ucchMax: UINT_PTR) -> BOOL; } extern "C" { pub fn IsBadStringPtrW(lpsz: LPCWSTR, ucchMax: UINT_PTR) -> BOOL; } extern "C" { pub fn LookupAccountSidA( lpSystemName: LPCSTR, Sid: PSID, Name: LPSTR, cchName: LPDWORD, ReferencedDomainName: LPSTR, cchReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE, ) -> BOOL; } extern "C" { pub fn LookupAccountSidW( lpSystemName: LPCWSTR, Sid: PSID, Name: LPWSTR, cchName: LPDWORD, ReferencedDomainName: LPWSTR, cchReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE, ) -> BOOL; } extern "C" { pub fn LookupAccountNameA( lpSystemName: LPCSTR, lpAccountName: LPCSTR, Sid: PSID, cbSid: LPDWORD, ReferencedDomainName: LPSTR, cchReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE, ) -> BOOL; } extern "C" { pub fn LookupAccountNameW( lpSystemName: LPCWSTR, lpAccountName: LPCWSTR, Sid: PSID, cbSid: LPDWORD, ReferencedDomainName: LPWSTR, cchReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE, ) -> BOOL; } extern "C" { pub fn LookupAccountNameLocalA( lpAccountName: LPCSTR, Sid: PSID, cbSid: LPDWORD, ReferencedDomainName: LPSTR, cchReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE, ) -> BOOL; } extern "C" { pub fn LookupAccountNameLocalW( lpAccountName: LPCWSTR, Sid: PSID, cbSid: LPDWORD, ReferencedDomainName: LPWSTR, cchReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE, ) -> BOOL; } extern "C" { pub fn LookupAccountSidLocalA( Sid: PSID, Name: LPSTR, cchName: LPDWORD, ReferencedDomainName: LPSTR, cchReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE, ) -> BOOL; } extern "C" { pub fn LookupAccountSidLocalW( Sid: PSID, Name: LPWSTR, cchName: LPDWORD, ReferencedDomainName: LPWSTR, cchReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE, ) -> BOOL; } extern "C" { pub fn LookupPrivilegeValueA(lpSystemName: LPCSTR, lpName: LPCSTR, lpLuid: PLUID) -> BOOL; } extern "C" { pub fn LookupPrivilegeValueW(lpSystemName: LPCWSTR, lpName: LPCWSTR, lpLuid: PLUID) -> BOOL; } extern "C" { pub fn LookupPrivilegeNameA( lpSystemName: LPCSTR, lpLuid: PLUID, lpName: LPSTR, cchName: LPDWORD, ) -> BOOL; } extern "C" { pub fn LookupPrivilegeNameW( lpSystemName: LPCWSTR, lpLuid: PLUID, lpName: LPWSTR, cchName: LPDWORD, ) -> BOOL; } extern "C" { pub fn LookupPrivilegeDisplayNameA( lpSystemName: LPCSTR, lpName: LPCSTR, lpDisplayName: LPSTR, cchDisplayName: LPDWORD, lpLanguageId: LPDWORD, ) -> BOOL; } extern "C" { pub fn LookupPrivilegeDisplayNameW( lpSystemName: LPCWSTR, lpName: LPCWSTR, lpDisplayName: LPWSTR, cchDisplayName: LPDWORD, lpLanguageId: LPDWORD, ) -> BOOL; } extern "C" { pub fn BuildCommDCBA(lpDef: LPCSTR, lpDCB: LPDCB) -> BOOL; } extern "C" { pub fn BuildCommDCBW(lpDef: LPCWSTR, lpDCB: LPDCB) -> BOOL; } extern "C" { pub fn BuildCommDCBAndTimeoutsA( lpDef: LPCSTR, lpDCB: LPDCB, lpCommTimeouts: LPCOMMTIMEOUTS, ) -> BOOL; } extern "C" { pub fn BuildCommDCBAndTimeoutsW( lpDef: LPCWSTR, lpDCB: LPDCB, lpCommTimeouts: LPCOMMTIMEOUTS, ) -> BOOL; } extern "C" { pub fn CommConfigDialogA(lpszName: LPCSTR, hWnd: HWND, lpCC: LPCOMMCONFIG) -> BOOL; } extern "C" { pub fn CommConfigDialogW(lpszName: LPCWSTR, hWnd: HWND, lpCC: LPCOMMCONFIG) -> BOOL; } extern "C" { pub fn GetDefaultCommConfigA(lpszName: LPCSTR, lpCC: LPCOMMCONFIG, lpdwSize: LPDWORD) -> BOOL; } extern "C" { pub fn GetDefaultCommConfigW(lpszName: LPCWSTR, lpCC: LPCOMMCONFIG, lpdwSize: LPDWORD) -> BOOL; } extern "C" { pub fn SetDefaultCommConfigA(lpszName: LPCSTR, lpCC: LPCOMMCONFIG, dwSize: DWORD) -> BOOL; } extern "C" { pub fn SetDefaultCommConfigW(lpszName: LPCWSTR, lpCC: LPCOMMCONFIG, dwSize: DWORD) -> BOOL; } extern "C" { pub fn GetComputerNameA(lpBuffer: LPSTR, nSize: LPDWORD) -> BOOL; } extern "C" { pub fn GetComputerNameW(lpBuffer: LPWSTR, nSize: LPDWORD) -> BOOL; } extern "C" { pub fn DnsHostnameToComputerNameA( Hostname: LPCSTR, ComputerName: LPSTR, nSize: LPDWORD, ) -> BOOL; } extern "C" { pub fn DnsHostnameToComputerNameW( Hostname: LPCWSTR, ComputerName: LPWSTR, nSize: LPDWORD, ) -> BOOL; } extern "C" { pub fn GetUserNameA(lpBuffer: LPSTR, pcbBuffer: LPDWORD) -> BOOL; } extern "C" { pub fn GetUserNameW(lpBuffer: LPWSTR, pcbBuffer: LPDWORD) -> BOOL; } extern "C" { pub fn LogonUserA( lpszUsername: LPCSTR, lpszDomain: LPCSTR, lpszPassword: LPCSTR, dwLogonType: DWORD, dwLogonProvider: DWORD, phToken: PHANDLE, ) -> BOOL; } extern "C" { pub fn LogonUserW( lpszUsername: LPCWSTR, lpszDomain: LPCWSTR, lpszPassword: LPCWSTR, dwLogonType: DWORD, dwLogonProvider: DWORD, phToken: PHANDLE, ) -> BOOL; } extern "C" { pub fn LogonUserExA( lpszUsername: LPCSTR, lpszDomain: LPCSTR, lpszPassword: LPCSTR, dwLogonType: DWORD, dwLogonProvider: DWORD, phToken: PHANDLE, ppLogonSid: *mut PSID, ppProfileBuffer: *mut PVOID, pdwProfileLength: LPDWORD, pQuotaLimits: PQUOTA_LIMITS, ) -> BOOL; } extern "C" { pub fn LogonUserExW( lpszUsername: LPCWSTR, lpszDomain: LPCWSTR, lpszPassword: LPCWSTR, dwLogonType: DWORD, dwLogonProvider: DWORD, phToken: PHANDLE, ppLogonSid: *mut PSID, ppProfileBuffer: *mut PVOID, pdwProfileLength: LPDWORD, pQuotaLimits: PQUOTA_LIMITS, ) -> BOOL; } extern "C" { pub fn CreateProcessWithLogonW( lpUsername: LPCWSTR, lpDomain: LPCWSTR, lpPassword: LPCWSTR, dwLogonFlags: DWORD, lpApplicationName: LPCWSTR, lpCommandLine: LPWSTR, dwCreationFlags: DWORD, lpEnvironment: LPVOID, lpCurrentDirectory: LPCWSTR, lpStartupInfo: LPSTARTUPINFOW, lpProcessInformation: LPPROCESS_INFORMATION, ) -> BOOL; } extern "C" { pub fn CreateProcessWithTokenW( hToken: HANDLE, dwLogonFlags: DWORD, lpApplicationName: LPCWSTR, lpCommandLine: LPWSTR, dwCreationFlags: DWORD, lpEnvironment: LPVOID, lpCurrentDirectory: LPCWSTR, lpStartupInfo: LPSTARTUPINFOW, lpProcessInformation: LPPROCESS_INFORMATION, ) -> BOOL; } extern "C" { pub fn IsTokenUntrusted(TokenHandle: HANDLE) -> BOOL; } extern "C" { pub fn RegisterWaitForSingleObject( phNewWaitObject: PHANDLE, hObject: HANDLE, Callback: WAITORTIMERCALLBACK, Context: PVOID, dwMilliseconds: ULONG, dwFlags: ULONG, ) -> BOOL; } extern "C" { pub fn UnregisterWait(WaitHandle: HANDLE) -> BOOL; } extern "C" { pub fn BindIoCompletionCallback( FileHandle: HANDLE, Function: LPOVERLAPPED_COMPLETION_ROUTINE, Flags: ULONG, ) -> BOOL; } extern "C" { pub fn SetTimerQueueTimer( TimerQueue: HANDLE, Callback: WAITORTIMERCALLBACK, Parameter: PVOID, DueTime: DWORD, Period: DWORD, PreferIo: BOOL, ) -> HANDLE; } extern "C" { pub fn CancelTimerQueueTimer(TimerQueue: HANDLE, Timer: HANDLE) -> BOOL; } extern "C" { pub fn DeleteTimerQueue(TimerQueue: HANDLE) -> BOOL; } extern "C" { pub fn CreatePrivateNamespaceA( lpPrivateNamespaceAttributes: LPSECURITY_ATTRIBUTES, lpBoundaryDescriptor: LPVOID, lpAliasPrefix: LPCSTR, ) -> HANDLE; } extern "C" { pub fn OpenPrivateNamespaceA(lpBoundaryDescriptor: LPVOID, lpAliasPrefix: LPCSTR) -> HANDLE; } extern "C" { pub fn CreateBoundaryDescriptorA(Name: LPCSTR, Flags: ULONG) -> HANDLE; } extern "C" { pub fn AddIntegrityLabelToBoundaryDescriptor( BoundaryDescriptor: *mut HANDLE, IntegrityLabel: PSID, ) -> BOOL; } #[repr(C)] #[derive(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() { 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::null::())).dwDockInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagHW_PROFILE_INFOA), "::", stringify!(dwDockInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szHwProfileGuid as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagHW_PROFILE_INFOA), "::", stringify!(szHwProfileGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szHwProfileName as *const _ 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(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() { 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::null::())).dwDockInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagHW_PROFILE_INFOW), "::", stringify!(dwDockInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szHwProfileGuid as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagHW_PROFILE_INFOW), "::", stringify!(szHwProfileGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szHwProfileName as *const _ 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() { 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::null::<_TIME_ZONE_INFORMATION>())).Bias as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TIME_ZONE_INFORMATION), "::", stringify!(Bias) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TIME_ZONE_INFORMATION>())).StandardName as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TIME_ZONE_INFORMATION), "::", stringify!(StandardName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TIME_ZONE_INFORMATION>())).StandardDate as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_TIME_ZONE_INFORMATION), "::", stringify!(StandardDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TIME_ZONE_INFORMATION>())).StandardBias as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(_TIME_ZONE_INFORMATION), "::", stringify!(StandardBias) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TIME_ZONE_INFORMATION>())).DaylightName as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_TIME_ZONE_INFORMATION), "::", stringify!(DaylightName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TIME_ZONE_INFORMATION>())).DaylightDate as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_TIME_ZONE_INFORMATION), "::", stringify!(DaylightDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TIME_ZONE_INFORMATION>())).DaylightBias as *const _ 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(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() { 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::null::<_TIME_DYNAMIC_ZONE_INFORMATION>())).Bias as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), "::", stringify!(Bias) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TIME_DYNAMIC_ZONE_INFORMATION>())).StandardName as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), "::", stringify!(StandardName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TIME_DYNAMIC_ZONE_INFORMATION>())).StandardDate as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), "::", stringify!(StandardDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TIME_DYNAMIC_ZONE_INFORMATION>())).StandardBias as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), "::", stringify!(StandardBias) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TIME_DYNAMIC_ZONE_INFORMATION>())).DaylightName as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), "::", stringify!(DaylightName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TIME_DYNAMIC_ZONE_INFORMATION>())).DaylightDate as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), "::", stringify!(DaylightDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TIME_DYNAMIC_ZONE_INFORMATION>())).DaylightBias as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), "::", stringify!(DaylightBias) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TIME_DYNAMIC_ZONE_INFORMATION>())).TimeZoneKeyName as *const _ as usize }, 172usize, concat!( "Offset of field: ", stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), "::", stringify!(TimeZoneKeyName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TIME_DYNAMIC_ZONE_INFORMATION>())).DynamicDaylightTimeDisabled as *const _ 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() { 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::null::<_SYSTEM_POWER_STATUS>())).ACLineStatus as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_STATUS), "::", stringify!(ACLineStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_STATUS>())).BatteryFlag as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_STATUS), "::", stringify!(BatteryFlag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_STATUS>())).BatteryLifePercent as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_STATUS), "::", stringify!(BatteryLifePercent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_STATUS>())).SystemStatusFlag as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_STATUS), "::", stringify!(SystemStatusFlag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_STATUS>())).BatteryLifeTime as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SYSTEM_POWER_STATUS), "::", stringify!(BatteryLifeTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SYSTEM_POWER_STATUS>())).BatteryFullLifeTime as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagACTCTXA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagACTCTXA), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpSource as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagACTCTXA), "::", stringify!(lpSource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wProcessorArchitecture as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagACTCTXA), "::", stringify!(wProcessorArchitecture) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wLangId as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(tagACTCTXA), "::", stringify!(wLangId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpAssemblyDirectory as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagACTCTXA), "::", stringify!(lpAssemblyDirectory) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpResourceName as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagACTCTXA), "::", stringify!(lpResourceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpApplicationName as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagACTCTXA), "::", stringify!(lpApplicationName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hModule as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagACTCTXW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagACTCTXW), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpSource as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagACTCTXW), "::", stringify!(lpSource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wProcessorArchitecture as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagACTCTXW), "::", stringify!(wProcessorArchitecture) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wLangId as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(tagACTCTXW), "::", stringify!(wLangId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpAssemblyDirectory as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagACTCTXW), "::", stringify!(lpAssemblyDirectory) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpResourceName as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagACTCTXW), "::", stringify!(lpResourceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpApplicationName as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagACTCTXW), "::", stringify!(lpApplicationName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hModule as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulDataFormatVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), "::", stringify!(ulDataFormatVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), "::", stringify!(lpData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulLength as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), "::", stringify!(ulLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpSectionGlobalData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), "::", stringify!(lpSectionGlobalData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulSectionGlobalDataLength as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), "::", stringify!(ulSectionGlobalDataLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpSectionBase as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), "::", stringify!(lpSectionBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulSectionTotalLength as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), "::", stringify!(ulSectionTotalLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hActCtx as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), "::", stringify!(hActCtx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulAssemblyRosterIndex as *const _ 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() { 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::null::())).lpInformation as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA), "::", stringify!(lpInformation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpSectionBase as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA), "::", stringify!(lpSectionBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .ulSectionLength as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA), "::", stringify!(ulSectionLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .lpSectionGlobalDataBase as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA), "::", stringify!(lpSectionGlobalDataBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .ulSectionGlobalDataLength as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulDataFormatVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA), "::", stringify!(ulDataFormatVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA), "::", stringify!(lpData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulLength as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA), "::", stringify!(ulLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpSectionGlobalData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA), "::", stringify!(lpSectionGlobalData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulSectionGlobalDataLength as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA), "::", stringify!(ulSectionGlobalDataLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpSectionBase as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA), "::", stringify!(lpSectionBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulSectionTotalLength as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA), "::", stringify!(ulSectionTotalLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hActCtx as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA), "::", stringify!(hActCtx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulAssemblyRosterIndex as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA), "::", stringify!(ulAssemblyRosterIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulFlags as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(tagACTCTX_SECTION_KEYED_DATA), "::", stringify!(ulFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AssemblyMetadata as *const _ 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() { 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::null::<_ACTIVATION_CONTEXT_BASIC_INFORMATION>())).hActCtx as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACTIVATION_CONTEXT_BASIC_INFORMATION), "::", stringify!(hActCtx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTIVATION_CONTEXT_BASIC_INFORMATION>())).dwFlags as *const _ 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() { 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::null::<_FILE_BASIC_INFO>())).CreationTime as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_BASIC_INFO), "::", stringify!(CreationTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_BASIC_INFO>())).LastAccessTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_BASIC_INFO), "::", stringify!(LastAccessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_BASIC_INFO>())).LastWriteTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_BASIC_INFO), "::", stringify!(LastWriteTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_BASIC_INFO>())).ChangeTime as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_FILE_BASIC_INFO), "::", stringify!(ChangeTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_BASIC_INFO>())).FileAttributes as *const _ 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() { 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::null::<_FILE_STANDARD_INFO>())).AllocationSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_STANDARD_INFO), "::", stringify!(AllocationSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STANDARD_INFO>())).EndOfFile as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_STANDARD_INFO), "::", stringify!(EndOfFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STANDARD_INFO>())).NumberOfLinks as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_STANDARD_INFO), "::", stringify!(NumberOfLinks) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STANDARD_INFO>())).DeletePending as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_FILE_STANDARD_INFO), "::", stringify!(DeletePending) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STANDARD_INFO>())).Directory as *const _ 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() { 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::null::<_FILE_NAME_INFO>())).FileNameLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_NAME_INFO), "::", stringify!(FileNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_NAME_INFO>())).FileName as *const _ 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() { 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::null::<_FILE_CASE_SENSITIVE_INFO>())).Flags as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__FILE_RENAME_INFO__bindgen_ty_1() { 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::null::<_FILE_RENAME_INFO__bindgen_ty_1>())).ReplaceIfExists as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_RENAME_INFO__bindgen_ty_1), "::", stringify!(ReplaceIfExists) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_RENAME_INFO__bindgen_ty_1>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_RENAME_INFO__bindgen_ty_1), "::", stringify!(Flags) ) ); } #[test] fn bindgen_test_layout__FILE_RENAME_INFO() { 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::null::<_FILE_RENAME_INFO>())).RootDirectory as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_RENAME_INFO), "::", stringify!(RootDirectory) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_RENAME_INFO>())).FileNameLength as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_RENAME_INFO), "::", stringify!(FileNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_RENAME_INFO>())).FileName as *const _ 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() { 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::null::<_FILE_ALLOCATION_INFO>())).AllocationSize as *const _ 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() { 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::null::<_FILE_END_OF_FILE_INFO>())).EndOfFile as *const _ 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() { 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::null::<_FILE_STREAM_INFO>())).NextEntryOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_STREAM_INFO), "::", stringify!(NextEntryOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STREAM_INFO>())).StreamNameLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_STREAM_INFO), "::", stringify!(StreamNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STREAM_INFO>())).StreamSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_STREAM_INFO), "::", stringify!(StreamSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STREAM_INFO>())).StreamAllocationSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_STREAM_INFO), "::", stringify!(StreamAllocationSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STREAM_INFO>())).StreamName as *const _ 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() { 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::null::<_FILE_COMPRESSION_INFO>())).CompressedFileSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_COMPRESSION_INFO), "::", stringify!(CompressedFileSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_COMPRESSION_INFO>())).CompressionFormat as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_COMPRESSION_INFO), "::", stringify!(CompressionFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_COMPRESSION_INFO>())).CompressionUnitShift as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_FILE_COMPRESSION_INFO), "::", stringify!(CompressionUnitShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_COMPRESSION_INFO>())).ChunkShift as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(_FILE_COMPRESSION_INFO), "::", stringify!(ChunkShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_COMPRESSION_INFO>())).ClusterShift as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_FILE_COMPRESSION_INFO), "::", stringify!(ClusterShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_COMPRESSION_INFO>())).Reserved as *const _ 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() { 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::null::<_FILE_ATTRIBUTE_TAG_INFO>())).FileAttributes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_ATTRIBUTE_TAG_INFO), "::", stringify!(FileAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ATTRIBUTE_TAG_INFO>())).ReparseTag as *const _ 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() { 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::null::<_FILE_DISPOSITION_INFO>())).DeleteFileA as *const _ 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() { 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::null::<_FILE_DISPOSITION_INFO_EX>())).Flags as *const _ 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() { 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::null::<_FILE_ID_BOTH_DIR_INFO>())).NextEntryOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_ID_BOTH_DIR_INFO), "::", stringify!(NextEntryOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_BOTH_DIR_INFO>())).FileIndex as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_ID_BOTH_DIR_INFO), "::", stringify!(FileIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_BOTH_DIR_INFO>())).CreationTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_ID_BOTH_DIR_INFO), "::", stringify!(CreationTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_BOTH_DIR_INFO>())).LastAccessTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_ID_BOTH_DIR_INFO), "::", stringify!(LastAccessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_BOTH_DIR_INFO>())).LastWriteTime as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_FILE_ID_BOTH_DIR_INFO), "::", stringify!(LastWriteTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_BOTH_DIR_INFO>())).ChangeTime as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_FILE_ID_BOTH_DIR_INFO), "::", stringify!(ChangeTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_BOTH_DIR_INFO>())).EndOfFile as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_FILE_ID_BOTH_DIR_INFO), "::", stringify!(EndOfFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_BOTH_DIR_INFO>())).AllocationSize as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_FILE_ID_BOTH_DIR_INFO), "::", stringify!(AllocationSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_BOTH_DIR_INFO>())).FileAttributes as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_FILE_ID_BOTH_DIR_INFO), "::", stringify!(FileAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_BOTH_DIR_INFO>())).FileNameLength as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_FILE_ID_BOTH_DIR_INFO), "::", stringify!(FileNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_BOTH_DIR_INFO>())).EaSize as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_FILE_ID_BOTH_DIR_INFO), "::", stringify!(EaSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_BOTH_DIR_INFO>())).ShortNameLength as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_FILE_ID_BOTH_DIR_INFO), "::", stringify!(ShortNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_BOTH_DIR_INFO>())).ShortName as *const _ as usize }, 70usize, concat!( "Offset of field: ", stringify!(_FILE_ID_BOTH_DIR_INFO), "::", stringify!(ShortName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_BOTH_DIR_INFO>())).FileId as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_FILE_ID_BOTH_DIR_INFO), "::", stringify!(FileId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_BOTH_DIR_INFO>())).FileName as *const _ 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() { 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::null::<_FILE_FULL_DIR_INFO>())).NextEntryOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_FULL_DIR_INFO), "::", stringify!(NextEntryOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_FULL_DIR_INFO>())).FileIndex as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_FULL_DIR_INFO), "::", stringify!(FileIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_FULL_DIR_INFO>())).CreationTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_FULL_DIR_INFO), "::", stringify!(CreationTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_FULL_DIR_INFO>())).LastAccessTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_FULL_DIR_INFO), "::", stringify!(LastAccessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_FULL_DIR_INFO>())).LastWriteTime as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_FILE_FULL_DIR_INFO), "::", stringify!(LastWriteTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_FULL_DIR_INFO>())).ChangeTime as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_FILE_FULL_DIR_INFO), "::", stringify!(ChangeTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_FULL_DIR_INFO>())).EndOfFile as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_FILE_FULL_DIR_INFO), "::", stringify!(EndOfFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_FULL_DIR_INFO>())).AllocationSize as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_FILE_FULL_DIR_INFO), "::", stringify!(AllocationSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_FULL_DIR_INFO>())).FileAttributes as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_FILE_FULL_DIR_INFO), "::", stringify!(FileAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_FULL_DIR_INFO>())).FileNameLength as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_FILE_FULL_DIR_INFO), "::", stringify!(FileNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_FULL_DIR_INFO>())).EaSize as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_FILE_FULL_DIR_INFO), "::", stringify!(EaSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_FULL_DIR_INFO>())).FileName as *const _ 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() { 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::null::<_FILE_IO_PRIORITY_HINT_INFO>())).PriorityHint as *const _ 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() { 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::null::<_FILE_ALIGNMENT_INFO>())).AlignmentRequirement as *const _ 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() { 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::null::<_FILE_STORAGE_INFO>())).LogicalBytesPerSector as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_STORAGE_INFO), "::", stringify!(LogicalBytesPerSector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STORAGE_INFO>())).PhysicalBytesPerSectorForAtomicity as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_STORAGE_INFO), "::", stringify!(PhysicalBytesPerSectorForAtomicity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STORAGE_INFO>())).PhysicalBytesPerSectorForPerformance as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_STORAGE_INFO), "::", stringify!(PhysicalBytesPerSectorForPerformance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STORAGE_INFO>())) .FileSystemEffectivePhysicalBytesPerSectorForAtomicity as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_FILE_STORAGE_INFO), "::", stringify!(FileSystemEffectivePhysicalBytesPerSectorForAtomicity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STORAGE_INFO>())).Flags as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_STORAGE_INFO), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STORAGE_INFO>())).ByteOffsetForSectorAlignment as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_FILE_STORAGE_INFO), "::", stringify!(ByteOffsetForSectorAlignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STORAGE_INFO>())).ByteOffsetForPartitionAlignment as *const _ 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() { 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::null::<_FILE_ID_INFO>())).VolumeSerialNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_ID_INFO), "::", stringify!(VolumeSerialNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_INFO>())).FileId as *const _ 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() { 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::null::<_FILE_ID_EXTD_DIR_INFO>())).NextEntryOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_ID_EXTD_DIR_INFO), "::", stringify!(NextEntryOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_EXTD_DIR_INFO>())).FileIndex as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_ID_EXTD_DIR_INFO), "::", stringify!(FileIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_EXTD_DIR_INFO>())).CreationTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_ID_EXTD_DIR_INFO), "::", stringify!(CreationTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_EXTD_DIR_INFO>())).LastAccessTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_ID_EXTD_DIR_INFO), "::", stringify!(LastAccessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_EXTD_DIR_INFO>())).LastWriteTime as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_FILE_ID_EXTD_DIR_INFO), "::", stringify!(LastWriteTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_EXTD_DIR_INFO>())).ChangeTime as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_FILE_ID_EXTD_DIR_INFO), "::", stringify!(ChangeTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_EXTD_DIR_INFO>())).EndOfFile as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_FILE_ID_EXTD_DIR_INFO), "::", stringify!(EndOfFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_EXTD_DIR_INFO>())).AllocationSize as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_FILE_ID_EXTD_DIR_INFO), "::", stringify!(AllocationSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_EXTD_DIR_INFO>())).FileAttributes as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_FILE_ID_EXTD_DIR_INFO), "::", stringify!(FileAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_EXTD_DIR_INFO>())).FileNameLength as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_FILE_ID_EXTD_DIR_INFO), "::", stringify!(FileNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_EXTD_DIR_INFO>())).EaSize as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_FILE_ID_EXTD_DIR_INFO), "::", stringify!(EaSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_EXTD_DIR_INFO>())).ReparsePointTag as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_FILE_ID_EXTD_DIR_INFO), "::", stringify!(ReparsePointTag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_EXTD_DIR_INFO>())).FileId as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_FILE_ID_EXTD_DIR_INFO), "::", stringify!(FileId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ID_EXTD_DIR_INFO>())).FileName as *const _ 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() { 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::null::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1>())).Reserved as *const _ 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], _bindgen_union_align: [u32; 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() { 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::null::< _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1, >())) .Capabilities as *const _ 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() { 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::null::< _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2, >())) .Capabilities as *const _ 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::null::< _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2, >())) .CachingFlags as *const _ 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() { 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::null::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1>())) .Server as *const _ 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::null::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1>())).Share as *const _ 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() { 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::null::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2>())).Smb2 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2), "::", stringify!(Smb2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2>())).Reserved as *const _ 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() { 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::null::<_FILE_REMOTE_PROTOCOL_INFO>())).StructureVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_REMOTE_PROTOCOL_INFO), "::", stringify!(StructureVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REMOTE_PROTOCOL_INFO>())).StructureSize as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_FILE_REMOTE_PROTOCOL_INFO), "::", stringify!(StructureSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REMOTE_PROTOCOL_INFO>())).Protocol as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_REMOTE_PROTOCOL_INFO), "::", stringify!(Protocol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REMOTE_PROTOCOL_INFO>())).ProtocolMajorVersion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_REMOTE_PROTOCOL_INFO), "::", stringify!(ProtocolMajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REMOTE_PROTOCOL_INFO>())).ProtocolMinorVersion as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_FILE_REMOTE_PROTOCOL_INFO), "::", stringify!(ProtocolMinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REMOTE_PROTOCOL_INFO>())).ProtocolRevision as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_FILE_REMOTE_PROTOCOL_INFO), "::", stringify!(ProtocolRevision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REMOTE_PROTOCOL_INFO>())).Reserved as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_FILE_REMOTE_PROTOCOL_INFO), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REMOTE_PROTOCOL_INFO>())).Flags as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_REMOTE_PROTOCOL_INFO), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REMOTE_PROTOCOL_INFO>())).GenericReserved as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_FILE_REMOTE_PROTOCOL_INFO), "::", stringify!(GenericReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REMOTE_PROTOCOL_INFO>())).ProtocolSpecific as *const _ 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, _bindgen_union_align: [u64; 2usize], } #[test] fn bindgen_test_layout_FILE_ID_DESCRIPTOR__bindgen_ty_1() { 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::null::())).FileId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(FILE_ID_DESCRIPTOR__bindgen_ty_1), "::", stringify!(FileId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ObjectId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(FILE_ID_DESCRIPTOR__bindgen_ty_1), "::", stringify!(ObjectId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ExtendedFileId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(FILE_ID_DESCRIPTOR__bindgen_ty_1), "::", stringify!(ExtendedFileId) ) ); } #[test] fn bindgen_test_layout_FILE_ID_DESCRIPTOR() { 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::null::())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(FILE_ID_DESCRIPTOR), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Type as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(FILE_ID_DESCRIPTOR), "::", stringify!(Type) ) ); } pub type LPFILE_ID_DESCRIPTOR = *mut FILE_ID_DESCRIPTOR; extern "C" { pub fn OpenFileById( hVolumeHint: HANDLE, lpFileId: LPFILE_ID_DESCRIPTOR, dwDesiredAccess: DWORD, dwShareMode: DWORD, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, dwFlagsAndAttributes: DWORD, ) -> HANDLE; } extern "C" { pub fn CreateSymbolicLinkA( lpSymlinkFileName: LPCSTR, lpTargetFileName: LPCSTR, dwFlags: DWORD, ) -> BOOLEAN; } extern "C" { pub fn CreateSymbolicLinkW( lpSymlinkFileName: LPCWSTR, lpTargetFileName: LPCWSTR, dwFlags: DWORD, ) -> BOOLEAN; } extern "C" { pub fn QueryActCtxSettingsW( dwFlags: DWORD, hActCtx: HANDLE, settingsNameSpace: PCWSTR, settingName: PCWSTR, pvBuffer: PWSTR, dwBuffer: SIZE_T, pdwWrittenOrRequired: *mut SIZE_T, ) -> BOOL; } extern "C" { pub fn CreateSymbolicLinkTransactedA( lpSymlinkFileName: LPCSTR, lpTargetFileName: LPCSTR, dwFlags: DWORD, hTransaction: HANDLE, ) -> BOOLEAN; } extern "C" { pub fn CreateSymbolicLinkTransactedW( lpSymlinkFileName: LPCWSTR, lpTargetFileName: LPCWSTR, dwFlags: DWORD, hTransaction: HANDLE, ) -> BOOLEAN; } extern "C" { pub fn ReplacePartitionUnit( TargetPartition: PWSTR, SparePartition: PWSTR, Flags: ULONG, ) -> BOOL; } extern "C" { pub fn AddSecureMemoryCacheCallback(pfnCallBack: PSECURE_MEMORY_CACHE_CALLBACK) -> BOOL; } extern "C" { pub fn RemoveSecureMemoryCacheCallback(pfnCallBack: PSECURE_MEMORY_CACHE_CALLBACK) -> BOOL; } extern "C" { pub fn CopyContext(Destination: PCONTEXT, ContextFlags: DWORD, Source: PCONTEXT) -> BOOL; } extern "C" { pub fn InitializeContext( Buffer: PVOID, ContextFlags: DWORD, Context: *mut PCONTEXT, ContextLength: PDWORD, ) -> BOOL; } extern "C" { pub fn InitializeContext2( Buffer: PVOID, ContextFlags: DWORD, Context: *mut PCONTEXT, ContextLength: PDWORD, XStateCompactionMask: ULONG64, ) -> BOOL; } extern "C" { pub fn GetEnabledXStateFeatures() -> DWORD64; } extern "C" { pub fn GetXStateFeaturesMask(Context: PCONTEXT, FeatureMask: PDWORD64) -> BOOL; } extern "C" { pub fn LocateXStateFeature(Context: PCONTEXT, FeatureId: DWORD, Length: PDWORD) -> PVOID; } extern "C" { pub fn SetXStateFeaturesMask(Context: PCONTEXT, FeatureMask: DWORD64) -> BOOL; } extern "C" { pub fn EnableThreadProfiling( ThreadHandle: HANDLE, Flags: DWORD, HardwareCounters: DWORD64, PerformanceDataHandle: *mut HANDLE, ) -> DWORD; } extern "C" { pub fn DisableThreadProfiling(PerformanceDataHandle: HANDLE) -> DWORD; } extern "C" { pub fn QueryThreadProfiling(ThreadHandle: HANDLE, Enabled: PBOOLEAN) -> DWORD; } extern "C" { pub fn ReadThreadProfilingData( PerformanceDataHandle: HANDLE, Flags: DWORD, PerformanceData: PPERFORMANCE_DATA, ) -> DWORD; } extern "C" { pub fn RaiseCustomSystemEventTrigger( CustomSystemEventTriggerConfig: PCUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG, ) -> DWORD; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _DRAWPATRECT { pub ptPosition: POINT, pub ptSize: POINT, pub wStyle: WORD, pub wPattern: WORD, } #[test] fn bindgen_test_layout__DRAWPATRECT() { 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::null::<_DRAWPATRECT>())).ptPosition as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRAWPATRECT), "::", stringify!(ptPosition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRAWPATRECT>())).ptSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DRAWPATRECT), "::", stringify!(ptSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRAWPATRECT>())).wStyle as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRAWPATRECT), "::", stringify!(wStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRAWPATRECT>())).wPattern as *const _ 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() { 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::null::<_PSINJECTDATA>())).DataBytes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PSINJECTDATA), "::", stringify!(DataBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PSINJECTDATA>())).InjectionPoint as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PSINJECTDATA), "::", stringify!(InjectionPoint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PSINJECTDATA>())).PageNumber as *const _ 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() { 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::null::<_PSFEATURE_OUTPUT>())).bPageIndependent as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PSFEATURE_OUTPUT), "::", stringify!(bPageIndependent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PSFEATURE_OUTPUT>())).bSetPageDevice as *const _ 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() { 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::null::<_PSFEATURE_CUSTPAPER>())).lOrientation as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PSFEATURE_CUSTPAPER), "::", stringify!(lOrientation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PSFEATURE_CUSTPAPER>())).lWidth as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PSFEATURE_CUSTPAPER), "::", stringify!(lWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PSFEATURE_CUSTPAPER>())).lHeight as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PSFEATURE_CUSTPAPER), "::", stringify!(lHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PSFEATURE_CUSTPAPER>())).lWidthOffset as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PSFEATURE_CUSTPAPER), "::", stringify!(lWidthOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PSFEATURE_CUSTPAPER>())).lHeightOffset as *const _ 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() { 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::null::())).eM11 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagXFORM), "::", stringify!(eM11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eM12 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagXFORM), "::", stringify!(eM12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eM21 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagXFORM), "::", stringify!(eM21) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eM22 as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagXFORM), "::", stringify!(eM22) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eDx as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagXFORM), "::", stringify!(eDx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eDy as *const _ 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() { 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::null::())).bmType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagBITMAP), "::", stringify!(bmType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bmWidth as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagBITMAP), "::", stringify!(bmWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bmHeight as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagBITMAP), "::", stringify!(bmHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bmWidthBytes as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagBITMAP), "::", stringify!(bmWidthBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bmPlanes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagBITMAP), "::", stringify!(bmPlanes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bmBitsPixel as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(tagBITMAP), "::", stringify!(bmBitsPixel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bmBits as *const _ 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() { 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::null::())).rgbtBlue as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRGBTRIPLE), "::", stringify!(rgbtBlue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgbtGreen as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(tagRGBTRIPLE), "::", stringify!(rgbtGreen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgbtRed as *const _ 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() { 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::null::())).rgbBlue as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRGBQUAD), "::", stringify!(rgbBlue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgbGreen as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(tagRGBQUAD), "::", stringify!(rgbGreen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgbRed as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagRGBQUAD), "::", stringify!(rgbRed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgbReserved as *const _ 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() { 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::null::())).ciexyzX as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCIEXYZ), "::", stringify!(ciexyzX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ciexyzY as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagCIEXYZ), "::", stringify!(ciexyzY) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ciexyzZ as *const _ 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() { 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::null::())).ciexyzRed as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagICEXYZTRIPLE), "::", stringify!(ciexyzRed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ciexyzGreen as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagICEXYZTRIPLE), "::", stringify!(ciexyzGreen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ciexyzBlue as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagICEXYZTRIPLE), "::", stringify!(ciexyzBlue) ) ); } pub type CIEXYZTRIPLE = tagICEXYZTRIPLE; pub type LPCIEXYZTRIPLE = *mut CIEXYZTRIPLE; #[repr(C)] #[derive(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() { 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::null::())).lcsSignature as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEA), "::", stringify!(lcsSignature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEA), "::", stringify!(lcsVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEA), "::", stringify!(lcsSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsCSType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEA), "::", stringify!(lcsCSType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsIntent as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEA), "::", stringify!(lcsIntent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsEndpoints as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEA), "::", stringify!(lcsEndpoints) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsGammaRed as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEA), "::", stringify!(lcsGammaRed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsGammaGreen as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEA), "::", stringify!(lcsGammaGreen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsGammaBlue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEA), "::", stringify!(lcsGammaBlue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsFilename as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEA), "::", stringify!(lcsFilename) ) ); } pub type LOGCOLORSPACEA = tagLOGCOLORSPACEA; pub type LPLOGCOLORSPACEA = *mut tagLOGCOLORSPACEA; #[repr(C)] #[derive(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() { 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::null::())).lcsSignature as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEW), "::", stringify!(lcsSignature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEW), "::", stringify!(lcsVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEW), "::", stringify!(lcsSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsCSType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEW), "::", stringify!(lcsCSType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsIntent as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEW), "::", stringify!(lcsIntent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsEndpoints as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEW), "::", stringify!(lcsEndpoints) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsGammaRed as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEW), "::", stringify!(lcsGammaRed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsGammaGreen as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEW), "::", stringify!(lcsGammaGreen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsGammaBlue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagLOGCOLORSPACEW), "::", stringify!(lcsGammaBlue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcsFilename as *const _ 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() { 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::null::())).bcSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagBITMAPCOREHEADER), "::", stringify!(bcSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bcWidth as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagBITMAPCOREHEADER), "::", stringify!(bcWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bcHeight as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(tagBITMAPCOREHEADER), "::", stringify!(bcHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bcPlanes as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagBITMAPCOREHEADER), "::", stringify!(bcPlanes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bcBitCount as *const _ 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() { 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::null::())).biSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagBITMAPINFOHEADER), "::", stringify!(biSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).biWidth as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagBITMAPINFOHEADER), "::", stringify!(biWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).biHeight as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagBITMAPINFOHEADER), "::", stringify!(biHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).biPlanes as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagBITMAPINFOHEADER), "::", stringify!(biPlanes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).biBitCount as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(tagBITMAPINFOHEADER), "::", stringify!(biBitCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).biCompression as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagBITMAPINFOHEADER), "::", stringify!(biCompression) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).biSizeImage as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagBITMAPINFOHEADER), "::", stringify!(biSizeImage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).biXPelsPerMeter as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagBITMAPINFOHEADER), "::", stringify!(biXPelsPerMeter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).biYPelsPerMeter as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagBITMAPINFOHEADER), "::", stringify!(biYPelsPerMeter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).biClrUsed as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagBITMAPINFOHEADER), "::", stringify!(biClrUsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).biClrImportant as *const _ 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() { 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::null::())).bV4Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4Width as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4Width) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4Height as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4Height) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4Planes as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4Planes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4BitCount as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4BitCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4V4Compression as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4V4Compression) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4SizeImage as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4SizeImage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4XPelsPerMeter as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4XPelsPerMeter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4YPelsPerMeter as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4YPelsPerMeter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4ClrUsed as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4ClrUsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4ClrImportant as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4ClrImportant) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4RedMask as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4RedMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4GreenMask as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4GreenMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4BlueMask as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4BlueMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4AlphaMask as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4AlphaMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4CSType as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4CSType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4Endpoints as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4Endpoints) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4GammaRed as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4GammaRed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4GammaGreen as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(BITMAPV4HEADER), "::", stringify!(bV4GammaGreen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV4GammaBlue as *const _ 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() { 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::null::())).bV5Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5Width as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5Width) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5Height as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5Height) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5Planes as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5Planes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5BitCount as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5BitCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5Compression as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5Compression) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5SizeImage as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5SizeImage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5XPelsPerMeter as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5XPelsPerMeter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5YPelsPerMeter as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5YPelsPerMeter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5ClrUsed as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5ClrUsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5ClrImportant as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5ClrImportant) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5RedMask as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5RedMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5GreenMask as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5GreenMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5BlueMask as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5BlueMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5AlphaMask as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5AlphaMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5CSType as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5CSType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5Endpoints as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5Endpoints) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5GammaRed as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5GammaRed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5GammaGreen as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5GammaGreen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5GammaBlue as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5GammaBlue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5Intent as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5Intent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5ProfileData as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5ProfileData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5ProfileSize as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(BITMAPV5HEADER), "::", stringify!(bV5ProfileSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bV5Reserved as *const _ 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() { 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::null::())).bmiHeader as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagBITMAPINFO), "::", stringify!(bmiHeader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bmiColors as *const _ 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() { 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::null::())).bmciHeader as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagBITMAPCOREINFO), "::", stringify!(bmciHeader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bmciColors as *const _ 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() { 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::null::())).bfType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagBITMAPFILEHEADER), "::", stringify!(bfType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bfSize as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagBITMAPFILEHEADER), "::", stringify!(bfSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bfReserved1 as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(tagBITMAPFILEHEADER), "::", stringify!(bfReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bfReserved2 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagBITMAPFILEHEADER), "::", stringify!(bfReserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bfOffBits as *const _ 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() { 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::null::())).fsUsb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagFONTSIGNATURE), "::", stringify!(fsUsb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fsCsb as *const _ 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() { 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::null::())).ciCharset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCHARSETINFO), "::", stringify!(ciCharset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ciACP as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagCHARSETINFO), "::", stringify!(ciACP) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fs as *const _ 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() { 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::null::())).lsUsb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagLOCALESIGNATURE), "::", stringify!(lsUsb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lsCsbDefault as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagLOCALESIGNATURE), "::", stringify!(lsCsbDefault) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lsCsbSupported as *const _ 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() { 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::null::())).objectHandle as *const _ 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() { 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::null::())).rdSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMETARECORD), "::", stringify!(rdSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rdFunction as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMETARECORD), "::", stringify!(rdFunction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rdParm as *const _ 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() { 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::null::())).mm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMETAFILEPICT), "::", stringify!(mm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xExt as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMETAFILEPICT), "::", stringify!(xExt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).yExt as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMETAFILEPICT), "::", stringify!(yExt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hMF as *const _ 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() { 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::null::())).mtType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMETAHEADER), "::", stringify!(mtType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mtHeaderSize as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagMETAHEADER), "::", stringify!(mtHeaderSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mtVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMETAHEADER), "::", stringify!(mtVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mtSize as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(tagMETAHEADER), "::", stringify!(mtSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mtNoObjects as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(tagMETAHEADER), "::", stringify!(mtNoObjects) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mtMaxRecord as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMETAHEADER), "::", stringify!(mtMaxRecord) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mtNoParameters as *const _ 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() { 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::null::())).iType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagENHMETARECORD), "::", stringify!(iType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagENHMETARECORD), "::", stringify!(nSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dParm as *const _ 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() { 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::null::())).iType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(iType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(nSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclFrame as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(rclFrame) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dSignature as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(dSignature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nVersion as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(nVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nBytes as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(nBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nRecords as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(nRecords) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nHandles as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(nHandles) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sReserved as *const _ as usize }, 58usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(sReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nDescription as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(nDescription) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offDescription as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(offDescription) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nPalEntries as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(nPalEntries) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szlDevice as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(szlDevice) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szlMillimeters as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(szlMillimeters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbPixelFormat as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(cbPixelFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offPixelFormat as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(offPixelFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bOpenGL as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagENHMETAHEADER), "::", stringify!(bOpenGL) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szlMicrometers as *const _ 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() { 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::null::())).tmHeight as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmAscent as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmAscent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDescent as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmDescent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmInternalLeading as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmInternalLeading) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmExternalLeading as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmExternalLeading) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmAveCharWidth as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmAveCharWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmMaxCharWidth as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmMaxCharWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmWeight as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmWeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmOverhang as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmOverhang) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDigitizedAspectX as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmDigitizedAspectX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDigitizedAspectY as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmDigitizedAspectY) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmFirstChar as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmFirstChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmLastChar as *const _ as usize }, 45usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmLastChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDefaultChar as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmDefaultChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmBreakChar as *const _ as usize }, 47usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmBreakChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmItalic as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmItalic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmUnderlined as *const _ as usize }, 49usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmUnderlined) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmStruckOut as *const _ as usize }, 50usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmStruckOut) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmPitchAndFamily as *const _ as usize }, 51usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICA), "::", stringify!(tmPitchAndFamily) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmCharSet as *const _ 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() { 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::null::())).tmHeight as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmAscent as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmAscent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDescent as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmDescent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmInternalLeading as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmInternalLeading) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmExternalLeading as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmExternalLeading) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmAveCharWidth as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmAveCharWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmMaxCharWidth as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmMaxCharWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmWeight as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmWeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmOverhang as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmOverhang) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDigitizedAspectX as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmDigitizedAspectX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDigitizedAspectY as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmDigitizedAspectY) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmFirstChar as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmFirstChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmLastChar as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmLastChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDefaultChar as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmDefaultChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmBreakChar as *const _ as usize }, 50usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmBreakChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmItalic as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmItalic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmUnderlined as *const _ as usize }, 53usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmUnderlined) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmStruckOut as *const _ as usize }, 54usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmStruckOut) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmPitchAndFamily as *const _ as usize }, 55usize, concat!( "Offset of field: ", stringify!(tagTEXTMETRICW), "::", stringify!(tmPitchAndFamily) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmCharSet as *const _ 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() { 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::null::())).tmHeight as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmAscent as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmAscent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDescent as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmDescent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmInternalLeading as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmInternalLeading) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmExternalLeading as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmExternalLeading) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmAveCharWidth as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmAveCharWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmMaxCharWidth as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmMaxCharWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmWeight as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmWeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmOverhang as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmOverhang) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDigitizedAspectX as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmDigitizedAspectX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDigitizedAspectY as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmDigitizedAspectY) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmFirstChar as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmFirstChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmLastChar as *const _ as usize }, 45usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmLastChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDefaultChar as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmDefaultChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmBreakChar as *const _ as usize }, 47usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmBreakChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmItalic as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmItalic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmUnderlined as *const _ as usize }, 49usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmUnderlined) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmStruckOut as *const _ as usize }, 50usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmStruckOut) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmPitchAndFamily as *const _ as usize }, 51usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmPitchAndFamily) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmCharSet as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(tmCharSet) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ntmFlags as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(ntmFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ntmSizeEM as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(ntmSizeEM) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ntmCellHeight as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICA), "::", stringify!(ntmCellHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ntmAvgWidth as *const _ 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() { 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::null::())).tmHeight as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmAscent as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmAscent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDescent as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmDescent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmInternalLeading as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmInternalLeading) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmExternalLeading as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmExternalLeading) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmAveCharWidth as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmAveCharWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmMaxCharWidth as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmMaxCharWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmWeight as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmWeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmOverhang as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmOverhang) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDigitizedAspectX as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmDigitizedAspectX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDigitizedAspectY as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmDigitizedAspectY) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmFirstChar as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmFirstChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmLastChar as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmLastChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmDefaultChar as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmDefaultChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmBreakChar as *const _ as usize }, 50usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmBreakChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmItalic as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmItalic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmUnderlined as *const _ as usize }, 53usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmUnderlined) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmStruckOut as *const _ as usize }, 54usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmStruckOut) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmPitchAndFamily as *const _ as usize }, 55usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmPitchAndFamily) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tmCharSet as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(tmCharSet) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ntmFlags as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(ntmFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ntmSizeEM as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(ntmSizeEM) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ntmCellHeight as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICW), "::", stringify!(ntmCellHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ntmAvgWidth as *const _ 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() { 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::null::())).ntmTm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICEXA), "::", stringify!(ntmTm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ntmFontSig as *const _ 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() { 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::null::())).ntmTm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagNEWTEXTMETRICEXW), "::", stringify!(ntmTm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ntmFontSig as *const _ 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() { 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::null::())).paXCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPELARRAY), "::", stringify!(paXCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).paYCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagPELARRAY), "::", stringify!(paYCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).paXExt as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagPELARRAY), "::", stringify!(paXExt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).paYExt as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagPELARRAY), "::", stringify!(paYExt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).paRGBs as *const _ 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() { 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::null::())).lbStyle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagLOGBRUSH), "::", stringify!(lbStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lbColor as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagLOGBRUSH), "::", stringify!(lbColor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lbHatch as *const _ 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() { 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::null::())).lbStyle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagLOGBRUSH32), "::", stringify!(lbStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lbColor as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagLOGBRUSH32), "::", stringify!(lbColor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lbHatch as *const _ 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() { 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::null::())).lopnStyle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagLOGPEN), "::", stringify!(lopnStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lopnWidth as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagLOGPEN), "::", stringify!(lopnWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lopnColor as *const _ 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() { 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::null::())).elpPenStyle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEXTLOGPEN), "::", stringify!(elpPenStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elpWidth as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagEXTLOGPEN), "::", stringify!(elpWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elpBrushStyle as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEXTLOGPEN), "::", stringify!(elpBrushStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elpColor as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagEXTLOGPEN), "::", stringify!(elpColor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elpHatch as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagEXTLOGPEN), "::", stringify!(elpHatch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elpNumEntries as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEXTLOGPEN), "::", stringify!(elpNumEntries) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elpStyleEntry as *const _ 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() { 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::null::())).elpPenStyle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEXTLOGPEN32), "::", stringify!(elpPenStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elpWidth as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagEXTLOGPEN32), "::", stringify!(elpWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elpBrushStyle as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEXTLOGPEN32), "::", stringify!(elpBrushStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elpColor as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagEXTLOGPEN32), "::", stringify!(elpColor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elpHatch as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagEXTLOGPEN32), "::", stringify!(elpHatch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elpNumEntries as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagEXTLOGPEN32), "::", stringify!(elpNumEntries) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elpStyleEntry as *const _ 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() { 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::null::())).peRed as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPALETTEENTRY), "::", stringify!(peRed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).peGreen as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(tagPALETTEENTRY), "::", stringify!(peGreen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).peBlue as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagPALETTEENTRY), "::", stringify!(peBlue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).peFlags as *const _ 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() { 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::null::())).palVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagLOGPALETTE), "::", stringify!(palVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).palNumEntries as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagLOGPALETTE), "::", stringify!(palNumEntries) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).palPalEntry as *const _ 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() { 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::null::())).lfHeight as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagLOGFONTA), "::", stringify!(lfHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfWidth as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagLOGFONTA), "::", stringify!(lfWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfEscapement as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagLOGFONTA), "::", stringify!(lfEscapement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfOrientation as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagLOGFONTA), "::", stringify!(lfOrientation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfWeight as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagLOGFONTA), "::", stringify!(lfWeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfItalic as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagLOGFONTA), "::", stringify!(lfItalic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfUnderline as *const _ as usize }, 21usize, concat!( "Offset of field: ", stringify!(tagLOGFONTA), "::", stringify!(lfUnderline) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfStrikeOut as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(tagLOGFONTA), "::", stringify!(lfStrikeOut) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfCharSet as *const _ as usize }, 23usize, concat!( "Offset of field: ", stringify!(tagLOGFONTA), "::", stringify!(lfCharSet) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfOutPrecision as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagLOGFONTA), "::", stringify!(lfOutPrecision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfClipPrecision as *const _ as usize }, 25usize, concat!( "Offset of field: ", stringify!(tagLOGFONTA), "::", stringify!(lfClipPrecision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfQuality as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(tagLOGFONTA), "::", stringify!(lfQuality) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfPitchAndFamily as *const _ as usize }, 27usize, concat!( "Offset of field: ", stringify!(tagLOGFONTA), "::", stringify!(lfPitchAndFamily) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfFaceName as *const _ 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() { 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::null::())).lfHeight as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagLOGFONTW), "::", stringify!(lfHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfWidth as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagLOGFONTW), "::", stringify!(lfWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfEscapement as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagLOGFONTW), "::", stringify!(lfEscapement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfOrientation as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagLOGFONTW), "::", stringify!(lfOrientation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfWeight as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagLOGFONTW), "::", stringify!(lfWeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfItalic as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagLOGFONTW), "::", stringify!(lfItalic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfUnderline as *const _ as usize }, 21usize, concat!( "Offset of field: ", stringify!(tagLOGFONTW), "::", stringify!(lfUnderline) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfStrikeOut as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(tagLOGFONTW), "::", stringify!(lfStrikeOut) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfCharSet as *const _ as usize }, 23usize, concat!( "Offset of field: ", stringify!(tagLOGFONTW), "::", stringify!(lfCharSet) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfOutPrecision as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagLOGFONTW), "::", stringify!(lfOutPrecision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfClipPrecision as *const _ as usize }, 25usize, concat!( "Offset of field: ", stringify!(tagLOGFONTW), "::", stringify!(lfClipPrecision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfQuality as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(tagLOGFONTW), "::", stringify!(lfQuality) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfPitchAndFamily as *const _ as usize }, 27usize, concat!( "Offset of field: ", stringify!(tagLOGFONTW), "::", stringify!(lfPitchAndFamily) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfFaceName as *const _ 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(Copy, Clone)] pub struct tagENUMLOGFONTA { pub elfLogFont: LOGFONTA, pub elfFullName: [BYTE; 64usize], pub elfStyle: [BYTE; 32usize], } #[test] fn bindgen_test_layout_tagENUMLOGFONTA() { 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::null::())).elfLogFont as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagENUMLOGFONTA), "::", stringify!(elfLogFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfFullName as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagENUMLOGFONTA), "::", stringify!(elfFullName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfStyle as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(tagENUMLOGFONTA), "::", stringify!(elfStyle) ) ); } pub type ENUMLOGFONTA = tagENUMLOGFONTA; pub type LPENUMLOGFONTA = *mut tagENUMLOGFONTA; #[repr(C)] #[derive(Copy, Clone)] pub struct tagENUMLOGFONTW { pub elfLogFont: LOGFONTW, pub elfFullName: [WCHAR; 64usize], pub elfStyle: [WCHAR; 32usize], } #[test] fn bindgen_test_layout_tagENUMLOGFONTW() { 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::null::())).elfLogFont as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagENUMLOGFONTW), "::", stringify!(elfLogFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfFullName as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagENUMLOGFONTW), "::", stringify!(elfFullName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfStyle as *const _ 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(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() { 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::null::())).elfLogFont as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagENUMLOGFONTEXA), "::", stringify!(elfLogFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfFullName as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagENUMLOGFONTEXA), "::", stringify!(elfFullName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfStyle as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(tagENUMLOGFONTEXA), "::", stringify!(elfStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfScript as *const _ as usize }, 156usize, concat!( "Offset of field: ", stringify!(tagENUMLOGFONTEXA), "::", stringify!(elfScript) ) ); } pub type ENUMLOGFONTEXA = tagENUMLOGFONTEXA; pub type LPENUMLOGFONTEXA = *mut tagENUMLOGFONTEXA; #[repr(C)] #[derive(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() { 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::null::())).elfLogFont as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagENUMLOGFONTEXW), "::", stringify!(elfLogFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfFullName as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagENUMLOGFONTEXW), "::", stringify!(elfFullName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfStyle as *const _ as usize }, 220usize, concat!( "Offset of field: ", stringify!(tagENUMLOGFONTEXW), "::", stringify!(elfStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfScript as *const _ 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() { 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::null::())).bFamilyType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPANOSE), "::", stringify!(bFamilyType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bSerifStyle as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(tagPANOSE), "::", stringify!(bSerifStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bWeight as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagPANOSE), "::", stringify!(bWeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bProportion as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(tagPANOSE), "::", stringify!(bProportion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bContrast as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagPANOSE), "::", stringify!(bContrast) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bStrokeVariation as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(tagPANOSE), "::", stringify!(bStrokeVariation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bArmStyle as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(tagPANOSE), "::", stringify!(bArmStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bLetterform as *const _ as usize }, 7usize, concat!( "Offset of field: ", stringify!(tagPANOSE), "::", stringify!(bLetterform) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bMidline as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagPANOSE), "::", stringify!(bMidline) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bXHeight as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(tagPANOSE), "::", stringify!(bXHeight) ) ); } pub type PANOSE = tagPANOSE; pub type LPPANOSE = *mut tagPANOSE; #[repr(C)] #[derive(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() { 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::null::())).elfLogFont as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTA), "::", stringify!(elfLogFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfFullName as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTA), "::", stringify!(elfFullName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfStyle as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTA), "::", stringify!(elfStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfVersion as *const _ as usize }, 156usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTA), "::", stringify!(elfVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfStyleSize as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTA), "::", stringify!(elfStyleSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfMatch as *const _ as usize }, 164usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTA), "::", stringify!(elfMatch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfReserved as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTA), "::", stringify!(elfReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfVendorId as *const _ as usize }, 172usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTA), "::", stringify!(elfVendorId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfCulture as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTA), "::", stringify!(elfCulture) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfPanose as *const _ 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(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() { 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::null::())).elfLogFont as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTW), "::", stringify!(elfLogFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfFullName as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTW), "::", stringify!(elfFullName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfStyle as *const _ as usize }, 220usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTW), "::", stringify!(elfStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfVersion as *const _ as usize }, 284usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTW), "::", stringify!(elfVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfStyleSize as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTW), "::", stringify!(elfStyleSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfMatch as *const _ as usize }, 292usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTW), "::", stringify!(elfMatch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfReserved as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTW), "::", stringify!(elfReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfVendorId as *const _ as usize }, 300usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTW), "::", stringify!(elfVendorId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfCulture as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(tagEXTLOGFONTW), "::", stringify!(elfCulture) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfPanose as *const _ 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, _bindgen_union_align: [u32; 4usize], } #[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() { 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::null::<_devicemodeA__bindgen_ty_1__bindgen_ty_1>())).dmOrientation as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dmOrientation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA__bindgen_ty_1__bindgen_ty_1>())).dmPaperSize as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dmPaperSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA__bindgen_ty_1__bindgen_ty_1>())).dmPaperLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dmPaperLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA__bindgen_ty_1__bindgen_ty_1>())).dmPaperWidth as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dmPaperWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA__bindgen_ty_1__bindgen_ty_1>())).dmScale as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dmScale) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA__bindgen_ty_1__bindgen_ty_1>())).dmCopies as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dmCopies) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA__bindgen_ty_1__bindgen_ty_1>())).dmDefaultSource as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dmDefaultSource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA__bindgen_ty_1__bindgen_ty_1>())).dmPrintQuality as *const _ 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() { 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::null::<_devicemodeA__bindgen_ty_1__bindgen_ty_2>())).dmPosition as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_2), "::", stringify!(dmPosition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA__bindgen_ty_1__bindgen_ty_2>())) .dmDisplayOrientation as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_2), "::", stringify!(dmDisplayOrientation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA__bindgen_ty_1__bindgen_ty_2>())) .dmDisplayFixedOutput as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__devicemodeA__bindgen_ty_2() { 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::null::<_devicemodeA__bindgen_ty_2>())).dmDisplayFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_devicemodeA__bindgen_ty_2), "::", stringify!(dmDisplayFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA__bindgen_ty_2>())).dmNup as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_devicemodeA__bindgen_ty_2), "::", stringify!(dmNup) ) ); } #[test] fn bindgen_test_layout__devicemodeA() { 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::null::<_devicemodeA>())).dmDeviceName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmDeviceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmSpecVersion as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmSpecVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmDriverVersion as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmSize as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmDriverExtra as *const _ as usize }, 38usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmDriverExtra) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmFields as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmFields) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmColor as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmColor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmDuplex as *const _ as usize }, 62usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmDuplex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmYResolution as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmYResolution) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmTTOption as *const _ as usize }, 66usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmTTOption) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmCollate as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmCollate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmFormName as *const _ as usize }, 70usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmFormName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmLogPixels as *const _ as usize }, 102usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmLogPixels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmBitsPerPel as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmBitsPerPel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmPelsWidth as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmPelsWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmPelsHeight as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmPelsHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmDisplayFrequency as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmDisplayFrequency) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmICMMethod as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmICMMethod) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmICMIntent as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmICMIntent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmMediaType as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmMediaType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmDitherType as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmDitherType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmReserved1 as *const _ as usize }, 140usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmReserved2 as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmReserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmPanningWidth as *const _ as usize }, 148usize, concat!( "Offset of field: ", stringify!(_devicemodeA), "::", stringify!(dmPanningWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeA>())).dmPanningHeight as *const _ 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, _bindgen_union_align: [u32; 4usize], } #[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() { 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::null::<_devicemodeW__bindgen_ty_1__bindgen_ty_1>())).dmOrientation as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dmOrientation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW__bindgen_ty_1__bindgen_ty_1>())).dmPaperSize as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dmPaperSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW__bindgen_ty_1__bindgen_ty_1>())).dmPaperLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dmPaperLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW__bindgen_ty_1__bindgen_ty_1>())).dmPaperWidth as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dmPaperWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW__bindgen_ty_1__bindgen_ty_1>())).dmScale as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dmScale) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW__bindgen_ty_1__bindgen_ty_1>())).dmCopies as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dmCopies) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW__bindgen_ty_1__bindgen_ty_1>())).dmDefaultSource as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dmDefaultSource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW__bindgen_ty_1__bindgen_ty_1>())).dmPrintQuality as *const _ 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() { 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::null::<_devicemodeW__bindgen_ty_1__bindgen_ty_2>())).dmPosition as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_2), "::", stringify!(dmPosition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW__bindgen_ty_1__bindgen_ty_2>())) .dmDisplayOrientation as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_2), "::", stringify!(dmDisplayOrientation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW__bindgen_ty_1__bindgen_ty_2>())) .dmDisplayFixedOutput as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__devicemodeW__bindgen_ty_2() { 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::null::<_devicemodeW__bindgen_ty_2>())).dmDisplayFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_devicemodeW__bindgen_ty_2), "::", stringify!(dmDisplayFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW__bindgen_ty_2>())).dmNup as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_devicemodeW__bindgen_ty_2), "::", stringify!(dmNup) ) ); } #[test] fn bindgen_test_layout__devicemodeW() { 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::null::<_devicemodeW>())).dmDeviceName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmDeviceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmSpecVersion as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmSpecVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmDriverVersion as *const _ as usize }, 66usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmSize as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmDriverExtra as *const _ as usize }, 70usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmDriverExtra) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmFields as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmFields) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmColor as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmColor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmDuplex as *const _ as usize }, 94usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmDuplex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmYResolution as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmYResolution) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmTTOption as *const _ as usize }, 98usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmTTOption) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmCollate as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmCollate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmFormName as *const _ as usize }, 102usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmFormName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmLogPixels as *const _ as usize }, 166usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmLogPixels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmBitsPerPel as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmBitsPerPel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmPelsWidth as *const _ as usize }, 172usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmPelsWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmPelsHeight as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmPelsHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmDisplayFrequency as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmDisplayFrequency) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmICMMethod as *const _ as usize }, 188usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmICMMethod) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmICMIntent as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmICMIntent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmMediaType as *const _ as usize }, 196usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmMediaType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmDitherType as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmDitherType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmReserved1 as *const _ as usize }, 204usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmReserved2 as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmReserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmPanningWidth as *const _ as usize }, 212usize, concat!( "Offset of field: ", stringify!(_devicemodeW), "::", stringify!(dmPanningWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_devicemodeW>())).dmPanningHeight as *const _ 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(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() { 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::null::<_DISPLAY_DEVICEA>())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISPLAY_DEVICEA), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPLAY_DEVICEA>())).DeviceName as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DISPLAY_DEVICEA), "::", stringify!(DeviceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPLAY_DEVICEA>())).DeviceString as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_DISPLAY_DEVICEA), "::", stringify!(DeviceString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPLAY_DEVICEA>())).StateFlags as *const _ as usize }, 164usize, concat!( "Offset of field: ", stringify!(_DISPLAY_DEVICEA), "::", stringify!(StateFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPLAY_DEVICEA>())).DeviceID as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(_DISPLAY_DEVICEA), "::", stringify!(DeviceID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPLAY_DEVICEA>())).DeviceKey as *const _ 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(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() { 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::null::<_DISPLAY_DEVICEW>())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISPLAY_DEVICEW), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPLAY_DEVICEW>())).DeviceName as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DISPLAY_DEVICEW), "::", stringify!(DeviceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPLAY_DEVICEW>())).DeviceString as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_DISPLAY_DEVICEW), "::", stringify!(DeviceString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPLAY_DEVICEW>())).StateFlags as *const _ as usize }, 324usize, concat!( "Offset of field: ", stringify!(_DISPLAY_DEVICEW), "::", stringify!(StateFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPLAY_DEVICEW>())).DeviceID as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(_DISPLAY_DEVICEW), "::", stringify!(DeviceID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPLAY_DEVICEW>())).DeviceKey as *const _ 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() { 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::null::())).Numerator as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_RATIONAL), "::", stringify!(Numerator) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Denominator as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_RATIONAL), "::", stringify!(Denominator) ) ); } pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_OTHER: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = -1; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HD15: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 0; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SVIDEO: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 1; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPOSITE_VIDEO: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 2; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPONENT_VIDEO: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 3; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DVI: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 4; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HDMI: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 5; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_LVDS: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 6; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_D_JPN: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 8; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDI: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 9; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EXTERNAL : DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 10 ; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED : DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 11 ; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EXTERNAL: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 12; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EMBEDDED: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 13; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDTVDONGLE: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 14; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 15; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_WIRED: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 16; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_VIRTUAL: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 17; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = -2147483648; pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_FORCE_UINT32: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = -1; pub type DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = ::std::os::raw::c_int; pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_UNSPECIFIED: DISPLAYCONFIG_SCANLINE_ORDERING = 0; pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE: DISPLAYCONFIG_SCANLINE_ORDERING = 1; pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED: DISPLAYCONFIG_SCANLINE_ORDERING = 2; pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_UPPERFIELDFIRST : DISPLAYCONFIG_SCANLINE_ORDERING = 2 ; pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_LOWERFIELDFIRST : DISPLAYCONFIG_SCANLINE_ORDERING = 3 ; pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_FORCE_UINT32: DISPLAYCONFIG_SCANLINE_ORDERING = -1; pub type DISPLAYCONFIG_SCANLINE_ORDERING = ::std::os::raw::c_int; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DISPLAYCONFIG_2DREGION { pub cx: UINT32, pub cy: UINT32, } #[test] fn bindgen_test_layout_DISPLAYCONFIG_2DREGION() { 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::null::())).cx as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_2DREGION), "::", stringify!(cx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cy as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, } #[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], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = 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() { 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::null::())) .AdditionalSignalInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1), "::", stringify!(AdditionalSignalInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).videoStandard as *const _ 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() { 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::null::())).pixelRate as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), "::", stringify!(pixelRate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hSyncFreq as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), "::", stringify!(hSyncFreq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vSyncFreq as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), "::", stringify!(vSyncFreq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).activeSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), "::", stringify!(activeSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).totalSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), "::", stringify!(totalSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).scanLineOrdering as *const _ 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() { 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::null::())).width as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_SOURCE_MODE), "::", stringify!(width) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).height as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_SOURCE_MODE), "::", stringify!(height) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pixelFormat as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_SOURCE_MODE), "::", stringify!(pixelFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).position as *const _ 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() { 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::null::())).targetVideoSignalInfo as *const _ 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() { 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::null::())).PathSourceSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_DESKTOP_IMAGE_INFO), "::", stringify!(PathSourceSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DesktopImageRegion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_DESKTOP_IMAGE_INFO), "::", stringify!(DesktopImageRegion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DesktopImageClip as *const _ 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, _bindgen_union_align: [u64; 6usize], } #[test] fn bindgen_test_layout_DISPLAYCONFIG_MODE_INFO__bindgen_ty_1() { 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::null::())).targetMode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_MODE_INFO__bindgen_ty_1), "::", stringify!(targetMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sourceMode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_MODE_INFO__bindgen_ty_1), "::", stringify!(sourceMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).desktopImageInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_MODE_INFO__bindgen_ty_1), "::", stringify!(desktopImageInfo) ) ); } #[test] fn bindgen_test_layout_DISPLAYCONFIG_MODE_INFO() { 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::null::())).infoType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_MODE_INFO), "::", stringify!(infoType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_MODE_INFO), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adapterId as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, } #[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], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = 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() { 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::null::())).modeInfoIdx as *const _ 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() { 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::null::())).adapterId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO), "::", stringify!(adapterId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).statusFlags as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, } #[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], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = 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() { 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::null::())).modeInfoIdx as *const _ 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() { 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::null::())).adapterId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), "::", stringify!(adapterId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).outputTechnology as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), "::", stringify!(outputTechnology) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rotation as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), "::", stringify!(rotation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).scaling as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), "::", stringify!(scaling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).refreshRate as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), "::", stringify!(refreshRate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).scanLineOrdering as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), "::", stringify!(scanLineOrdering) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).targetAvailable as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), "::", stringify!(targetAvailable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).statusFlags as *const _ 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() { 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::null::())).sourceInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_PATH_INFO), "::", stringify!(sourceInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).targetInfo as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_PATH_INFO), "::", stringify!(targetInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_PATH_INFO), "::", stringify!(flags) ) ); } pub const DISPLAYCONFIG_TOPOLOGY_ID_DISPLAYCONFIG_TOPOLOGY_INTERNAL: DISPLAYCONFIG_TOPOLOGY_ID = 1; pub const DISPLAYCONFIG_TOPOLOGY_ID_DISPLAYCONFIG_TOPOLOGY_CLONE: DISPLAYCONFIG_TOPOLOGY_ID = 2; pub const DISPLAYCONFIG_TOPOLOGY_ID_DISPLAYCONFIG_TOPOLOGY_EXTEND: DISPLAYCONFIG_TOPOLOGY_ID = 4; pub const DISPLAYCONFIG_TOPOLOGY_ID_DISPLAYCONFIG_TOPOLOGY_EXTERNAL: DISPLAYCONFIG_TOPOLOGY_ID = 8; pub const DISPLAYCONFIG_TOPOLOGY_ID_DISPLAYCONFIG_TOPOLOGY_FORCE_UINT32: DISPLAYCONFIG_TOPOLOGY_ID = -1; pub type DISPLAYCONFIG_TOPOLOGY_ID = ::std::os::raw::c_int; pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME: DISPLAYCONFIG_DEVICE_INFO_TYPE = 1; pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME: DISPLAYCONFIG_DEVICE_INFO_TYPE = 2; pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE: DISPLAYCONFIG_DEVICE_INFO_TYPE = 3; pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME: DISPLAYCONFIG_DEVICE_INFO_TYPE = 4; pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_SET_TARGET_PERSISTENCE: DISPLAYCONFIG_DEVICE_INFO_TYPE = 5; pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE: DISPLAYCONFIG_DEVICE_INFO_TYPE = 6; pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_SUPPORT_VIRTUAL_RESOLUTION : DISPLAYCONFIG_DEVICE_INFO_TYPE = 7 ; pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_SET_SUPPORT_VIRTUAL_RESOLUTION : DISPLAYCONFIG_DEVICE_INFO_TYPE = 8 ; pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO: DISPLAYCONFIG_DEVICE_INFO_TYPE = 9; pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE: DISPLAYCONFIG_DEVICE_INFO_TYPE = 10; pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL: DISPLAYCONFIG_DEVICE_INFO_TYPE = 11; pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_FORCE_UINT32: DISPLAYCONFIG_DEVICE_INFO_TYPE = -1; pub type DISPLAYCONFIG_DEVICE_INFO_TYPE = ::std::os::raw::c_int; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DISPLAYCONFIG_DEVICE_INFO_HEADER { pub type_: DISPLAYCONFIG_DEVICE_INFO_TYPE, pub size: UINT32, pub adapterId: LUID, pub id: UINT32, } #[test] fn bindgen_test_layout_DISPLAYCONFIG_DEVICE_INFO_HEADER() { 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::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_DEVICE_INFO_HEADER), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_DEVICE_INFO_HEADER), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adapterId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_DEVICE_INFO_HEADER), "::", stringify!(adapterId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ 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() { 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::null::())).header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_SOURCE_DEVICE_NAME), "::", stringify!(header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).viewGdiDeviceName as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::())).value as *const _ 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() { 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::null::())).header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), "::", stringify!(header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).outputTechnology as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), "::", stringify!(outputTechnology) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).edidManufactureId as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), "::", stringify!(edidManufactureId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).edidProductCodeId as *const _ as usize }, 30usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), "::", stringify!(edidProductCodeId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).connectorInstance as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), "::", stringify!(connectorInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).monitorFriendlyDeviceName as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), "::", stringify!(monitorFriendlyDeviceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).monitorDevicePath as *const _ 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() { 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::null::())).header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE), "::", stringify!(header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).width as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE), "::", stringify!(width) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).height as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE), "::", stringify!(height) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).targetMode as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE), "::", stringify!(targetMode) ) ); } #[repr(C)] #[derive(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() { 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::null::())).header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_ADAPTER_NAME), "::", stringify!(header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adapterDevicePath as *const _ 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() { 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::null::())).header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DISPLAYCONFIG_TARGET_BASE_TYPE), "::", stringify!(header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).baseOutputTechnology as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::())).value as *const _ 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() { 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::null::())).header as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::())).value as *const _ 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() { 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::null::())).header as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1>())).value as *const _ 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() { 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::null::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO>())).header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO), "::", stringify!(header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO>())).colorEncoding as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO), "::", stringify!(colorEncoding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO>())).bitsPerColorChannel as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1>())).value as *const _ 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() { 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::null::<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE>())).header as *const _ 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() { 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::null::<_DISPLAYCONFIG_SDR_WHITE_LEVEL>())).header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISPLAYCONFIG_SDR_WHITE_LEVEL), "::", stringify!(header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISPLAYCONFIG_SDR_WHITE_LEVEL>())).SDRWhiteLevel as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_DISPLAYCONFIG_SDR_WHITE_LEVEL), "::", stringify!(SDRWhiteLevel) ) ); } pub type DISPLAYCONFIG_SDR_WHITE_LEVEL = _DISPLAYCONFIG_SDR_WHITE_LEVEL; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _RGNDATAHEADER { pub dwSize: DWORD, pub iType: DWORD, pub nCount: DWORD, pub nRgnSize: DWORD, pub rcBound: RECT, } #[test] fn bindgen_test_layout__RGNDATAHEADER() { 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::null::<_RGNDATAHEADER>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RGNDATAHEADER), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RGNDATAHEADER>())).iType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RGNDATAHEADER), "::", stringify!(iType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RGNDATAHEADER>())).nCount as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RGNDATAHEADER), "::", stringify!(nCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RGNDATAHEADER>())).nRgnSize as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RGNDATAHEADER), "::", stringify!(nRgnSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RGNDATAHEADER>())).rcBound as *const _ 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() { 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::null::<_RGNDATA>())).rdh as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RGNDATA), "::", stringify!(rdh) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RGNDATA>())).Buffer as *const _ 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() { 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::null::<_ABC>())).abcA as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ABC), "::", stringify!(abcA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ABC>())).abcB as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ABC), "::", stringify!(abcB) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ABC>())).abcC as *const _ 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() { 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::null::<_ABCFLOAT>())).abcfA as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ABCFLOAT), "::", stringify!(abcfA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ABCFLOAT>())).abcfB as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ABCFLOAT), "::", stringify!(abcfB) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ABCFLOAT>())).abcfC as *const _ 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() { 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::null::<_OUTLINETEXTMETRICA>())).otmSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmTextMetrics as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmTextMetrics) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmFiller as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmFiller) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmPanoseNumber as *const _ as usize }, 61usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmPanoseNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmfsSelection as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmfsSelection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmfsType as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmfsType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmsCharSlopeRise as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmsCharSlopeRise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmsCharSlopeRun as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmsCharSlopeRun) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmItalicAngle as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmItalicAngle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmEMSquare as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmEMSquare) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmAscent as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmAscent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmDescent as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmDescent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmLineGap as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmLineGap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmsCapEmHeight as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmsCapEmHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmsXHeight as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmsXHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmrcFontBox as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmrcFontBox) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmMacAscent as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmMacAscent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmMacDescent as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmMacDescent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmMacLineGap as *const _ as usize }, 140usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmMacLineGap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmusMinimumPPEM as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmusMinimumPPEM) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmptSubscriptSize as *const _ as usize }, 148usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmptSubscriptSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmptSubscriptOffset as *const _ as usize }, 156usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmptSubscriptOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmptSuperscriptSize as *const _ as usize }, 164usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmptSuperscriptSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmptSuperscriptOffset as *const _ as usize }, 172usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmptSuperscriptOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmsStrikeoutSize as *const _ as usize }, 180usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmsStrikeoutSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmsStrikeoutPosition as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmsStrikeoutPosition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmsUnderscoreSize as *const _ as usize }, 188usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmsUnderscoreSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmsUnderscorePosition as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmsUnderscorePosition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmpFamilyName as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmpFamilyName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmpFaceName as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmpFaceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmpStyleName as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICA), "::", stringify!(otmpStyleName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICA>())).otmpFullName as *const _ 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() { 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::null::<_OUTLINETEXTMETRICW>())).otmSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmTextMetrics as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmTextMetrics) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmFiller as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmFiller) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmPanoseNumber as *const _ as usize }, 65usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmPanoseNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmfsSelection as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmfsSelection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmfsType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmfsType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmsCharSlopeRise as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmsCharSlopeRise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmsCharSlopeRun as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmsCharSlopeRun) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmItalicAngle as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmItalicAngle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmEMSquare as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmEMSquare) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmAscent as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmAscent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmDescent as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmDescent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmLineGap as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmLineGap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmsCapEmHeight as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmsCapEmHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmsXHeight as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmsXHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmrcFontBox as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmrcFontBox) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmMacAscent as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmMacAscent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmMacDescent as *const _ as usize }, 140usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmMacDescent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmMacLineGap as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmMacLineGap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmusMinimumPPEM as *const _ as usize }, 148usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmusMinimumPPEM) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmptSubscriptSize as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmptSubscriptSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmptSubscriptOffset as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmptSubscriptOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmptSuperscriptSize as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmptSuperscriptSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmptSuperscriptOffset as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmptSuperscriptOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmsStrikeoutSize as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmsStrikeoutSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmsStrikeoutPosition as *const _ as usize }, 188usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmsStrikeoutPosition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmsUnderscoreSize as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmsUnderscoreSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmsUnderscorePosition as *const _ as usize }, 196usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmsUnderscorePosition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmpFamilyName as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmpFamilyName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmpFaceName as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmpFaceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmpStyleName as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(_OUTLINETEXTMETRICW), "::", stringify!(otmpStyleName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OUTLINETEXTMETRICW>())).otmpFullName as *const _ 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() { 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::null::())).x as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPOLYTEXTA), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagPOLYTEXTA), "::", stringify!(y) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).n as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagPOLYTEXTA), "::", stringify!(n) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagPOLYTEXTA), "::", stringify!(lpstr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uiFlags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagPOLYTEXTA), "::", stringify!(uiFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcl as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagPOLYTEXTA), "::", stringify!(rcl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pdx as *const _ 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() { 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::null::())).x as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPOLYTEXTW), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagPOLYTEXTW), "::", stringify!(y) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).n as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagPOLYTEXTW), "::", stringify!(n) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagPOLYTEXTW), "::", stringify!(lpstr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uiFlags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagPOLYTEXTW), "::", stringify!(uiFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcl as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagPOLYTEXTW), "::", stringify!(rcl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pdx as *const _ 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() { 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::null::<_FIXED>())).fract as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FIXED), "::", stringify!(fract) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FIXED>())).value as *const _ 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() { 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::null::<_MAT2>())).eM11 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MAT2), "::", stringify!(eM11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MAT2>())).eM12 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_MAT2), "::", stringify!(eM12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MAT2>())).eM21 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MAT2), "::", stringify!(eM21) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MAT2>())).eM22 as *const _ 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() { 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::null::<_GLYPHMETRICS>())).gmBlackBoxX as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GLYPHMETRICS), "::", stringify!(gmBlackBoxX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GLYPHMETRICS>())).gmBlackBoxY as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_GLYPHMETRICS), "::", stringify!(gmBlackBoxY) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GLYPHMETRICS>())).gmptGlyphOrigin as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_GLYPHMETRICS), "::", stringify!(gmptGlyphOrigin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GLYPHMETRICS>())).gmCellIncX as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_GLYPHMETRICS), "::", stringify!(gmCellIncX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GLYPHMETRICS>())).gmCellIncY as *const _ 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() { 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::null::())).x as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPOINTFX), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ 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() { 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::null::())).wType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTTPOLYCURVE), "::", stringify!(wType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cpfx as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagTTPOLYCURVE), "::", stringify!(cpfx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).apfx as *const _ 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() { 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::null::())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTTPOLYGONHEADER), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagTTPOLYGONHEADER), "::", stringify!(dwType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pfxStart as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSA), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpOutString as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSA), "::", stringify!(lpOutString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpOrder as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSA), "::", stringify!(lpOrder) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpDx as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSA), "::", stringify!(lpDx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpCaretPos as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSA), "::", stringify!(lpCaretPos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpClass as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSA), "::", stringify!(lpClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpGlyphs as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSA), "::", stringify!(lpGlyphs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nGlyphs as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSA), "::", stringify!(nGlyphs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxFit as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSW), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpOutString as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSW), "::", stringify!(lpOutString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpOrder as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSW), "::", stringify!(lpOrder) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpDx as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSW), "::", stringify!(lpDx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpCaretPos as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSW), "::", stringify!(lpCaretPos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpClass as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSW), "::", stringify!(lpClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpGlyphs as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSW), "::", stringify!(lpGlyphs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nGlyphs as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagGCP_RESULTSW), "::", stringify!(nGlyphs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxFit as *const _ 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() { 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::null::<_RASTERIZER_STATUS>())).nSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RASTERIZER_STATUS), "::", stringify!(nSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RASTERIZER_STATUS>())).wFlags as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_RASTERIZER_STATUS), "::", stringify!(wFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RASTERIZER_STATUS>())).nLanguageID as *const _ 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() { 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::null::())).nSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(nSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nVersion as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(nVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iPixelType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(iPixelType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cColorBits as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cColorBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cRedBits as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cRedBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cRedShift as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cRedShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cGreenBits as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cGreenBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cGreenShift as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cGreenShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cBlueBits as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cBlueBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cBlueShift as *const _ as usize }, 15usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cBlueShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAlphaBits as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cAlphaBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAlphaShift as *const _ as usize }, 17usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cAlphaShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAccumBits as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cAccumBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAccumRedBits as *const _ as usize }, 19usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cAccumRedBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAccumGreenBits as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cAccumGreenBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAccumBlueBits as *const _ as usize }, 21usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cAccumBlueBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAccumAlphaBits as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cAccumAlphaBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cDepthBits as *const _ as usize }, 23usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cDepthBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cStencilBits as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cStencilBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAuxBuffers as *const _ as usize }, 25usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(cAuxBuffers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iLayerType as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(iLayerType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bReserved as *const _ as usize }, 27usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(bReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwLayerMask as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(dwLayerMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwVisibleMask as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagPIXELFORMATDESCRIPTOR), "::", stringify!(dwVisibleMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwDamageMask as *const _ 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() { 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::null::())).wcLow as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWCRANGE), "::", stringify!(wcLow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cGlyphs as *const _ 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() { 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::null::())).cbThis as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagGLYPHSET), "::", stringify!(cbThis) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flAccel as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagGLYPHSET), "::", stringify!(flAccel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cGlyphsSupported as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagGLYPHSET), "::", stringify!(cGlyphsSupported) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cRanges as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagGLYPHSET), "::", stringify!(cRanges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ranges as *const _ 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() { 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::null::())).dvReserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDESIGNVECTOR), "::", stringify!(dvReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dvNumAxes as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagDESIGNVECTOR), "::", stringify!(dvNumAxes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dvValues as *const _ 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() { 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::null::())).axMinValue as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagAXISINFOA), "::", stringify!(axMinValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).axMaxValue as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagAXISINFOA), "::", stringify!(axMaxValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).axAxisName as *const _ 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() { 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::null::())).axMinValue as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagAXISINFOW), "::", stringify!(axMinValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).axMaxValue as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagAXISINFOW), "::", stringify!(axMaxValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).axAxisName as *const _ 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() { 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::null::())).axlReserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagAXESLISTA), "::", stringify!(axlReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).axlNumAxes as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagAXESLISTA), "::", stringify!(axlNumAxes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).axlAxisInfo as *const _ 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() { 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::null::())).axlReserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagAXESLISTW), "::", stringify!(axlReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).axlNumAxes as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagAXESLISTW), "::", stringify!(axlNumAxes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).axlAxisInfo as *const _ 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(Copy, Clone)] pub struct tagENUMLOGFONTEXDVA { pub elfEnumLogfontEx: ENUMLOGFONTEXA, pub elfDesignVector: DESIGNVECTOR, } #[test] fn bindgen_test_layout_tagENUMLOGFONTEXDVA() { 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::null::())).elfEnumLogfontEx as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagENUMLOGFONTEXDVA), "::", stringify!(elfEnumLogfontEx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfDesignVector as *const _ 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(Copy, Clone)] pub struct tagENUMLOGFONTEXDVW { pub elfEnumLogfontEx: ENUMLOGFONTEXW, pub elfDesignVector: DESIGNVECTOR, } #[test] fn bindgen_test_layout_tagENUMLOGFONTEXDVW() { 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::null::())).elfEnumLogfontEx as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagENUMLOGFONTEXDVW), "::", stringify!(elfEnumLogfontEx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfDesignVector as *const _ 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() { 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::null::())).etmNewTextMetricEx as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagENUMTEXTMETRICA), "::", stringify!(etmNewTextMetricEx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).etmAxesList as *const _ 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() { 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::null::())).etmNewTextMetricEx as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagENUMTEXTMETRICW), "::", stringify!(etmNewTextMetricEx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).etmAxesList as *const _ 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() { 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::null::<_TRIVERTEX>())).x as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TRIVERTEX), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRIVERTEX>())).y as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TRIVERTEX), "::", stringify!(y) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRIVERTEX>())).Red as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TRIVERTEX), "::", stringify!(Red) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRIVERTEX>())).Green as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_TRIVERTEX), "::", stringify!(Green) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRIVERTEX>())).Blue as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_TRIVERTEX), "::", stringify!(Blue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TRIVERTEX>())).Alpha as *const _ 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() { 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::null::<_GRADIENT_TRIANGLE>())).Vertex1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GRADIENT_TRIANGLE), "::", stringify!(Vertex1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GRADIENT_TRIANGLE>())).Vertex2 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_GRADIENT_TRIANGLE), "::", stringify!(Vertex2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GRADIENT_TRIANGLE>())).Vertex3 as *const _ 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() { 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::null::<_GRADIENT_RECT>())).UpperLeft as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GRADIENT_RECT), "::", stringify!(UpperLeft) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GRADIENT_RECT>())).LowerRight as *const _ 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() { 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::null::<_BLENDFUNCTION>())).BlendOp as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BLENDFUNCTION), "::", stringify!(BlendOp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BLENDFUNCTION>())).BlendFlags as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_BLENDFUNCTION), "::", stringify!(BlendFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BLENDFUNCTION>())).SourceConstantAlpha as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_BLENDFUNCTION), "::", stringify!(SourceConstantAlpha) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BLENDFUNCTION>())).AlphaFormat as *const _ 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() { 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::null::())).dsBm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDIBSECTION), "::", stringify!(dsBm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dsBmih as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagDIBSECTION), "::", stringify!(dsBmih) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dsBitfields as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagDIBSECTION), "::", stringify!(dsBitfields) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dshSection as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagDIBSECTION), "::", stringify!(dshSection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dsOffset as *const _ 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() { 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::null::())).caSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCOLORADJUSTMENT), "::", stringify!(caSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).caFlags as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagCOLORADJUSTMENT), "::", stringify!(caFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).caIlluminantIndex as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagCOLORADJUSTMENT), "::", stringify!(caIlluminantIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).caRedGamma as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(tagCOLORADJUSTMENT), "::", stringify!(caRedGamma) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).caGreenGamma as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCOLORADJUSTMENT), "::", stringify!(caGreenGamma) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).caBlueGamma as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(tagCOLORADJUSTMENT), "::", stringify!(caBlueGamma) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).caReferenceBlack as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagCOLORADJUSTMENT), "::", stringify!(caReferenceBlack) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).caReferenceWhite as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(tagCOLORADJUSTMENT), "::", stringify!(caReferenceWhite) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).caContrast as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCOLORADJUSTMENT), "::", stringify!(caContrast) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).caBrightness as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(tagCOLORADJUSTMENT), "::", stringify!(caBrightness) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).caColorfulness as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagCOLORADJUSTMENT), "::", stringify!(caColorfulness) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).caRedGreenTint as *const _ 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() { 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::null::<_DOCINFOA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DOCINFOA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOCINFOA>())).lpszDocName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DOCINFOA), "::", stringify!(lpszDocName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOCINFOA>())).lpszOutput as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DOCINFOA), "::", stringify!(lpszOutput) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOCINFOA>())).lpszDatatype as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DOCINFOA), "::", stringify!(lpszDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOCINFOA>())).fwType as *const _ 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() { 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::null::<_DOCINFOW>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DOCINFOW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOCINFOW>())).lpszDocName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DOCINFOW), "::", stringify!(lpszDocName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOCINFOW>())).lpszOutput as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DOCINFOW), "::", stringify!(lpszOutput) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOCINFOW>())).lpszDatatype as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DOCINFOW), "::", stringify!(lpszDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOCINFOW>())).fwType as *const _ 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() { 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::null::())).wFirst as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagKERNINGPAIR), "::", stringify!(wFirst) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wSecond as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagKERNINGPAIR), "::", stringify!(wSecond) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iKernAmount as *const _ 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() { 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::null::())).iType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMR), "::", stringify!(iType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nSize as *const _ 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() { 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::null::())).ptlReference as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRTEXT), "::", stringify!(ptlReference) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nChars as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRTEXT), "::", stringify!(nChars) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offString as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagEMRTEXT), "::", stringify!(offString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fOptions as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagEMRTEXT), "::", stringify!(fOptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcl as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagEMRTEXT), "::", stringify!(rcl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offDx as *const _ 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() { 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::null::())).emr as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSELECTCLIPPATH), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iMode as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSETMITERLIMIT), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eMiterLimit as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRRESTOREDC), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iRelative as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSETARCDIRECTION), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iArcDirection as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSETMAPPERFLAGS), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSETTEXTCOLOR), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).crColor as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSELECTOBJECT), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihObject as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSELECTPALETTE), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihPal as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRRESIZEPALETTE), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihPal as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRRESIZEPALETTE), "::", stringify!(ihPal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cEntries as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSETPALETTEENTRIES), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihPal as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRSETPALETTEENTRIES), "::", stringify!(ihPal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iStart as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagEMRSETPALETTEENTRIES), "::", stringify!(iStart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cEntries as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagEMRSETPALETTEENTRIES), "::", stringify!(cEntries) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).aPalEntries as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSETCOLORADJUSTMENT), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ColorAdjustment as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRGDICOMMENT), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRGDICOMMENT), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Data as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMREOF), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nPalEntries as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMREOF), "::", stringify!(nPalEntries) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offPalEntries as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagEMREOF), "::", stringify!(offPalEntries) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nSizeLast as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRLINETO), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptl as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMROFFSETCLIPRGN), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptlOffset as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRFILLPATH), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMREXCLUDECLIPRECT), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclClip as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSETVIEWPORTORGEX), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptlOrigin as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSETVIEWPORTEXTEX), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szlExtent as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSCALEVIEWPORTEXTEX), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xNum as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRSCALEVIEWPORTEXTEX), "::", stringify!(xNum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xDenom as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagEMRSCALEVIEWPORTEXTEX), "::", stringify!(xDenom) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).yNum as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagEMRSCALEVIEWPORTEXTEX), "::", stringify!(yNum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).yDenom as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSETWORLDTRANSFORM), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xform as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRMODIFYWORLDTRANSFORM), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xform as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRMODIFYWORLDTRANSFORM), "::", stringify!(xform) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iMode as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSETPIXELV), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptlPixel as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRSETPIXELV), "::", stringify!(ptlPixel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).crColor as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMREXTFLOODFILL), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptlStart as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMREXTFLOODFILL), "::", stringify!(ptlStart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).crColor as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagEMREXTFLOODFILL), "::", stringify!(crColor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iMode as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRELLIPSE), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBox as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRROUNDRECT), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBox as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRROUNDRECT), "::", stringify!(rclBox) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szlCorner as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRARC), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBox as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRARC), "::", stringify!(rclBox) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptlStart as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRARC), "::", stringify!(ptlStart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptlEnd as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRANGLEARC), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptlCenter as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRANGLEARC), "::", stringify!(ptlCenter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nRadius as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagEMRANGLEARC), "::", stringify!(nRadius) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eStartAngle as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagEMRANGLEARC), "::", stringify!(eStartAngle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eSweepAngle as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYLINE), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYLINE), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cptl as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYLINE), "::", stringify!(cptl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).aptl as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYLINE16), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYLINE16), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cpts as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYLINE16), "::", stringify!(cpts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).apts as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYDRAW), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYDRAW), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cptl as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYDRAW), "::", stringify!(cptl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).aptl as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYDRAW), "::", stringify!(aptl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).abTypes as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYDRAW16), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYDRAW16), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cpts as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYDRAW16), "::", stringify!(cpts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).apts as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYDRAW16), "::", stringify!(apts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).abTypes as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYPOLYLINE), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYPOLYLINE), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nPolys as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYPOLYLINE), "::", stringify!(nPolys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cptl as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYPOLYLINE), "::", stringify!(cptl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).aPolyCounts as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYPOLYLINE), "::", stringify!(aPolyCounts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).aptl as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYPOLYLINE16), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYPOLYLINE16), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nPolys as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYPOLYLINE16), "::", stringify!(nPolys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cpts as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYPOLYLINE16), "::", stringify!(cpts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).aPolyCounts as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYPOLYLINE16), "::", stringify!(aPolyCounts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).apts as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRINVERTRGN), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRINVERTRGN), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbRgnData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRINVERTRGN), "::", stringify!(cbRgnData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RgnData as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRFILLRGN), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRFILLRGN), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbRgnData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRFILLRGN), "::", stringify!(cbRgnData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihBrush as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMRFILLRGN), "::", stringify!(ihBrush) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RgnData as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRFRAMERGN), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRFRAMERGN), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbRgnData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRFRAMERGN), "::", stringify!(cbRgnData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihBrush as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMRFRAMERGN), "::", stringify!(ihBrush) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szlStroke as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagEMRFRAMERGN), "::", stringify!(szlStroke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RgnData as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMREXTSELECTCLIPRGN), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbRgnData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMREXTSELECTCLIPRGN), "::", stringify!(cbRgnData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iMode as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagEMREXTSELECTCLIPRGN), "::", stringify!(iMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RgnData as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMREXTTEXTOUTA), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMREXTTEXTOUTA), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iGraphicsMode as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMREXTTEXTOUTA), "::", stringify!(iGraphicsMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exScale as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMREXTTEXTOUTA), "::", stringify!(exScale) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eyScale as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagEMREXTTEXTOUTA), "::", stringify!(eyScale) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).emrtext as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYTEXTOUTA), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYTEXTOUTA), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iGraphicsMode as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYTEXTOUTA), "::", stringify!(iGraphicsMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exScale as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYTEXTOUTA), "::", stringify!(exScale) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eyScale as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYTEXTOUTA), "::", stringify!(eyScale) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cStrings as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagEMRPOLYTEXTOUTA), "::", stringify!(cStrings) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).aemrtext as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRBITBLT), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRBITBLT), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xDest as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRBITBLT), "::", stringify!(xDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).yDest as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMRBITBLT), "::", stringify!(yDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cxDest as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagEMRBITBLT), "::", stringify!(cxDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cyDest as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagEMRBITBLT), "::", stringify!(cyDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwRop as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagEMRBITBLT), "::", stringify!(dwRop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xSrc as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagEMRBITBLT), "::", stringify!(xSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ySrc as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagEMRBITBLT), "::", stringify!(ySrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xformSrc as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagEMRBITBLT), "::", stringify!(xformSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).crBkColorSrc as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagEMRBITBLT), "::", stringify!(crBkColorSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iUsageSrc as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagEMRBITBLT), "::", stringify!(iUsageSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBmiSrc as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(tagEMRBITBLT), "::", stringify!(offBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBmiSrc as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagEMRBITBLT), "::", stringify!(cbBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBitsSrc as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagEMRBITBLT), "::", stringify!(offBitsSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBitsSrc as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xDest as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(xDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).yDest as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(yDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cxDest as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(cxDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cyDest as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(cyDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwRop as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(dwRop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xSrc as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(xSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ySrc as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(ySrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xformSrc as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(xformSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).crBkColorSrc as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(crBkColorSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iUsageSrc as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(iUsageSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBmiSrc as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(offBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBmiSrc as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(cbBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBitsSrc as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(offBitsSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBitsSrc as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(cbBitsSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cxSrc as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHBLT), "::", stringify!(cxSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cySrc as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xDest as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(xDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).yDest as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(yDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cxDest as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(cxDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cyDest as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(cyDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwRop as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(dwRop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xSrc as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(xSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ySrc as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(ySrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xformSrc as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(xformSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).crBkColorSrc as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(crBkColorSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iUsageSrc as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(iUsageSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBmiSrc as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(offBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBmiSrc as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(cbBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBitsSrc as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(offBitsSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBitsSrc as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(cbBitsSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xMask as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(xMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).yMask as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(yMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iUsageMask as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(iUsageMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBmiMask as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(offBmiMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBmiMask as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(cbBmiMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBitsMask as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(tagEMRMASKBLT), "::", stringify!(offBitsMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBitsMask as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).aptlDest as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(aptlDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xSrc as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(xSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ySrc as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(ySrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cxSrc as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(cxSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cySrc as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(cySrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xformSrc as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(xformSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).crBkColorSrc as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(crBkColorSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iUsageSrc as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(iUsageSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBmiSrc as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(offBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBmiSrc as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(cbBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBitsSrc as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(offBitsSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBitsSrc as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(cbBitsSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xMask as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(xMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).yMask as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(yMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iUsageMask as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(iUsageMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBmiMask as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(offBmiMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBmiMask as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(cbBmiMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBitsMask as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(tagEMRPLGBLT), "::", stringify!(offBitsMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBitsMask as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSETDIBITSTODEVICE), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRSETDIBITSTODEVICE), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xDest as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRSETDIBITSTODEVICE), "::", stringify!(xDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).yDest as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMRSETDIBITSTODEVICE), "::", stringify!(yDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xSrc as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagEMRSETDIBITSTODEVICE), "::", stringify!(xSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ySrc as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagEMRSETDIBITSTODEVICE), "::", stringify!(ySrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cxSrc as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagEMRSETDIBITSTODEVICE), "::", stringify!(cxSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cySrc as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagEMRSETDIBITSTODEVICE), "::", stringify!(cySrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBmiSrc as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagEMRSETDIBITSTODEVICE), "::", stringify!(offBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBmiSrc as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagEMRSETDIBITSTODEVICE), "::", stringify!(cbBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBitsSrc as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagEMRSETDIBITSTODEVICE), "::", stringify!(offBitsSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBitsSrc as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagEMRSETDIBITSTODEVICE), "::", stringify!(cbBitsSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iUsageSrc as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagEMRSETDIBITSTODEVICE), "::", stringify!(iUsageSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iStartScan as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(tagEMRSETDIBITSTODEVICE), "::", stringify!(iStartScan) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cScans as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xDest as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(xDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).yDest as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(yDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xSrc as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(xSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ySrc as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(ySrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cxSrc as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(cxSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cySrc as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(cySrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBmiSrc as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(offBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBmiSrc as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(cbBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBitsSrc as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(offBitsSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBitsSrc as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(cbBitsSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iUsageSrc as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(iUsageSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwRop as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(dwRop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cxDest as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(cxDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cyDest as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagEMRSTRETCHDIBITS), "::", stringify!(cyDest) ) ); } pub type EMRSTRETCHDIBITS = tagEMRSTRETCHDIBITS; pub type PEMRSTRETCHDIBITS = *mut tagEMRSTRETCHDIBITS; #[repr(C)] #[derive(Copy, Clone)] pub struct tagEMREXTCREATEFONTINDIRECTW { pub emr: EMR, pub ihFont: DWORD, pub elfw: EXTLOGFONTW, } #[test] fn bindgen_test_layout_tagEMREXTCREATEFONTINDIRECTW() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMREXTCREATEFONTINDIRECTW), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihFont as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMREXTCREATEFONTINDIRECTW), "::", stringify!(ihFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elfw as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEPALETTE), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihPal as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEPALETTE), "::", stringify!(ihPal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lgpl as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEPEN), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihPen as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEPEN), "::", stringify!(ihPen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lopn as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMREXTCREATEPEN), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihPen as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMREXTCREATEPEN), "::", stringify!(ihPen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBmi as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagEMREXTCREATEPEN), "::", stringify!(offBmi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBmi as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagEMREXTCREATEPEN), "::", stringify!(cbBmi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBits as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagEMREXTCREATEPEN), "::", stringify!(offBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBits as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMREXTCREATEPEN), "::", stringify!(cbBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elp as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEBRUSHINDIRECT), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihBrush as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEBRUSHINDIRECT), "::", stringify!(ihBrush) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lb as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEMONOBRUSH), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihBrush as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEMONOBRUSH), "::", stringify!(ihBrush) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iUsage as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEMONOBRUSH), "::", stringify!(iUsage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBmi as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEMONOBRUSH), "::", stringify!(offBmi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBmi as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEMONOBRUSH), "::", stringify!(cbBmi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBits as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEMONOBRUSH), "::", stringify!(offBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBits as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihBrush as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), "::", stringify!(ihBrush) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iUsage as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), "::", stringify!(iUsage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBmi as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), "::", stringify!(offBmi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBmi as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), "::", stringify!(cbBmi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBits as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), "::", stringify!(offBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBits as *const _ 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() { 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::null::())).dSignature as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRFORMAT), "::", stringify!(dSignature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagEMRFORMAT), "::", stringify!(nVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRFORMAT), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offData as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRGLSRECORD), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRGLSRECORD), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Data as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRGLSBOUNDEDRECORD), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRGLSBOUNDEDRECORD), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRGLSBOUNDEDRECORD), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Data as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRPIXELFORMAT), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pfd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRPIXELFORMAT), "::", stringify!(pfd) ) ); } pub type EMRPIXELFORMAT = tagEMRPIXELFORMAT; pub type PEMRPIXELFORMAT = *mut tagEMRPIXELFORMAT; #[repr(C)] #[derive(Copy, Clone)] pub struct tagEMRCREATECOLORSPACE { pub emr: EMR, pub ihCS: DWORD, pub lcs: LOGCOLORSPACEA, } #[test] fn bindgen_test_layout_tagEMRCREATECOLORSPACE() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRCREATECOLORSPACE), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihCS as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRCREATECOLORSPACE), "::", stringify!(ihCS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcs as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSETCOLORSPACE), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihCS as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMREXTESCAPE), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iEscape as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMREXTESCAPE), "::", stringify!(iEscape) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbEscData as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagEMREXTESCAPE), "::", stringify!(cbEscData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EscData as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRNAMEDESCAPE), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iEscape as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRNAMEDESCAPE), "::", stringify!(iEscape) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbDriver as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagEMRNAMEDESCAPE), "::", stringify!(cbDriver) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbEscData as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagEMRNAMEDESCAPE), "::", stringify!(cbEscData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EscData as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRSETICMPROFILE), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRSETICMPROFILE), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbName as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagEMRSETICMPROFILE), "::", stringify!(cbName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbData as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagEMRSETICMPROFILE), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Data as *const _ 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(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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRCREATECOLORSPACEW), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihCS as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRCREATECOLORSPACEW), "::", stringify!(ihCS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcs as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagEMRCREATECOLORSPACEW), "::", stringify!(lcs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 600usize, concat!( "Offset of field: ", stringify!(tagEMRCREATECOLORSPACEW), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbData as *const _ as usize }, 604usize, concat!( "Offset of field: ", stringify!(tagEMRCREATECOLORSPACEW), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Data as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCOLORMATCHTOTARGET), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwAction as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCOLORMATCHTOTARGET), "::", stringify!(dwAction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagCOLORMATCHTOTARGET), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCOLORMATCHTOTARGET), "::", stringify!(cbName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbData as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagCOLORMATCHTOTARGET), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Data as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCOLORCORRECTPALETTE), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ihPalette as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCOLORCORRECTPALETTE), "::", stringify!(ihPalette) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFirstEntry as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagCOLORCORRECTPALETTE), "::", stringify!(nFirstEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nPalEntries as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCOLORCORRECTPALETTE), "::", stringify!(nPalEntries) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nReserved as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xDest as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(xDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).yDest as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(yDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cxDest as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(cxDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cyDest as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(cyDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwRop as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(dwRop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xSrc as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(xSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ySrc as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(ySrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xformSrc as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(xformSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).crBkColorSrc as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(crBkColorSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iUsageSrc as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(iUsageSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBmiSrc as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(offBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBmiSrc as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(cbBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBitsSrc as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(offBitsSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBitsSrc as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(cbBitsSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cxSrc as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagEMRALPHABLEND), "::", stringify!(cxSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cySrc as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRGRADIENTFILL), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRGRADIENTFILL), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nVer as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRGRADIENTFILL), "::", stringify!(nVer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nTri as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMRGRADIENTFILL), "::", stringify!(nTri) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulMode as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagEMRGRADIENTFILL), "::", stringify!(ulMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Ver as *const _ 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() { 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::null::())).emr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(emr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rclBounds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(rclBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xDest as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(xDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).yDest as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(yDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cxDest as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(cxDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cyDest as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(cyDest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwRop as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(dwRop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xSrc as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(xSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ySrc as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(ySrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xformSrc as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(xformSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).crBkColorSrc as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(crBkColorSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iUsageSrc as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(iUsageSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBmiSrc as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(offBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBmiSrc as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(cbBmiSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offBitsSrc as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(offBitsSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBitsSrc as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(cbBitsSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cxSrc as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagEMRTRANSPARENTBLT), "::", stringify!(cxSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cySrc as *const _ 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() { 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::null::<_POINTFLOAT>())).x as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_POINTFLOAT), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_POINTFLOAT>())).y as *const _ 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() { 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::null::<_GLYPHMETRICSFLOAT>())).gmfBlackBoxX as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GLYPHMETRICSFLOAT), "::", stringify!(gmfBlackBoxX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GLYPHMETRICSFLOAT>())).gmfBlackBoxY as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_GLYPHMETRICSFLOAT), "::", stringify!(gmfBlackBoxY) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GLYPHMETRICSFLOAT>())).gmfptGlyphOrigin as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_GLYPHMETRICSFLOAT), "::", stringify!(gmfptGlyphOrigin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GLYPHMETRICSFLOAT>())).gmfCellIncX as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_GLYPHMETRICSFLOAT), "::", stringify!(gmfCellIncX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GLYPHMETRICSFLOAT>())).gmfCellIncY as *const _ 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() { 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::null::())).nSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(nSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nVersion as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(nVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iPixelType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(iPixelType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cColorBits as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cColorBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cRedBits as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cRedBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cRedShift as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cRedShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cGreenBits as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cGreenBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cGreenShift as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cGreenShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cBlueBits as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cBlueBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cBlueShift as *const _ as usize }, 15usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cBlueShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAlphaBits as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cAlphaBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAlphaShift as *const _ as usize }, 17usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cAlphaShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAccumBits as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cAccumBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAccumRedBits as *const _ as usize }, 19usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cAccumRedBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAccumGreenBits as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cAccumGreenBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAccumBlueBits as *const _ as usize }, 21usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cAccumBlueBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAccumAlphaBits as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cAccumAlphaBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cDepthBits as *const _ as usize }, 23usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cDepthBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cStencilBits as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cStencilBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAuxBuffers as *const _ as usize }, 25usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(cAuxBuffers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iLayerPlane as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(iLayerPlane) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bReserved as *const _ as usize }, 27usize, concat!( "Offset of field: ", stringify!(tagLAYERPLANEDESCRIPTOR), "::", stringify!(bReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).crTransparent as *const _ 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() { 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::null::<_WGLSWAP>())).hdc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WGLSWAP), "::", stringify!(hdc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WGLSWAP>())).uiFlags as *const _ 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() { 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::null::())).lpcs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCBT_CREATEWNDA), "::", stringify!(lpcs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndInsertAfter as *const _ 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() { 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::null::())).lpcs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCBT_CREATEWNDW), "::", stringify!(lpcs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndInsertAfter as *const _ 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() { 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::null::())).fMouse as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCBTACTIVATESTRUCT), "::", stringify!(fMouse) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hWndActive as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWTSSESSION_NOTIFICATION), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSessionId as *const _ 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() { 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::null::())).hwnd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(SHELLHOOKINFO), "::", stringify!(hwnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rc as *const _ 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() { 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::null::())).message as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEVENTMSG), "::", stringify!(message) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).paramL as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagEVENTMSG), "::", stringify!(paramL) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).paramH as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEVENTMSG), "::", stringify!(paramH) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).time as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagEVENTMSG), "::", stringify!(time) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwnd as *const _ 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() { 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::null::())).lParam as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCWPSTRUCT), "::", stringify!(lParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wParam as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCWPSTRUCT), "::", stringify!(wParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).message as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCWPSTRUCT), "::", stringify!(message) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwnd as *const _ 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() { 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::null::())).lResult as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCWPRETSTRUCT), "::", stringify!(lResult) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lParam as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCWPRETSTRUCT), "::", stringify!(lParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wParam as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCWPRETSTRUCT), "::", stringify!(wParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).message as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagCWPRETSTRUCT), "::", stringify!(message) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwnd as *const _ 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() { 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::null::())).vkCode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagKBDLLHOOKSTRUCT), "::", stringify!(vkCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).scanCode as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagKBDLLHOOKSTRUCT), "::", stringify!(scanCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagKBDLLHOOKSTRUCT), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).time as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagKBDLLHOOKSTRUCT), "::", stringify!(time) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwExtraInfo as *const _ 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() { 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::null::())).pt as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMSLLHOOKSTRUCT), "::", stringify!(pt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mouseData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMSLLHOOKSTRUCT), "::", stringify!(mouseData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMSLLHOOKSTRUCT), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).time as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMSLLHOOKSTRUCT), "::", stringify!(time) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwExtraInfo as *const _ 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() { 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::null::())).idThread as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDEBUGHOOKINFO), "::", stringify!(idThread) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).idThreadInstaller as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagDEBUGHOOKINFO), "::", stringify!(idThreadInstaller) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lParam as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagDEBUGHOOKINFO), "::", stringify!(lParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wParam as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagDEBUGHOOKINFO), "::", stringify!(wParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ 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() { 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::null::())).pt as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMOUSEHOOKSTRUCT), "::", stringify!(pt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwnd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMOUSEHOOKSTRUCT), "::", stringify!(hwnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wHitTestCode as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMOUSEHOOKSTRUCT), "::", stringify!(wHitTestCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwExtraInfo as *const _ 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() { 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::null::())).mouseData as *const _ 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() { 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::null::())).hwnd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagHARDWAREHOOKSTRUCT), "::", stringify!(hwnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).message as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagHARDWAREHOOKSTRUCT), "::", stringify!(message) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wParam as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagHARDWAREHOOKSTRUCT), "::", stringify!(wParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lParam as *const _ 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() { 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::null::())).x as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMOUSEMOVEPOINT), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMOUSEMOVEPOINT), "::", stringify!(y) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).time as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMOUSEMOVEPOINT), "::", stringify!(time) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwExtraInfo as *const _ 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() { 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::null::())).fInherit as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagUSEROBJECTFLAGS), "::", stringify!(fInherit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fReserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagUSEROBJECTFLAGS), "::", stringify!(fReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).style as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXA), "::", stringify!(style) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnWndProc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXA), "::", stringify!(lpfnWndProc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbClsExtra as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXA), "::", stringify!(cbClsExtra) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbWndExtra as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXA), "::", stringify!(cbWndExtra) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXA), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hIcon as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXA), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hCursor as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXA), "::", stringify!(hCursor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbrBackground as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXA), "::", stringify!(hbrBackground) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszMenuName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXA), "::", stringify!(lpszMenuName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszClassName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXA), "::", stringify!(lpszClassName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hIconSm as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).style as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXW), "::", stringify!(style) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnWndProc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXW), "::", stringify!(lpfnWndProc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbClsExtra as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXW), "::", stringify!(cbClsExtra) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbWndExtra as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXW), "::", stringify!(cbWndExtra) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXW), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hIcon as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXW), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hCursor as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXW), "::", stringify!(hCursor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbrBackground as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXW), "::", stringify!(hbrBackground) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszMenuName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXW), "::", stringify!(lpszMenuName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszClassName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSEXW), "::", stringify!(lpszClassName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hIconSm as *const _ 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() { 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::null::())).style as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSA), "::", stringify!(style) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnWndProc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSA), "::", stringify!(lpfnWndProc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbClsExtra as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSA), "::", stringify!(cbClsExtra) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbWndExtra as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSA), "::", stringify!(cbWndExtra) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSA), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hIcon as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSA), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hCursor as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSA), "::", stringify!(hCursor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbrBackground as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSA), "::", stringify!(hbrBackground) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszMenuName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSA), "::", stringify!(lpszMenuName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszClassName as *const _ 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() { 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::null::())).style as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSW), "::", stringify!(style) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnWndProc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSW), "::", stringify!(lpfnWndProc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbClsExtra as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSW), "::", stringify!(cbClsExtra) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbWndExtra as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSW), "::", stringify!(cbWndExtra) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSW), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hIcon as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSW), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hCursor as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSW), "::", stringify!(hCursor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbrBackground as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSW), "::", stringify!(hbrBackground) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszMenuName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagWNDCLASSW), "::", stringify!(lpszMenuName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszClassName as *const _ 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() { 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::null::())).hwnd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMSG), "::", stringify!(hwnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).message as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMSG), "::", stringify!(message) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wParam as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMSG), "::", stringify!(wParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lParam as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMSG), "::", stringify!(lParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).time as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagMSG), "::", stringify!(time) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pt as *const _ 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() { 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::null::())).ptReserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMINMAXINFO), "::", stringify!(ptReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptMaxSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMINMAXINFO), "::", stringify!(ptMaxSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptMaxPosition as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMINMAXINFO), "::", stringify!(ptMaxPosition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptMinTrackSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMINMAXINFO), "::", stringify!(ptMinTrackSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptMaxTrackSize as *const _ 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() { 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::null::())).dwData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCOPYDATASTRUCT), "::", stringify!(dwData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCOPYDATASTRUCT), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpData as *const _ 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() { 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::null::())).hmenuIn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMDINEXTMENU), "::", stringify!(hmenuIn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hmenuNext as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMDINEXTMENU), "::", stringify!(hmenuNext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndNext as *const _ 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() { 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::null::())).PowerSetting as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(POWERBROADCAST_SETTING), "::", stringify!(PowerSetting) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DataLength as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(POWERBROADCAST_SETTING), "::", stringify!(DataLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Data as *const _ 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() { 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::null::())).hwnd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWINDOWPOS), "::", stringify!(hwnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndInsertAfter as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagWINDOWPOS), "::", stringify!(hwndInsertAfter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).x as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagWINDOWPOS), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagWINDOWPOS), "::", stringify!(y) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cx as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagWINDOWPOS), "::", stringify!(cx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cy as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagWINDOWPOS), "::", stringify!(cy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ 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() { 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::null::())).rgrc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagNCCALCSIZE_PARAMS), "::", stringify!(rgrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lppos as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTRACKMOUSEEVENT), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagTRACKMOUSEEVENT), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndTrack as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagTRACKMOUSEEVENT), "::", stringify!(hwndTrack) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwHoverTime as *const _ 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() { 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::null::())).fVirt as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagACCEL), "::", stringify!(fVirt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).key as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagACCEL), "::", stringify!(key) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cmd as *const _ 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() { 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::null::())).hdc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPAINTSTRUCT), "::", stringify!(hdc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fErase as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagPAINTSTRUCT), "::", stringify!(fErase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcPaint as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagPAINTSTRUCT), "::", stringify!(rcPaint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fRestore as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagPAINTSTRUCT), "::", stringify!(fRestore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fIncUpdate as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagPAINTSTRUCT), "::", stringify!(fIncUpdate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgbReserved as *const _ 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() { 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::null::())).lpCreateParams as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTA), "::", stringify!(lpCreateParams) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTA), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hMenu as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTA), "::", stringify!(hMenu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndParent as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTA), "::", stringify!(hwndParent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cy as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTA), "::", stringify!(cy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cx as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTA), "::", stringify!(cx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTA), "::", stringify!(y) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).x as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTA), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).style as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTA), "::", stringify!(style) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTA), "::", stringify!(lpszName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszClass as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTA), "::", stringify!(lpszClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwExStyle as *const _ 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() { 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::null::())).lpCreateParams as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTW), "::", stringify!(lpCreateParams) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTW), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hMenu as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTW), "::", stringify!(hMenu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndParent as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTW), "::", stringify!(hwndParent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cy as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTW), "::", stringify!(cy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cx as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTW), "::", stringify!(cx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTW), "::", stringify!(y) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).x as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTW), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).style as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTW), "::", stringify!(style) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTW), "::", stringify!(lpszName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszClass as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagCREATESTRUCTW), "::", stringify!(lpszClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwExStyle as *const _ 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() { 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::null::())).length as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWINDOWPLACEMENT), "::", stringify!(length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagWINDOWPLACEMENT), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).showCmd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagWINDOWPLACEMENT), "::", stringify!(showCmd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptMinPosition as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagWINDOWPLACEMENT), "::", stringify!(ptMinPosition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptMaxPosition as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagWINDOWPLACEMENT), "::", stringify!(ptMaxPosition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcNormalPosition as *const _ 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() { 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::null::())).hwndFrom as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagNMHDR), "::", stringify!(hwndFrom) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).idFrom as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagNMHDR), "::", stringify!(idFrom) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ 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() { 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::null::())).styleOld as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTYLESTRUCT), "::", stringify!(styleOld) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).styleNew as *const _ 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() { 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::null::())).CtlType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMEASUREITEMSTRUCT), "::", stringify!(CtlType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CtlID as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMEASUREITEMSTRUCT), "::", stringify!(CtlID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).itemID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMEASUREITEMSTRUCT), "::", stringify!(itemID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).itemWidth as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMEASUREITEMSTRUCT), "::", stringify!(itemWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).itemHeight as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMEASUREITEMSTRUCT), "::", stringify!(itemHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).itemData as *const _ 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() { 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::null::())).CtlType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDRAWITEMSTRUCT), "::", stringify!(CtlType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CtlID as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagDRAWITEMSTRUCT), "::", stringify!(CtlID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).itemID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagDRAWITEMSTRUCT), "::", stringify!(itemID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).itemAction as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagDRAWITEMSTRUCT), "::", stringify!(itemAction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).itemState as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagDRAWITEMSTRUCT), "::", stringify!(itemState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndItem as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagDRAWITEMSTRUCT), "::", stringify!(hwndItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDC as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagDRAWITEMSTRUCT), "::", stringify!(hDC) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcItem as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagDRAWITEMSTRUCT), "::", stringify!(rcItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).itemData as *const _ 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() { 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::null::())).CtlType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDELETEITEMSTRUCT), "::", stringify!(CtlType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CtlID as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagDELETEITEMSTRUCT), "::", stringify!(CtlID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).itemID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagDELETEITEMSTRUCT), "::", stringify!(itemID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndItem as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagDELETEITEMSTRUCT), "::", stringify!(hwndItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).itemData as *const _ 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() { 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::null::())).CtlType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCOMPAREITEMSTRUCT), "::", stringify!(CtlType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CtlID as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagCOMPAREITEMSTRUCT), "::", stringify!(CtlID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndItem as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCOMPAREITEMSTRUCT), "::", stringify!(hwndItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).itemID1 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCOMPAREITEMSTRUCT), "::", stringify!(itemID1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).itemData1 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagCOMPAREITEMSTRUCT), "::", stringify!(itemData1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).itemID2 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagCOMPAREITEMSTRUCT), "::", stringify!(itemID2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).itemData2 as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagCOMPAREITEMSTRUCT), "::", stringify!(itemData2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwLocaleId as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(BSMINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hdesk as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(BSMINFO), "::", stringify!(hdesk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwnd as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(BSMINFO), "::", stringify!(hwnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).luid as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagUPDATELAYEREDWINDOWINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hdcDst as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagUPDATELAYEREDWINDOWINFO), "::", stringify!(hdcDst) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pptDst as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagUPDATELAYEREDWINDOWINFO), "::", stringify!(pptDst) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).psize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagUPDATELAYEREDWINDOWINFO), "::", stringify!(psize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hdcSrc as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagUPDATELAYEREDWINDOWINFO), "::", stringify!(hdcSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pptSrc as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagUPDATELAYEREDWINDOWINFO), "::", stringify!(pptSrc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).crKey as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagUPDATELAYEREDWINDOWINFO), "::", stringify!(crKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pblend as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagUPDATELAYEREDWINDOWINFO), "::", stringify!(pblend) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagUPDATELAYEREDWINDOWINFO), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).prcDirty as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(FLASHWINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwnd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(FLASHWINFO), "::", stringify!(hwnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(FLASHWINFO), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uCount as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(FLASHWINFO), "::", stringify!(uCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTimeout as *const _ 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() { 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::null::())).style as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DLGTEMPLATE), "::", stringify!(style) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwExtendedStyle as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(DLGTEMPLATE), "::", stringify!(dwExtendedStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cdit as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(DLGTEMPLATE), "::", stringify!(cdit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).x as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(DLGTEMPLATE), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(DLGTEMPLATE), "::", stringify!(y) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cx as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(DLGTEMPLATE), "::", stringify!(cx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cy as *const _ 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() { 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::null::())).style as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DLGITEMTEMPLATE), "::", stringify!(style) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwExtendedStyle as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(DLGITEMTEMPLATE), "::", stringify!(dwExtendedStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).x as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(DLGITEMTEMPLATE), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(DLGITEMTEMPLATE), "::", stringify!(y) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cx as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(DLGITEMTEMPLATE), "::", stringify!(cx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cy as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(DLGITEMTEMPLATE), "::", stringify!(cy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ 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() { 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::null::())).dx as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMOUSEINPUT), "::", stringify!(dx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dy as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMOUSEINPUT), "::", stringify!(dy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mouseData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMOUSEINPUT), "::", stringify!(mouseData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMOUSEINPUT), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).time as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMOUSEINPUT), "::", stringify!(time) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwExtraInfo as *const _ 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() { 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::null::())).wVk as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagKEYBDINPUT), "::", stringify!(wVk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wScan as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagKEYBDINPUT), "::", stringify!(wScan) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagKEYBDINPUT), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).time as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagKEYBDINPUT), "::", stringify!(time) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwExtraInfo as *const _ 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() { 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::null::())).uMsg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagHARDWAREINPUT), "::", stringify!(uMsg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wParamL as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagHARDWAREINPUT), "::", stringify!(wParamL) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wParamH as *const _ 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, _bindgen_union_align: [u64; 4usize], } #[test] fn bindgen_test_layout_tagINPUT__bindgen_ty_1() { 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::null::())).mi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagINPUT__bindgen_ty_1), "::", stringify!(mi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ki as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagINPUT__bindgen_ty_1), "::", stringify!(ki) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagINPUT__bindgen_ty_1), "::", stringify!(hi) ) ); } #[test] fn bindgen_test_layout_tagINPUT() { 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::null::())).type_ as *const _ 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__() { 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::null::())).unused as *const _ 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() { 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::null::())).x as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTOUCHINPUT), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagTOUCHINPUT), "::", stringify!(y) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hSource as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagTOUCHINPUT), "::", stringify!(hSource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwID as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagTOUCHINPUT), "::", stringify!(dwID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagTOUCHINPUT), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwMask as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagTOUCHINPUT), "::", stringify!(dwMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTime as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagTOUCHINPUT), "::", stringify!(dwTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwExtraInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagTOUCHINPUT), "::", stringify!(dwExtraInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cxContact as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagTOUCHINPUT), "::", stringify!(cxContact) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cyContact as *const _ 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() { 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::null::())).pointerType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPOINTER_INFO), "::", stringify!(pointerType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pointerId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagPOINTER_INFO), "::", stringify!(pointerId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).frameId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagPOINTER_INFO), "::", stringify!(frameId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pointerFlags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagPOINTER_INFO), "::", stringify!(pointerFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sourceDevice as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagPOINTER_INFO), "::", stringify!(sourceDevice) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndTarget as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagPOINTER_INFO), "::", stringify!(hwndTarget) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptPixelLocation as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagPOINTER_INFO), "::", stringify!(ptPixelLocation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptHimetricLocation as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagPOINTER_INFO), "::", stringify!(ptHimetricLocation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptPixelLocationRaw as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagPOINTER_INFO), "::", stringify!(ptPixelLocationRaw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptHimetricLocationRaw as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagPOINTER_INFO), "::", stringify!(ptHimetricLocationRaw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTime as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagPOINTER_INFO), "::", stringify!(dwTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).historyCount as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(tagPOINTER_INFO), "::", stringify!(historyCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).InputData as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagPOINTER_INFO), "::", stringify!(InputData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwKeyStates as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagPOINTER_INFO), "::", stringify!(dwKeyStates) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PerformanceCount as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagPOINTER_INFO), "::", stringify!(PerformanceCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ButtonChangeType as *const _ 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() { 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::null::())).pointerInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPOINTER_TOUCH_INFO), "::", stringify!(pointerInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).touchFlags as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagPOINTER_TOUCH_INFO), "::", stringify!(touchFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).touchMask as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagPOINTER_TOUCH_INFO), "::", stringify!(touchMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcContact as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagPOINTER_TOUCH_INFO), "::", stringify!(rcContact) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcContactRaw as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(tagPOINTER_TOUCH_INFO), "::", stringify!(rcContactRaw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).orientation as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(tagPOINTER_TOUCH_INFO), "::", stringify!(orientation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pressure as *const _ 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() { 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::null::())).pointerInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPOINTER_PEN_INFO), "::", stringify!(pointerInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).penFlags as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagPOINTER_PEN_INFO), "::", stringify!(penFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).penMask as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagPOINTER_PEN_INFO), "::", stringify!(penMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pressure as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagPOINTER_PEN_INFO), "::", stringify!(pressure) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rotation as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(tagPOINTER_PEN_INFO), "::", stringify!(rotation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tiltX as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(tagPOINTER_PEN_INFO), "::", stringify!(tiltX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tiltY as *const _ 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() { 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::null::())).level as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagUSAGE_PROPERTIES), "::", stringify!(level) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).page as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagUSAGE_PROPERTIES), "::", stringify!(page) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usage as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagUSAGE_PROPERTIES), "::", stringify!(usage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).logicalMinimum as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagUSAGE_PROPERTIES), "::", stringify!(logicalMinimum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).logicalMaximum as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagUSAGE_PROPERTIES), "::", stringify!(logicalMaximum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).unit as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagUSAGE_PROPERTIES), "::", stringify!(unit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exponent as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(tagUSAGE_PROPERTIES), "::", stringify!(exponent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagUSAGE_PROPERTIES), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).physicalMinimum as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagUSAGE_PROPERTIES), "::", stringify!(physicalMinimum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).physicalMaximum as *const _ 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, _bindgen_union_align: [u64; 18usize], } #[test] fn bindgen_test_layout_tagPOINTER_TYPE_INFO__bindgen_ty_1() { 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::null::())).touchInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPOINTER_TYPE_INFO__bindgen_ty_1), "::", stringify!(touchInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).penInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPOINTER_TYPE_INFO__bindgen_ty_1), "::", stringify!(penInfo) ) ); } #[test] fn bindgen_test_layout_tagPOINTER_TYPE_INFO() { 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::null::())).type_ as *const _ 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() { 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::null::())).page as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagINPUT_INJECTION_VALUE), "::", stringify!(page) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usage as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagINPUT_INJECTION_VALUE), "::", stringify!(usage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).value as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagINPUT_INJECTION_VALUE), "::", stringify!(value) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).index as *const _ 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__() { 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::null::())).unused as *const _ 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() { 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::null::())).score as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION), "::", stringify!(score) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adjustedPoint as *const _ 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() { 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::null::())).pointerId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTOUCH_HIT_TESTING_INPUT), "::", stringify!(pointerId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).point as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagTOUCH_HIT_TESTING_INPUT), "::", stringify!(point) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).boundingBox as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagTOUCH_HIT_TESTING_INPUT), "::", stringify!(boundingBox) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nonOccludedBoundingBox as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagTOUCH_HIT_TESTING_INPUT), "::", stringify!(nonOccludedBoundingBox) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).orientation as *const _ 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], _bindgen_union_align: [u32; 16usize], } #[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() { 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::null::()))._11 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), "::", stringify!(_11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._12 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), "::", stringify!(_12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._13 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), "::", stringify!(_13) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._14 as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), "::", stringify!(_14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._21 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), "::", stringify!(_21) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._22 as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), "::", stringify!(_22) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._23 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), "::", stringify!(_23) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._24 as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), "::", stringify!(_24) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._31 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), "::", stringify!(_31) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._32 as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), "::", stringify!(_32) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._33 as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), "::", stringify!(_33) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._34 as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), "::", stringify!(_34) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._41 as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), "::", stringify!(_41) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._42 as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), "::", stringify!(_42) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._43 as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), "::", stringify!(_43) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._44 as *const _ 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() { 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::null::())).m as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagLASTINPUTINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTime as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTPMPARAMS), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcExclude as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMENUINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fMask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMENUINFO), "::", stringify!(fMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStyle as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMENUINFO), "::", stringify!(dwStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cyMax as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMENUINFO), "::", stringify!(cyMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbrBack as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMENUINFO), "::", stringify!(hbrBack) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwContextHelpID as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMENUINFO), "::", stringify!(dwContextHelpID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwMenuData as *const _ 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() { 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::null::())).dwFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMENUGETOBJECTINFO), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uPos as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMENUGETOBJECTINFO), "::", stringify!(uPos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hmenu as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMENUGETOBJECTINFO), "::", stringify!(hmenu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).riid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMENUGETOBJECTINFO), "::", stringify!(riid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pvObj as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fMask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOA), "::", stringify!(fMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOA), "::", stringify!(fType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fState as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOA), "::", stringify!(fState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wID as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOA), "::", stringify!(wID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hSubMenu as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOA), "::", stringify!(hSubMenu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbmpChecked as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOA), "::", stringify!(hbmpChecked) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbmpUnchecked as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOA), "::", stringify!(hbmpUnchecked) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwItemData as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOA), "::", stringify!(dwItemData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTypeData as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOA), "::", stringify!(dwTypeData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cch as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOA), "::", stringify!(cch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbmpItem as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fMask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOW), "::", stringify!(fMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOW), "::", stringify!(fType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fState as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOW), "::", stringify!(fState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wID as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOW), "::", stringify!(wID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hSubMenu as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOW), "::", stringify!(hSubMenu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbmpChecked as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOW), "::", stringify!(hbmpChecked) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbmpUnchecked as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOW), "::", stringify!(hbmpUnchecked) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwItemData as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOW), "::", stringify!(dwItemData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTypeData as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOW), "::", stringify!(dwTypeData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cch as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagMENUITEMINFOW), "::", stringify!(cch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbmpItem as *const _ 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() { 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::null::())).hwndSource as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDROPSTRUCT), "::", stringify!(hwndSource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndSink as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagDROPSTRUCT), "::", stringify!(hwndSink) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wFmt as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagDROPSTRUCT), "::", stringify!(wFmt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagDROPSTRUCT), "::", stringify!(dwData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptDrop as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagDROPSTRUCT), "::", stringify!(ptDrop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwControlData as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDRAWTEXTPARAMS), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iTabLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagDRAWTEXTPARAMS), "::", stringify!(iTabLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iLeftMargin as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagDRAWTEXTPARAMS), "::", stringify!(iLeftMargin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iRightMargin as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagDRAWTEXTPARAMS), "::", stringify!(iRightMargin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uiLengthDrawn as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagHELPINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iContextType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagHELPINFO), "::", stringify!(iContextType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iCtrlId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagHELPINFO), "::", stringify!(iCtrlId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hItemHandle as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagHELPINFO), "::", stringify!(hItemHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwContextId as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagHELPINFO), "::", stringify!(dwContextId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MousePos as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSA), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSA), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszText as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSA), "::", stringify!(lpszText) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszCaption as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSA), "::", stringify!(lpszCaption) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStyle as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSA), "::", stringify!(dwStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszIcon as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSA), "::", stringify!(lpszIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwContextHelpId as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSA), "::", stringify!(dwContextHelpId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnMsgBoxCallback as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSA), "::", stringify!(lpfnMsgBoxCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwLanguageId as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSW), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSW), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszText as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSW), "::", stringify!(lpszText) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszCaption as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSW), "::", stringify!(lpszCaption) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStyle as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSW), "::", stringify!(dwStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszIcon as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSW), "::", stringify!(lpszIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwContextHelpId as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSW), "::", stringify!(dwContextHelpId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnMsgBoxCallback as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagMSGBOXPARAMSW), "::", stringify!(lpfnMsgBoxCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwLanguageId as *const _ 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() { 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::null::())).versionNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(MENUITEMTEMPLATEHEADER), "::", stringify!(versionNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offset as *const _ 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() { 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::null::())).mtOption as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(MENUITEMTEMPLATE), "::", stringify!(mtOption) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mtID as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(MENUITEMTEMPLATE), "::", stringify!(mtID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mtString as *const _ 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() { 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::null::<_ICONINFO>())).fIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ICONINFO), "::", stringify!(fIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFO>())).xHotspot as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ICONINFO), "::", stringify!(xHotspot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFO>())).yHotspot as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ICONINFO), "::", stringify!(yHotspot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFO>())).hbmMask as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_ICONINFO), "::", stringify!(hbmMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFO>())).hbmColor as *const _ 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() { 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::null::())).xHotSpot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCURSORSHAPE), "::", stringify!(xHotSpot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).yHotSpot as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagCURSORSHAPE), "::", stringify!(yHotSpot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cx as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCURSORSHAPE), "::", stringify!(cx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cy as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagCURSORSHAPE), "::", stringify!(cy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbWidth as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCURSORSHAPE), "::", stringify!(cbWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Planes as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagCURSORSHAPE), "::", stringify!(Planes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BitsPixel as *const _ as usize }, 21usize, concat!( "Offset of field: ", stringify!(tagCURSORSHAPE), "::", stringify!(BitsPixel) ) ); } pub type CURSORSHAPE = tagCURSORSHAPE; pub type LPCURSORSHAPE = *mut tagCURSORSHAPE; extern "C" { pub fn LoadImageA( hInst: HINSTANCE, name: LPCSTR, type_: UINT, cx: ::std::os::raw::c_int, cy: ::std::os::raw::c_int, fuLoad: UINT, ) -> HANDLE; } extern "C" { pub fn LoadImageW( hInst: HINSTANCE, name: LPCWSTR, type_: UINT, cx: ::std::os::raw::c_int, cy: ::std::os::raw::c_int, fuLoad: UINT, ) -> HANDLE; } extern "C" { pub fn CopyImage( h: HANDLE, type_: UINT, cx: ::std::os::raw::c_int, cy: ::std::os::raw::c_int, flags: UINT, ) -> HANDLE; } extern "C" { pub fn DrawIconEx( hdc: HDC, xLeft: ::std::os::raw::c_int, yTop: ::std::os::raw::c_int, hIcon: HICON, cxWidth: ::std::os::raw::c_int, cyWidth: ::std::os::raw::c_int, istepIfAniCur: UINT, hbrFlickerFreeDraw: HBRUSH, diFlags: UINT, ) -> BOOL; } extern "C" { pub fn CreateIconIndirect(piconinfo: PICONINFO) -> HICON; } extern "C" { pub fn CopyIcon(hIcon: HICON) -> HICON; } extern "C" { pub fn GetIconInfo(hIcon: HICON, piconinfo: PICONINFO) -> BOOL; } #[repr(C)] #[derive(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() { 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::null::<_ICONINFOEXA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXA>())).fIcon as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXA), "::", stringify!(fIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXA>())).xHotspot as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXA), "::", stringify!(xHotspot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXA>())).yHotspot as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXA), "::", stringify!(yHotspot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXA>())).hbmMask as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXA), "::", stringify!(hbmMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXA>())).hbmColor as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXA), "::", stringify!(hbmColor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXA>())).wResID as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXA), "::", stringify!(wResID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXA>())).szModName as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXA), "::", stringify!(szModName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXA>())).szResName as *const _ as usize }, 294usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXA), "::", stringify!(szResName) ) ); } pub type ICONINFOEXA = _ICONINFOEXA; pub type PICONINFOEXA = *mut _ICONINFOEXA; #[repr(C)] #[derive(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() { 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::null::<_ICONINFOEXW>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXW>())).fIcon as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXW), "::", stringify!(fIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXW>())).xHotspot as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXW), "::", stringify!(xHotspot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXW>())).yHotspot as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXW), "::", stringify!(yHotspot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXW>())).hbmMask as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXW), "::", stringify!(hbmMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXW>())).hbmColor as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXW), "::", stringify!(hbmColor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXW>())).wResID as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXW), "::", stringify!(wResID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXW>())).szModName as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(_ICONINFOEXW), "::", stringify!(szModName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ICONINFOEXW>())).szResName as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSCROLLINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fMask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagSCROLLINFO), "::", stringify!(fMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMin as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagSCROLLINFO), "::", stringify!(nMin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMax as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagSCROLLINFO), "::", stringify!(nMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nPage as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagSCROLLINFO), "::", stringify!(nPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nPos as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagSCROLLINFO), "::", stringify!(nPos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nTrackPos as *const _ 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() { 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::null::())).szClass as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTA), "::", stringify!(szClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szTitle as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTA), "::", stringify!(szTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hOwner as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTA), "::", stringify!(hOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).x as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTA), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTA), "::", stringify!(y) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cx as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTA), "::", stringify!(cx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cy as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTA), "::", stringify!(cy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).style as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTA), "::", stringify!(style) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lParam as *const _ 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() { 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::null::())).szClass as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTW), "::", stringify!(szClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szTitle as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTW), "::", stringify!(szTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hOwner as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTW), "::", stringify!(hOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).x as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTW), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTW), "::", stringify!(y) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cx as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTW), "::", stringify!(cx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cy as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTW), "::", stringify!(cy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).style as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMDICREATESTRUCTW), "::", stringify!(style) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lParam as *const _ 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() { 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::null::())).hWindowMenu as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCLIENTCREATESTRUCT), "::", stringify!(hWindowMenu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).idFirstChild as *const _ 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() { 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::null::())).mkSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMULTIKEYHELPA), "::", stringify!(mkSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mkKeylist as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMULTIKEYHELPA), "::", stringify!(mkKeylist) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szKeyphrase as *const _ 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() { 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::null::())).mkSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMULTIKEYHELPW), "::", stringify!(mkSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mkKeylist as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMULTIKEYHELPW), "::", stringify!(mkKeylist) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szKeyphrase as *const _ 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() { 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::null::())).wStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagHELPWININFOA), "::", stringify!(wStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).x as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagHELPWININFOA), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagHELPWININFOA), "::", stringify!(y) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dx as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagHELPWININFOA), "::", stringify!(dx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dy as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagHELPWININFOA), "::", stringify!(dy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMax as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagHELPWININFOA), "::", stringify!(wMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgchMember as *const _ 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() { 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::null::())).wStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagHELPWININFOW), "::", stringify!(wStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).x as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagHELPWININFOW), "::", stringify!(x) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).y as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagHELPWININFOW), "::", stringify!(y) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dx as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagHELPWININFOW), "::", stringify!(dx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dy as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagHELPWININFOW), "::", stringify!(dy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMax as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagHELPWININFOW), "::", stringify!(wMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgchMember as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTouchPredictionParameters), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwLatency as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagTouchPredictionParameters), "::", stringify!(dwLatency) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSampleTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagTouchPredictionParameters), "::", stringify!(dwSampleTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bUseHWTimeStamp as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iBorderWidth as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSA), "::", stringify!(iBorderWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iScrollWidth as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSA), "::", stringify!(iScrollWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iScrollHeight as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSA), "::", stringify!(iScrollHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iCaptionWidth as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSA), "::", stringify!(iCaptionWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iCaptionHeight as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSA), "::", stringify!(iCaptionHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfCaptionFont as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSA), "::", stringify!(lfCaptionFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iSmCaptionWidth as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSA), "::", stringify!(iSmCaptionWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iSmCaptionHeight as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSA), "::", stringify!(iSmCaptionHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfSmCaptionFont as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSA), "::", stringify!(lfSmCaptionFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iMenuWidth as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSA), "::", stringify!(iMenuWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iMenuHeight as *const _ as usize }, 156usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSA), "::", stringify!(iMenuHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfMenuFont as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSA), "::", stringify!(lfMenuFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfStatusFont as *const _ as usize }, 220usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSA), "::", stringify!(lfStatusFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfMessageFont as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSA), "::", stringify!(lfMessageFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iPaddedBorderWidth as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iBorderWidth as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSW), "::", stringify!(iBorderWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iScrollWidth as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSW), "::", stringify!(iScrollWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iScrollHeight as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSW), "::", stringify!(iScrollHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iCaptionWidth as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSW), "::", stringify!(iCaptionWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iCaptionHeight as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSW), "::", stringify!(iCaptionHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfCaptionFont as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSW), "::", stringify!(lfCaptionFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iSmCaptionWidth as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSW), "::", stringify!(iSmCaptionWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iSmCaptionHeight as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSW), "::", stringify!(iSmCaptionHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfSmCaptionFont as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSW), "::", stringify!(lfSmCaptionFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iMenuWidth as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSW), "::", stringify!(iMenuWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iMenuHeight as *const _ as usize }, 220usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSW), "::", stringify!(iMenuHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfMenuFont as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSW), "::", stringify!(lfMenuFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfStatusFont as *const _ as usize }, 316usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSW), "::", stringify!(lfStatusFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfMessageFont as *const _ as usize }, 408usize, concat!( "Offset of field: ", stringify!(tagNONCLIENTMETRICSW), "::", stringify!(lfMessageFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iPaddedBorderWidth as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMINIMIZEDMETRICS), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iWidth as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMINIMIZEDMETRICS), "::", stringify!(iWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iHorzGap as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMINIMIZEDMETRICS), "::", stringify!(iHorzGap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iVertGap as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMINIMIZEDMETRICS), "::", stringify!(iVertGap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iArrange as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagICONMETRICSA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iHorzSpacing as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagICONMETRICSA), "::", stringify!(iHorzSpacing) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iVertSpacing as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagICONMETRICSA), "::", stringify!(iVertSpacing) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iTitleWrap as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagICONMETRICSA), "::", stringify!(iTitleWrap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfFont as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagICONMETRICSW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iHorzSpacing as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagICONMETRICSW), "::", stringify!(iHorzSpacing) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iVertSpacing as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagICONMETRICSW), "::", stringify!(iVertSpacing) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iTitleWrap as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagICONMETRICSW), "::", stringify!(iTitleWrap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lfFont as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagANIMATIONINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iMinAnimate as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSERIALKEYSA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagSERIALKEYSA), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszActivePort as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagSERIALKEYSA), "::", stringify!(lpszActivePort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszPort as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagSERIALKEYSA), "::", stringify!(lpszPort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iBaudRate as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagSERIALKEYSA), "::", stringify!(iBaudRate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iPortState as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagSERIALKEYSA), "::", stringify!(iPortState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iActive as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSERIALKEYSW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagSERIALKEYSW), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszActivePort as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagSERIALKEYSW), "::", stringify!(lpszActivePort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszPort as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagSERIALKEYSW), "::", stringify!(lpszPort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iBaudRate as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagSERIALKEYSW), "::", stringify!(iBaudRate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iPortState as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagSERIALKEYSW), "::", stringify!(iPortState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iActive as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagHIGHCONTRASTA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagHIGHCONTRASTA), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszDefaultScheme as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagHIGHCONTRASTW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagHIGHCONTRASTW), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszDefaultScheme as *const _ 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(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() { 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::null::<_VIDEOPARAMETERS>())).Guid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(Guid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwCommand as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwCommand) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwFlags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwMode as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwTVStandard as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwTVStandard) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwAvailableModes as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwAvailableModes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwAvailableTVStandard as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwAvailableTVStandard) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwFlickerFilter as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwFlickerFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwOverScanX as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwOverScanX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwOverScanY as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwOverScanY) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwMaxUnscaledX as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwMaxUnscaledX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwMaxUnscaledY as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwMaxUnscaledY) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwPositionX as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwPositionX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwPositionY as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwPositionY) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwBrightness as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwBrightness) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwContrast as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwContrast) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwCPType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwCPType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwCPCommand as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwCPCommand) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwCPStandard as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwCPStandard) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).dwCPKey as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(dwCPKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).bCP_APSTriggerBits as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_VIDEOPARAMETERS), "::", stringify!(bCP_APSTriggerBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIDEOPARAMETERS>())).bOEMCopyProtection as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagFILTERKEYS), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagFILTERKEYS), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iWaitMSec as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagFILTERKEYS), "::", stringify!(iWaitMSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iDelayMSec as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagFILTERKEYS), "::", stringify!(iDelayMSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iRepeatMSec as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagFILTERKEYS), "::", stringify!(iRepeatMSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iBounceMSec as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTICKYKEYS), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMOUSEKEYS), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMOUSEKEYS), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iMaxSpeed as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMOUSEKEYS), "::", stringify!(iMaxSpeed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iTimeToMaxSpeed as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMOUSEKEYS), "::", stringify!(iTimeToMaxSpeed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iCtrlSpeed as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMOUSEKEYS), "::", stringify!(iCtrlSpeed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReserved1 as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMOUSEKEYS), "::", stringify!(dwReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReserved2 as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagACCESSTIMEOUT), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagACCESSTIMEOUT), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iTimeOutMSec as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYA), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iFSTextEffect as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYA), "::", stringify!(iFSTextEffect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iFSTextEffectMSec as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYA), "::", stringify!(iFSTextEffectMSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iFSTextEffectColorBits as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYA), "::", stringify!(iFSTextEffectColorBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iFSGrafEffect as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYA), "::", stringify!(iFSGrafEffect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iFSGrafEffectMSec as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYA), "::", stringify!(iFSGrafEffectMSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iFSGrafEffectColor as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYA), "::", stringify!(iFSGrafEffectColor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iWindowsEffect as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYA), "::", stringify!(iWindowsEffect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iWindowsEffectMSec as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYA), "::", stringify!(iWindowsEffectMSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszWindowsEffectDLL as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYA), "::", stringify!(lpszWindowsEffectDLL) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iWindowsEffectOrdinal as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYW), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iFSTextEffect as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYW), "::", stringify!(iFSTextEffect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iFSTextEffectMSec as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYW), "::", stringify!(iFSTextEffectMSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iFSTextEffectColorBits as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYW), "::", stringify!(iFSTextEffectColorBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iFSGrafEffect as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYW), "::", stringify!(iFSGrafEffect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iFSGrafEffectMSec as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYW), "::", stringify!(iFSGrafEffectMSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iFSGrafEffectColor as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYW), "::", stringify!(iFSGrafEffectColor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iWindowsEffect as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYW), "::", stringify!(iWindowsEffect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iWindowsEffectMSec as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYW), "::", stringify!(iWindowsEffectMSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszWindowsEffectDLL as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagSOUNDSENTRYW), "::", stringify!(lpszWindowsEffectDLL) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iWindowsEffectOrdinal as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTOGGLEKEYS), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagAUDIODESCRIPTION), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Enabled as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagAUDIODESCRIPTION), "::", stringify!(Enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Locale as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMONITORINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcMonitor as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMONITORINFO), "::", stringify!(rcMonitor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcWork as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMONITORINFO), "::", stringify!(rcWork) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ 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() { 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::null::())).szDevice as *const _ 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() { 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::null::())).szDevice as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagGUITHREADINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagGUITHREADINFO), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndActive as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagGUITHREADINFO), "::", stringify!(hwndActive) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndFocus as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagGUITHREADINFO), "::", stringify!(hwndFocus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndCapture as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagGUITHREADINFO), "::", stringify!(hwndCapture) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndMenuOwner as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagGUITHREADINFO), "::", stringify!(hwndMenuOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndMoveSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagGUITHREADINFO), "::", stringify!(hwndMoveSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndCaret as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagGUITHREADINFO), "::", stringify!(hwndCaret) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcCaret as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCURSORINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagCURSORINFO), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hCursor as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCURSORINFO), "::", stringify!(hCursor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptScreenPos as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWINDOWINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcWindow as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagWINDOWINFO), "::", stringify!(rcWindow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcClient as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagWINDOWINFO), "::", stringify!(rcClient) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStyle as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagWINDOWINFO), "::", stringify!(dwStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwExStyle as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagWINDOWINFO), "::", stringify!(dwExStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwWindowStatus as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagWINDOWINFO), "::", stringify!(dwWindowStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cxWindowBorders as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagWINDOWINFO), "::", stringify!(cxWindowBorders) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cyWindowBorders as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagWINDOWINFO), "::", stringify!(cyWindowBorders) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).atomWindowType as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagWINDOWINFO), "::", stringify!(atomWindowType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wCreatorVersion as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTITLEBARINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcTitleBar as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagTITLEBARINFO), "::", stringify!(rcTitleBar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgstate as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTITLEBARINFOEX), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcTitleBar as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagTITLEBARINFOEX), "::", stringify!(rcTitleBar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgstate as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagTITLEBARINFOEX), "::", stringify!(rgstate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgrect as *const _ 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_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, pub __bindgen_padding_0: [u8; 7usize], } #[test] fn bindgen_test_layout_tagMENUBARINFO() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMENUBARINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcBar as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMENUBARINFO), "::", stringify!(rcBar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hMenu as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMENUBARINFO), "::", stringify!(hMenu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndMenu as *const _ 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 new_bitfield_1( fBarFocused: BOOL, fFocused: BOOL, ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = 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 } } 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSCROLLBARINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcScrollBar as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagSCROLLBARINFO), "::", stringify!(rcScrollBar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dxyLineButton as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagSCROLLBARINFO), "::", stringify!(dxyLineButton) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xyThumbTop as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagSCROLLBARINFO), "::", stringify!(xyThumbTop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xyThumbBottom as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagSCROLLBARINFO), "::", stringify!(xyThumbBottom) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagSCROLLBARINFO), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgstate as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCOMBOBOXINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcItem as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagCOMBOBOXINFO), "::", stringify!(rcItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcButton as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagCOMBOBOXINFO), "::", stringify!(rcButton) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).stateButton as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagCOMBOBOXINFO), "::", stringify!(stateButton) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndCombo as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagCOMBOBOXINFO), "::", stringify!(hwndCombo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndItem as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagCOMBOBOXINFO), "::", stringify!(hwndItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndList as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagALTTABINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cItems as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagALTTABINFO), "::", stringify!(cItems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cColumns as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagALTTABINFO), "::", stringify!(cColumns) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cRows as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagALTTABINFO), "::", stringify!(cRows) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iColFocus as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagALTTABINFO), "::", stringify!(iColFocus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iRowFocus as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagALTTABINFO), "::", stringify!(iRowFocus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cxItem as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagALTTABINFO), "::", stringify!(cxItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cyItem as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagALTTABINFO), "::", stringify!(cyItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptStart as *const _ 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__() { 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::null::())).unused as *const _ 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() { 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::null::())).dwType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRAWINPUTHEADER), "::", stringify!(dwType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRAWINPUTHEADER), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDevice as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRAWINPUTHEADER), "::", stringify!(hDevice) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wParam as *const _ 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, _bindgen_union_align: u32, } #[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() { 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::null::())).usButtonFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRAWMOUSE__bindgen_ty_1__bindgen_ty_1), "::", stringify!(usButtonFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usButtonData as *const _ 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() { 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::null::())).ulButtons as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRAWMOUSE__bindgen_ty_1), "::", stringify!(ulButtons) ) ); } #[test] fn bindgen_test_layout_tagRAWMOUSE() { 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::null::())).usFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRAWMOUSE), "::", stringify!(usFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulRawButtons as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRAWMOUSE), "::", stringify!(ulRawButtons) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lLastX as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagRAWMOUSE), "::", stringify!(lLastX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lLastY as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagRAWMOUSE), "::", stringify!(lLastY) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulExtraInformation as *const _ 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() { 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::null::())).MakeCode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRAWKEYBOARD), "::", stringify!(MakeCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagRAWKEYBOARD), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRAWKEYBOARD), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).VKey as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(tagRAWKEYBOARD), "::", stringify!(VKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Message as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRAWKEYBOARD), "::", stringify!(Message) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ExtraInformation as *const _ 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() { 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::null::())).dwSizeHid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRAWHID), "::", stringify!(dwSizeHid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRAWHID), "::", stringify!(dwCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bRawData as *const _ 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, _bindgen_union_align: [u32; 6usize], } #[test] fn bindgen_test_layout_tagRAWINPUT__bindgen_ty_1() { 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::null::())).mouse as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRAWINPUT__bindgen_ty_1), "::", stringify!(mouse) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).keyboard as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRAWINPUT__bindgen_ty_1), "::", stringify!(keyboard) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRAWINPUT__bindgen_ty_1), "::", stringify!(hid) ) ); } #[test] fn bindgen_test_layout_tagRAWINPUT() { 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::null::())).header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRAWINPUT), "::", stringify!(header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ 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() { 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::null::())).dwId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO_MOUSE), "::", stringify!(dwId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwNumberOfButtons as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO_MOUSE), "::", stringify!(dwNumberOfButtons) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSampleRate as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO_MOUSE), "::", stringify!(dwSampleRate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fHasHorizontalWheel as *const _ 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() { 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::null::())).dwType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO_KEYBOARD), "::", stringify!(dwType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSubType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO_KEYBOARD), "::", stringify!(dwSubType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwKeyboardMode as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO_KEYBOARD), "::", stringify!(dwKeyboardMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwNumberOfFunctionKeys as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO_KEYBOARD), "::", stringify!(dwNumberOfFunctionKeys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwNumberOfIndicators as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO_KEYBOARD), "::", stringify!(dwNumberOfIndicators) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwNumberOfKeysTotal as *const _ 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() { 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::null::())).dwVendorId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO_HID), "::", stringify!(dwVendorId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwProductId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO_HID), "::", stringify!(dwProductId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwVersionNumber as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO_HID), "::", stringify!(dwVersionNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usUsagePage as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO_HID), "::", stringify!(usUsagePage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usUsage as *const _ 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, _bindgen_union_align: [u32; 6usize], } #[test] fn bindgen_test_layout_tagRID_DEVICE_INFO__bindgen_ty_1() { 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::null::())).mouse as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO__bindgen_ty_1), "::", stringify!(mouse) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).keyboard as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO__bindgen_ty_1), "::", stringify!(keyboard) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO__bindgen_ty_1), "::", stringify!(hid) ) ); } #[test] fn bindgen_test_layout_tagRID_DEVICE_INFO() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRID_DEVICE_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwType as *const _ 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() { 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::null::())).usUsagePage as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRAWINPUTDEVICE), "::", stringify!(usUsagePage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usUsage as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagRAWINPUTDEVICE), "::", stringify!(usUsage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRAWINPUTDEVICE), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndTarget as *const _ 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() { 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::null::())).hDevice as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRAWINPUTDEVICELIST), "::", stringify!(hDevice) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwType as *const _ 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(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() { 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::null::())).displayOrientation as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPOINTER_DEVICE_INFO), "::", stringify!(displayOrientation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).device as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagPOINTER_DEVICE_INFO), "::", stringify!(device) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pointerDeviceType as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagPOINTER_DEVICE_INFO), "::", stringify!(pointerDeviceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).monitor as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagPOINTER_DEVICE_INFO), "::", stringify!(monitor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).startingCursorId as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagPOINTER_DEVICE_INFO), "::", stringify!(startingCursorId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).maxActiveContacts as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagPOINTER_DEVICE_INFO), "::", stringify!(maxActiveContacts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).productString as *const _ 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() { 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::null::())).logicalMin as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPOINTER_DEVICE_PROPERTY), "::", stringify!(logicalMin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).logicalMax as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagPOINTER_DEVICE_PROPERTY), "::", stringify!(logicalMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).physicalMin as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagPOINTER_DEVICE_PROPERTY), "::", stringify!(physicalMin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).physicalMax as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagPOINTER_DEVICE_PROPERTY), "::", stringify!(physicalMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).unit as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagPOINTER_DEVICE_PROPERTY), "::", stringify!(unit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).unitExponent as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagPOINTER_DEVICE_PROPERTY), "::", stringify!(unitExponent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usagePageId as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagPOINTER_DEVICE_PROPERTY), "::", stringify!(usagePageId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usageId as *const _ 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() { 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::null::())).cursorId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPOINTER_DEVICE_CURSOR_INFO), "::", stringify!(cursorId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cursor as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCHANGEFILTERSTRUCT), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ExtStatus as *const _ 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__() { 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::null::())).unused as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagGESTUREINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagGESTUREINFO), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagGESTUREINFO), "::", stringify!(dwID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndTarget as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagGESTUREINFO), "::", stringify!(hwndTarget) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptsLocation as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagGESTUREINFO), "::", stringify!(ptsLocation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwInstanceID as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagGESTUREINFO), "::", stringify!(dwInstanceID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSequenceID as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagGESTUREINFO), "::", stringify!(dwSequenceID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ullArguments as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagGESTUREINFO), "::", stringify!(ullArguments) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbExtraArgs as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagGESTURENOTIFYSTRUCT), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagGESTURENOTIFYSTRUCT), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndTarget as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagGESTURENOTIFYSTRUCT), "::", stringify!(hwndTarget) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptsLocation as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagGESTURENOTIFYSTRUCT), "::", stringify!(ptsLocation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwInstanceID as *const _ 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() { 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::null::())).dwID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagGESTURECONFIG), "::", stringify!(dwID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwWant as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagGESTURECONFIG), "::", stringify!(dwWant) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwBlock as *const _ 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() { 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::null::())).deviceType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagINPUT_MESSAGE_SOURCE), "::", stringify!(deviceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).originId as *const _ 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() { 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::null::<_cpinfo>())).MaxCharSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_cpinfo), "::", stringify!(MaxCharSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_cpinfo>())).DefaultChar as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_cpinfo), "::", stringify!(DefaultChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_cpinfo>())).LeadByte as *const _ 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(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() { 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::null::<_cpinfoexA>())).MaxCharSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_cpinfoexA), "::", stringify!(MaxCharSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_cpinfoexA>())).DefaultChar as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_cpinfoexA), "::", stringify!(DefaultChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_cpinfoexA>())).LeadByte as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_cpinfoexA), "::", stringify!(LeadByte) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_cpinfoexA>())).UnicodeDefaultChar as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(_cpinfoexA), "::", stringify!(UnicodeDefaultChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_cpinfoexA>())).CodePage as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_cpinfoexA), "::", stringify!(CodePage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_cpinfoexA>())).CodePageName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_cpinfoexA), "::", stringify!(CodePageName) ) ); } pub type CPINFOEXA = _cpinfoexA; pub type LPCPINFOEXA = *mut _cpinfoexA; #[repr(C)] #[derive(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() { 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::null::<_cpinfoexW>())).MaxCharSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_cpinfoexW), "::", stringify!(MaxCharSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_cpinfoexW>())).DefaultChar as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_cpinfoexW), "::", stringify!(DefaultChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_cpinfoexW>())).LeadByte as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_cpinfoexW), "::", stringify!(LeadByte) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_cpinfoexW>())).UnicodeDefaultChar as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(_cpinfoexW), "::", stringify!(UnicodeDefaultChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_cpinfoexW>())).CodePage as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_cpinfoexW), "::", stringify!(CodePage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_cpinfoexW>())).CodePageName as *const _ 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() { 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::null::<_numberfmtA>())).NumDigits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_numberfmtA), "::", stringify!(NumDigits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_numberfmtA>())).LeadingZero as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_numberfmtA), "::", stringify!(LeadingZero) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_numberfmtA>())).Grouping as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_numberfmtA), "::", stringify!(Grouping) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_numberfmtA>())).lpDecimalSep as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_numberfmtA), "::", stringify!(lpDecimalSep) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_numberfmtA>())).lpThousandSep as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_numberfmtA), "::", stringify!(lpThousandSep) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_numberfmtA>())).NegativeOrder as *const _ 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() { 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::null::<_numberfmtW>())).NumDigits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_numberfmtW), "::", stringify!(NumDigits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_numberfmtW>())).LeadingZero as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_numberfmtW), "::", stringify!(LeadingZero) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_numberfmtW>())).Grouping as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_numberfmtW), "::", stringify!(Grouping) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_numberfmtW>())).lpDecimalSep as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_numberfmtW), "::", stringify!(lpDecimalSep) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_numberfmtW>())).lpThousandSep as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_numberfmtW), "::", stringify!(lpThousandSep) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_numberfmtW>())).NegativeOrder as *const _ 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() { 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::null::<_currencyfmtA>())).NumDigits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_currencyfmtA), "::", stringify!(NumDigits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_currencyfmtA>())).LeadingZero as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_currencyfmtA), "::", stringify!(LeadingZero) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_currencyfmtA>())).Grouping as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_currencyfmtA), "::", stringify!(Grouping) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_currencyfmtA>())).lpDecimalSep as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_currencyfmtA), "::", stringify!(lpDecimalSep) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_currencyfmtA>())).lpThousandSep as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_currencyfmtA), "::", stringify!(lpThousandSep) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_currencyfmtA>())).NegativeOrder as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_currencyfmtA), "::", stringify!(NegativeOrder) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_currencyfmtA>())).PositiveOrder as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_currencyfmtA), "::", stringify!(PositiveOrder) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_currencyfmtA>())).lpCurrencySymbol as *const _ 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() { 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::null::<_currencyfmtW>())).NumDigits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_currencyfmtW), "::", stringify!(NumDigits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_currencyfmtW>())).LeadingZero as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_currencyfmtW), "::", stringify!(LeadingZero) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_currencyfmtW>())).Grouping as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_currencyfmtW), "::", stringify!(Grouping) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_currencyfmtW>())).lpDecimalSep as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_currencyfmtW), "::", stringify!(lpDecimalSep) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_currencyfmtW>())).lpThousandSep as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_currencyfmtW), "::", stringify!(lpThousandSep) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_currencyfmtW>())).NegativeOrder as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_currencyfmtW), "::", stringify!(NegativeOrder) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_currencyfmtW>())).PositiveOrder as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_currencyfmtW), "::", stringify!(PositiveOrder) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_currencyfmtW>())).lpCurrencySymbol as *const _ 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() { 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::null::<_nlsversioninfo>())).dwNLSVersionInfoSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_nlsversioninfo), "::", stringify!(dwNLSVersionInfoSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_nlsversioninfo>())).dwNLSVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_nlsversioninfo), "::", stringify!(dwNLSVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_nlsversioninfo>())).dwDefinedVersion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_nlsversioninfo), "::", stringify!(dwDefinedVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_nlsversioninfo>())).dwEffectiveId as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_nlsversioninfo), "::", stringify!(dwEffectiveId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_nlsversioninfo>())).guidCustomVersion as *const _ 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() { 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::null::<_nlsversioninfoex>())).dwNLSVersionInfoSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_nlsversioninfoex), "::", stringify!(dwNLSVersionInfoSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_nlsversioninfoex>())).dwNLSVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_nlsversioninfoex), "::", stringify!(dwNLSVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_nlsversioninfoex>())).dwDefinedVersion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_nlsversioninfoex), "::", stringify!(dwDefinedVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_nlsversioninfoex>())).dwEffectiveId as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_nlsversioninfoex), "::", stringify!(dwEffectiveId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_nlsversioninfoex>())).guidCustomVersion as *const _ 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 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 LOCALE_ENUMPROCA = ::std::option::Option BOOL>; pub type LOCALE_ENUMPROCW = ::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() { 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::null::<_FILEMUIINFO>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILEMUIINFO), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILEMUIINFO>())).dwVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILEMUIINFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILEMUIINFO>())).dwFileType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILEMUIINFO), "::", stringify!(dwFileType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILEMUIINFO>())).pChecksum as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_FILEMUIINFO), "::", stringify!(pChecksum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILEMUIINFO>())).pServiceChecksum as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_FILEMUIINFO), "::", stringify!(pServiceChecksum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILEMUIINFO>())).dwLanguageNameOffset as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_FILEMUIINFO), "::", stringify!(dwLanguageNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILEMUIINFO>())).dwTypeIDMainSize as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_FILEMUIINFO), "::", stringify!(dwTypeIDMainSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILEMUIINFO>())).dwTypeIDMainOffset as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_FILEMUIINFO), "::", stringify!(dwTypeIDMainOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILEMUIINFO>())).dwTypeNameMainOffset as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_FILEMUIINFO), "::", stringify!(dwTypeNameMainOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILEMUIINFO>())).dwTypeIDMUISize as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_FILEMUIINFO), "::", stringify!(dwTypeIDMUISize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILEMUIINFO>())).dwTypeIDMUIOffset as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_FILEMUIINFO), "::", stringify!(dwTypeIDMUIOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILEMUIINFO>())).dwTypeNameMUIOffset as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_FILEMUIINFO), "::", stringify!(dwTypeNameMUIOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILEMUIINFO>())).abBuffer as *const _ 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; } 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() { 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::null::<_COORD>())).X as *const _ as usize }, 0usize, concat!("Offset of field: ", stringify!(_COORD), "::", stringify!(X)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COORD>())).Y as *const _ 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() { 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::null::<_SMALL_RECT>())).Left as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SMALL_RECT), "::", stringify!(Left) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SMALL_RECT>())).Top as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_SMALL_RECT), "::", stringify!(Top) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SMALL_RECT>())).Right as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SMALL_RECT), "::", stringify!(Right) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SMALL_RECT>())).Bottom as *const _ 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, _bindgen_union_align: u16, } #[test] fn bindgen_test_layout__KEY_EVENT_RECORD__bindgen_ty_1() { 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::null::<_KEY_EVENT_RECORD__bindgen_ty_1>())).UnicodeChar as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_KEY_EVENT_RECORD__bindgen_ty_1), "::", stringify!(UnicodeChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KEY_EVENT_RECORD__bindgen_ty_1>())).AsciiChar as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_KEY_EVENT_RECORD__bindgen_ty_1), "::", stringify!(AsciiChar) ) ); } #[test] fn bindgen_test_layout__KEY_EVENT_RECORD() { 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::null::<_KEY_EVENT_RECORD>())).bKeyDown as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_KEY_EVENT_RECORD), "::", stringify!(bKeyDown) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KEY_EVENT_RECORD>())).wRepeatCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_KEY_EVENT_RECORD), "::", stringify!(wRepeatCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KEY_EVENT_RECORD>())).wVirtualKeyCode as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_KEY_EVENT_RECORD), "::", stringify!(wVirtualKeyCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KEY_EVENT_RECORD>())).wVirtualScanCode as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_KEY_EVENT_RECORD), "::", stringify!(wVirtualScanCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KEY_EVENT_RECORD>())).uChar as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_KEY_EVENT_RECORD), "::", stringify!(uChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KEY_EVENT_RECORD>())).dwControlKeyState as *const _ 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() { 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::null::<_MOUSE_EVENT_RECORD>())).dwMousePosition as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MOUSE_EVENT_RECORD), "::", stringify!(dwMousePosition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MOUSE_EVENT_RECORD>())).dwButtonState as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_MOUSE_EVENT_RECORD), "::", stringify!(dwButtonState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MOUSE_EVENT_RECORD>())).dwControlKeyState as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MOUSE_EVENT_RECORD), "::", stringify!(dwControlKeyState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MOUSE_EVENT_RECORD>())).dwEventFlags as *const _ 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() { 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::null::<_WINDOW_BUFFER_SIZE_RECORD>())).dwSize as *const _ 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() { 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::null::<_MENU_EVENT_RECORD>())).dwCommandId as *const _ 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() { 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::null::<_FOCUS_EVENT_RECORD>())).bSetFocus as *const _ 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, _bindgen_union_align: [u32; 4usize], } #[test] fn bindgen_test_layout__INPUT_RECORD__bindgen_ty_1() { 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::null::<_INPUT_RECORD__bindgen_ty_1>())).KeyEvent as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_INPUT_RECORD__bindgen_ty_1), "::", stringify!(KeyEvent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_INPUT_RECORD__bindgen_ty_1>())).MouseEvent as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_INPUT_RECORD__bindgen_ty_1), "::", stringify!(MouseEvent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_INPUT_RECORD__bindgen_ty_1>())).WindowBufferSizeEvent as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_INPUT_RECORD__bindgen_ty_1), "::", stringify!(WindowBufferSizeEvent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_INPUT_RECORD__bindgen_ty_1>())).MenuEvent as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_INPUT_RECORD__bindgen_ty_1), "::", stringify!(MenuEvent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_INPUT_RECORD__bindgen_ty_1>())).FocusEvent as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_INPUT_RECORD__bindgen_ty_1), "::", stringify!(FocusEvent) ) ); } #[test] fn bindgen_test_layout__INPUT_RECORD() { 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::null::<_INPUT_RECORD>())).EventType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_INPUT_RECORD), "::", stringify!(EventType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_INPUT_RECORD>())).Event as *const _ 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, _bindgen_union_align: u16, } #[test] fn bindgen_test_layout__CHAR_INFO__bindgen_ty_1() { 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::null::<_CHAR_INFO__bindgen_ty_1>())).UnicodeChar as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CHAR_INFO__bindgen_ty_1), "::", stringify!(UnicodeChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHAR_INFO__bindgen_ty_1>())).AsciiChar as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CHAR_INFO__bindgen_ty_1), "::", stringify!(AsciiChar) ) ); } #[test] fn bindgen_test_layout__CHAR_INFO() { 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::null::<_CHAR_INFO>())).Char as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CHAR_INFO), "::", stringify!(Char) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHAR_INFO>())).Attributes as *const _ 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() { 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::null::<_CONSOLE_FONT_INFO>())).nFont as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CONSOLE_FONT_INFO), "::", stringify!(nFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_FONT_INFO>())).dwFontSize as *const _ 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() { 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::null::<_CONSOLE_READCONSOLE_CONTROL>())).nLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CONSOLE_READCONSOLE_CONTROL), "::", stringify!(nLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_READCONSOLE_CONTROL>())).nInitialChars as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CONSOLE_READCONSOLE_CONTROL), "::", stringify!(nInitialChars) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_READCONSOLE_CONTROL>())).dwCtrlWakeupMask as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CONSOLE_READCONSOLE_CONTROL), "::", stringify!(dwCtrlWakeupMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_READCONSOLE_CONTROL>())).dwControlKeyState as *const _ 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() { 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::null::<_CONSOLE_CURSOR_INFO>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CONSOLE_CURSOR_INFO), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_CURSOR_INFO>())).bVisible as *const _ 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() { 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::null::<_CONSOLE_SCREEN_BUFFER_INFO>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFO), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_SCREEN_BUFFER_INFO>())).dwCursorPosition as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFO), "::", stringify!(dwCursorPosition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_SCREEN_BUFFER_INFO>())).wAttributes as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFO), "::", stringify!(wAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_SCREEN_BUFFER_INFO>())).srWindow as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFO), "::", stringify!(srWindow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_SCREEN_BUFFER_INFO>())).dwMaximumWindowSize as *const _ 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() { 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::null::<_CONSOLE_SCREEN_BUFFER_INFOEX>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_SCREEN_BUFFER_INFOEX>())).dwSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_SCREEN_BUFFER_INFOEX>())).dwCursorPosition as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), "::", stringify!(dwCursorPosition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_SCREEN_BUFFER_INFOEX>())).wAttributes as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), "::", stringify!(wAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_SCREEN_BUFFER_INFOEX>())).srWindow as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), "::", stringify!(srWindow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_SCREEN_BUFFER_INFOEX>())).dwMaximumWindowSize as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), "::", stringify!(dwMaximumWindowSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_SCREEN_BUFFER_INFOEX>())).wPopupAttributes as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), "::", stringify!(wPopupAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_SCREEN_BUFFER_INFOEX>())).bFullscreenSupported as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), "::", stringify!(bFullscreenSupported) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_SCREEN_BUFFER_INFOEX>())).ColorTable as *const _ 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() { 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::null::<_CONSOLE_FONT_INFOEX>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CONSOLE_FONT_INFOEX), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_FONT_INFOEX>())).nFont as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CONSOLE_FONT_INFOEX), "::", stringify!(nFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_FONT_INFOEX>())).dwFontSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CONSOLE_FONT_INFOEX), "::", stringify!(dwFontSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_FONT_INFOEX>())).FontFamily as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CONSOLE_FONT_INFOEX), "::", stringify!(FontFamily) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_FONT_INFOEX>())).FontWeight as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CONSOLE_FONT_INFOEX), "::", stringify!(FontWeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_FONT_INFOEX>())).FaceName as *const _ 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() { 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::null::<_CONSOLE_SELECTION_INFO>())).dwFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CONSOLE_SELECTION_INFO), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_SELECTION_INFO>())).dwSelectionAnchor as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CONSOLE_SELECTION_INFO), "::", stringify!(dwSelectionAnchor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_SELECTION_INFO>())).srSelection as *const _ 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() { 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::null::<_CONSOLE_HISTORY_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CONSOLE_HISTORY_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_HISTORY_INFO>())).HistoryBufferSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CONSOLE_HISTORY_INFO), "::", stringify!(HistoryBufferSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_HISTORY_INFO>())).NumberOfHistoryBuffers as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CONSOLE_HISTORY_INFO), "::", stringify!(NumberOfHistoryBuffers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONSOLE_HISTORY_INFO>())).dwFlags as *const _ 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() { 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::null::())).dwSignature as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagVS_FIXEDFILEINFO), "::", stringify!(dwSignature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStrucVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagVS_FIXEDFILEINFO), "::", stringify!(dwStrucVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFileVersionMS as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagVS_FIXEDFILEINFO), "::", stringify!(dwFileVersionMS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFileVersionLS as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagVS_FIXEDFILEINFO), "::", stringify!(dwFileVersionLS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwProductVersionMS as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagVS_FIXEDFILEINFO), "::", stringify!(dwProductVersionMS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwProductVersionLS as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagVS_FIXEDFILEINFO), "::", stringify!(dwProductVersionLS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFileFlagsMask as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagVS_FIXEDFILEINFO), "::", stringify!(dwFileFlagsMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFileFlags as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagVS_FIXEDFILEINFO), "::", stringify!(dwFileFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFileOS as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagVS_FIXEDFILEINFO), "::", stringify!(dwFileOS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFileType as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagVS_FIXEDFILEINFO), "::", stringify!(dwFileType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFileSubtype as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagVS_FIXEDFILEINFO), "::", stringify!(dwFileSubtype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFileDateMS as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagVS_FIXEDFILEINFO), "::", stringify!(dwFileDateMS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFileDateLS as *const _ 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() { 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::null::())).valuelen as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(val_context), "::", stringify!(valuelen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).value_context as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(val_context), "::", stringify!(value_context) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).val_buff_ptr as *const _ 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() { 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::null::())).pv_valuename as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(pvalueA), "::", stringify!(pv_valuename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pv_valuelen as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(pvalueA), "::", stringify!(pv_valuelen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pv_value_context as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(pvalueA), "::", stringify!(pv_value_context) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pv_type as *const _ 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() { 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::null::())).pv_valuename as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(pvalueW), "::", stringify!(pv_valuename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pv_valuelen as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(pvalueW), "::", stringify!(pv_valuelen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pv_value_context as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(pvalueW), "::", stringify!(pv_value_context) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pv_type as *const _ 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() { 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::null::())).pi_R0_1val as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(provider_info), "::", stringify!(pi_R0_1val) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pi_R0_allvals as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(provider_info), "::", stringify!(pi_R0_allvals) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pi_R3_1val as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(provider_info), "::", stringify!(pi_R3_1val) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pi_R3_allvals as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(provider_info), "::", stringify!(pi_R3_allvals) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pi_flags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(provider_info), "::", stringify!(pi_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pi_key_context as *const _ 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() { 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::null::())).ve_valuename as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(value_entA), "::", stringify!(ve_valuename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ve_valuelen as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(value_entA), "::", stringify!(ve_valuelen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ve_valueptr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(value_entA), "::", stringify!(ve_valueptr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ve_type as *const _ 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() { 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::null::())).ve_valuename as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(value_entW), "::", stringify!(ve_valuename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ve_valuelen as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(value_entW), "::", stringify!(ve_valuelen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ve_valueptr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(value_entW), "::", stringify!(ve_valueptr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ve_type as *const _ 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() { 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::null::<_NETRESOURCEA>())).dwScope as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NETRESOURCEA), "::", stringify!(dwScope) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETRESOURCEA>())).dwType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NETRESOURCEA), "::", stringify!(dwType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETRESOURCEA>())).dwDisplayType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NETRESOURCEA), "::", stringify!(dwDisplayType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETRESOURCEA>())).dwUsage as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_NETRESOURCEA), "::", stringify!(dwUsage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETRESOURCEA>())).lpLocalName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NETRESOURCEA), "::", stringify!(lpLocalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETRESOURCEA>())).lpRemoteName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NETRESOURCEA), "::", stringify!(lpRemoteName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETRESOURCEA>())).lpComment as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_NETRESOURCEA), "::", stringify!(lpComment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETRESOURCEA>())).lpProvider as *const _ 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() { 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::null::<_NETRESOURCEW>())).dwScope as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NETRESOURCEW), "::", stringify!(dwScope) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETRESOURCEW>())).dwType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NETRESOURCEW), "::", stringify!(dwType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETRESOURCEW>())).dwDisplayType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NETRESOURCEW), "::", stringify!(dwDisplayType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETRESOURCEW>())).dwUsage as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_NETRESOURCEW), "::", stringify!(dwUsage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETRESOURCEW>())).lpLocalName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NETRESOURCEW), "::", stringify!(lpLocalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETRESOURCEW>())).lpRemoteName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NETRESOURCEW), "::", stringify!(lpRemoteName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETRESOURCEW>())).lpComment as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_NETRESOURCEW), "::", stringify!(lpComment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETRESOURCEW>())).lpProvider as *const _ 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 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 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() { 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::null::<_CONNECTDLGSTRUCTA>())).cbStructure as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CONNECTDLGSTRUCTA), "::", stringify!(cbStructure) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONNECTDLGSTRUCTA>())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CONNECTDLGSTRUCTA), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONNECTDLGSTRUCTA>())).lpConnRes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CONNECTDLGSTRUCTA), "::", stringify!(lpConnRes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONNECTDLGSTRUCTA>())).dwFlags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CONNECTDLGSTRUCTA), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONNECTDLGSTRUCTA>())).dwDevNum as *const _ 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() { 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::null::<_CONNECTDLGSTRUCTW>())).cbStructure as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CONNECTDLGSTRUCTW), "::", stringify!(cbStructure) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONNECTDLGSTRUCTW>())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CONNECTDLGSTRUCTW), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONNECTDLGSTRUCTW>())).lpConnRes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CONNECTDLGSTRUCTW), "::", stringify!(lpConnRes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONNECTDLGSTRUCTW>())).dwFlags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CONNECTDLGSTRUCTW), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONNECTDLGSTRUCTW>())).dwDevNum as *const _ 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() { 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::null::<_DISCDLGSTRUCTA>())).cbStructure as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISCDLGSTRUCTA), "::", stringify!(cbStructure) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISCDLGSTRUCTA>())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DISCDLGSTRUCTA), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISCDLGSTRUCTA>())).lpLocalName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DISCDLGSTRUCTA), "::", stringify!(lpLocalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISCDLGSTRUCTA>())).lpRemoteName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DISCDLGSTRUCTA), "::", stringify!(lpRemoteName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISCDLGSTRUCTA>())).dwFlags as *const _ 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() { 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::null::<_DISCDLGSTRUCTW>())).cbStructure as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISCDLGSTRUCTW), "::", stringify!(cbStructure) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISCDLGSTRUCTW>())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DISCDLGSTRUCTW), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISCDLGSTRUCTW>())).lpLocalName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DISCDLGSTRUCTW), "::", stringify!(lpLocalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISCDLGSTRUCTW>())).lpRemoteName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DISCDLGSTRUCTW), "::", stringify!(lpRemoteName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISCDLGSTRUCTW>())).dwFlags as *const _ 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() { 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::null::<_UNIVERSAL_NAME_INFOA>())).lpUniversalName as *const _ 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() { 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::null::<_UNIVERSAL_NAME_INFOW>())).lpUniversalName as *const _ 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() { 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::null::<_REMOTE_NAME_INFOA>())).lpUniversalName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REMOTE_NAME_INFOA), "::", stringify!(lpUniversalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REMOTE_NAME_INFOA>())).lpConnectionName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_REMOTE_NAME_INFOA), "::", stringify!(lpConnectionName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REMOTE_NAME_INFOA>())).lpRemainingPath as *const _ 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() { 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::null::<_REMOTE_NAME_INFOW>())).lpUniversalName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REMOTE_NAME_INFOW), "::", stringify!(lpUniversalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REMOTE_NAME_INFOW>())).lpConnectionName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_REMOTE_NAME_INFOW), "::", stringify!(lpConnectionName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REMOTE_NAME_INFOW>())).lpRemainingPath as *const _ 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() { 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::null::<_NETINFOSTRUCT>())).cbStructure as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NETINFOSTRUCT), "::", stringify!(cbStructure) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETINFOSTRUCT>())).dwProviderVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NETINFOSTRUCT), "::", stringify!(dwProviderVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETINFOSTRUCT>())).dwStatus as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NETINFOSTRUCT), "::", stringify!(dwStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETINFOSTRUCT>())).dwCharacteristics as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_NETINFOSTRUCT), "::", stringify!(dwCharacteristics) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETINFOSTRUCT>())).dwHandle as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NETINFOSTRUCT), "::", stringify!(dwHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETINFOSTRUCT>())).wNetType as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NETINFOSTRUCT), "::", stringify!(wNetType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETINFOSTRUCT>())).dwPrinters as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_NETINFOSTRUCT), "::", stringify!(dwPrinters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETINFOSTRUCT>())).dwDrives as *const _ 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() { 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::null::<_NETCONNECTINFOSTRUCT>())).cbStructure as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NETCONNECTINFOSTRUCT), "::", stringify!(cbStructure) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETCONNECTINFOSTRUCT>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NETCONNECTINFOSTRUCT), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETCONNECTINFOSTRUCT>())).dwSpeed as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NETCONNECTINFOSTRUCT), "::", stringify!(dwSpeed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETCONNECTINFOSTRUCT>())).dwDelay as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_NETCONNECTINFOSTRUCT), "::", stringify!(dwDelay) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NETCONNECTINFOSTRUCT>())).dwOptDataSize as *const _ 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_1: __BindgenBitfieldUnit<[u8; 2usize], u8>, } #[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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u8> = 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_1: __BindgenBitfieldUnit<[u8; 2usize], u16>, pub cfFormat: ::std::os::raw::c_short, } #[test] fn bindgen_test_layout_DDEADVISE() { 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::null::())).cfFormat as *const _ 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], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u16> = 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_1: __BindgenBitfieldUnit<[u8; 2usize], u16>, pub cfFormat: ::std::os::raw::c_short, pub Value: [BYTE; 1usize], } #[test] fn bindgen_test_layout_DDEDATA() { 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::null::())).cfFormat as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(DDEDATA), "::", stringify!(cfFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Value as *const _ 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], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u16> = 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_1: __BindgenBitfieldUnit<[u8; 2usize], u16>, pub cfFormat: ::std::os::raw::c_short, pub Value: [BYTE; 1usize], } #[test] fn bindgen_test_layout_DDEPOKE() { 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::null::())).cfFormat as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(DDEPOKE), "::", stringify!(cfFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Value as *const _ 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], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u16> = 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_1: __BindgenBitfieldUnit<[u8; 2usize], u16>, pub cfFormat: ::std::os::raw::c_short, } #[test] fn bindgen_test_layout_DDELN() { 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::null::())).cfFormat as *const _ 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], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u16> = 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_1: __BindgenBitfieldUnit<[u8; 2usize], u16>, pub cfFormat: ::std::os::raw::c_short, pub rgb: [BYTE; 1usize], } #[test] fn bindgen_test_layout_DDEUP() { 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::null::())).cfFormat as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(DDEUP), "::", stringify!(cfFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgb as *const _ 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], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u16> = 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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() { 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::null::())).hszSvc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagHSZPAIR), "::", stringify!(hszSvc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hszTopic as *const _ 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() { 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::null::())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCONVCONTEXT), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagCONVCONTEXT), "::", stringify!(wFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wCountryID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCONVCONTEXT), "::", stringify!(wCountryID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iCodePage as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagCONVCONTEXT), "::", stringify!(iCodePage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwLangID as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCONVCONTEXT), "::", stringify!(dwLangID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSecurity as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagCONVCONTEXT), "::", stringify!(dwSecurity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).qos as *const _ 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() { 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::null::())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCONVINFO), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hUser as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCONVINFO), "::", stringify!(hUser) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hConvPartner as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCONVINFO), "::", stringify!(hConvPartner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hszSvcPartner as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagCONVINFO), "::", stringify!(hszSvcPartner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hszServiceReq as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagCONVINFO), "::", stringify!(hszServiceReq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hszTopic as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagCONVINFO), "::", stringify!(hszTopic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hszItem as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagCONVINFO), "::", stringify!(hszItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wFmt as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagCONVINFO), "::", stringify!(wFmt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wType as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagCONVINFO), "::", stringify!(wType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wStatus as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagCONVINFO), "::", stringify!(wStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wConvst as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(tagCONVINFO), "::", stringify!(wConvst) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wLastError as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagCONVINFO), "::", stringify!(wLastError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hConvList as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagCONVINFO), "::", stringify!(hConvList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ConvCtxt as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagCONVINFO), "::", stringify!(ConvCtxt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwnd as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(tagCONVINFO), "::", stringify!(hwnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndPartner as *const _ 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() { 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::null::())).uiLo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDDEML_MSG_HOOK_DATA), "::", stringify!(uiLo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uiHi as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagDDEML_MSG_HOOK_DATA), "::", stringify!(uiHi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbData as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagDDEML_MSG_HOOK_DATA), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Data as *const _ 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() { 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::null::())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMONMSGSTRUCT), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndTo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMONMSGSTRUCT), "::", stringify!(hwndTo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMONMSGSTRUCT), "::", stringify!(dwTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hTask as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMONMSGSTRUCT), "::", stringify!(hTask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMsg as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagMONMSGSTRUCT), "::", stringify!(wMsg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wParam as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMONMSGSTRUCT), "::", stringify!(wParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lParam as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagMONMSGSTRUCT), "::", stringify!(lParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dmhd as *const _ 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() { 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::null::())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMONCBSTRUCT), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTime as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMONCBSTRUCT), "::", stringify!(dwTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hTask as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMONCBSTRUCT), "::", stringify!(hTask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwRet as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMONCBSTRUCT), "::", stringify!(dwRet) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wType as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMONCBSTRUCT), "::", stringify!(wType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wFmt as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMONCBSTRUCT), "::", stringify!(wFmt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hConv as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagMONCBSTRUCT), "::", stringify!(hConv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hsz1 as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMONCBSTRUCT), "::", stringify!(hsz1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hsz2 as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagMONCBSTRUCT), "::", stringify!(hsz2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hData as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagMONCBSTRUCT), "::", stringify!(hData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwData1 as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagMONCBSTRUCT), "::", stringify!(dwData1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwData2 as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagMONCBSTRUCT), "::", stringify!(dwData2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cc as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagMONCBSTRUCT), "::", stringify!(cc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbData as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(tagMONCBSTRUCT), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Data as *const _ 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() { 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::null::())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMONHSZSTRUCTA), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fsAction as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMONHSZSTRUCTA), "::", stringify!(fsAction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMONHSZSTRUCTA), "::", stringify!(dwTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hsz as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMONHSZSTRUCTA), "::", stringify!(hsz) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hTask as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMONHSZSTRUCTA), "::", stringify!(hTask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).str_ as *const _ 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() { 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::null::())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMONHSZSTRUCTW), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fsAction as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMONHSZSTRUCTW), "::", stringify!(fsAction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMONHSZSTRUCTW), "::", stringify!(dwTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hsz as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMONHSZSTRUCTW), "::", stringify!(hsz) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hTask as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMONHSZSTRUCTW), "::", stringify!(hTask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).str_ as *const _ 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() { 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::null::())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMONERRSTRUCT), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wLastError as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMONERRSTRUCT), "::", stringify!(wLastError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMONERRSTRUCT), "::", stringify!(dwTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hTask as *const _ 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() { 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::null::())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMONLINKSTRUCT), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTime as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMONLINKSTRUCT), "::", stringify!(dwTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hTask as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMONLINKSTRUCT), "::", stringify!(hTask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fEstablished as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMONLINKSTRUCT), "::", stringify!(fEstablished) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fNoData as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMONLINKSTRUCT), "::", stringify!(fNoData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hszSvc as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMONLINKSTRUCT), "::", stringify!(hszSvc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hszTopic as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagMONLINKSTRUCT), "::", stringify!(hszTopic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hszItem as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMONLINKSTRUCT), "::", stringify!(hszItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wFmt as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagMONLINKSTRUCT), "::", stringify!(wFmt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fServer as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagMONLINKSTRUCT), "::", stringify!(fServer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hConvServer as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagMONLINKSTRUCT), "::", stringify!(hConvServer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hConvClient as *const _ 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() { 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::null::())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMONCONVSTRUCT), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fConnect as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMONCONVSTRUCT), "::", stringify!(fConnect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMONCONVSTRUCT), "::", stringify!(dwTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hTask as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMONCONVSTRUCT), "::", stringify!(hTask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hszSvc as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMONCONVSTRUCT), "::", stringify!(hszSvc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hszTopic as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagMONCONVSTRUCT), "::", stringify!(hszTopic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hConvClient as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMONCONVSTRUCT), "::", stringify!(hConvClient) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hConvServer as *const _ 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() { 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::null::())).bRed as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCRGB), "::", stringify!(bRed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bGreen as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(tagCRGB), "::", stringify!(bGreen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bBlue as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagCRGB), "::", stringify!(bBlue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bExtra as *const _ 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, _bindgen_union_align: [u8; 8usize], } #[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() { 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::null::())).hour as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), "::", stringify!(hour) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).min as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), "::", stringify!(min) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sec as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), "::", stringify!(sec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).frame as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), "::", stringify!(frame) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fps as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), "::", stringify!(fps) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dummy as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dummy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ 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() { 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::null::())).songptrpos as *const _ 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() { 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::null::())).ms as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(mmtime_tag__bindgen_ty_1), "::", stringify!(ms) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sample as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(mmtime_tag__bindgen_ty_1), "::", stringify!(sample) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(mmtime_tag__bindgen_ty_1), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ticks as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(mmtime_tag__bindgen_ty_1), "::", stringify!(ticks) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).smpte as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(mmtime_tag__bindgen_ty_1), "::", stringify!(smpte) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).midi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(mmtime_tag__bindgen_ty_1), "::", stringify!(midi) ) ); } #[test] fn bindgen_test_layout_mmtime_tag() { 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::null::())).wType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(mmtime_tag), "::", stringify!(wType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ 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__() { 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::null::())).unused as *const _ 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() { 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::null::())).dwCallback as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_OPEN_PARMSA), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wDeviceID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_OPEN_PARMSA), "::", stringify!(wDeviceID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrDeviceType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMCI_OPEN_PARMSA), "::", stringify!(lpstrDeviceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrElementName as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMCI_OPEN_PARMSA), "::", stringify!(lpstrElementName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrAlias as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_OPEN_PARMSW), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wDeviceID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_OPEN_PARMSW), "::", stringify!(wDeviceID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrDeviceType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMCI_OPEN_PARMSW), "::", stringify!(lpstrDeviceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrElementName as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMCI_OPEN_PARMSW), "::", stringify!(lpstrElementName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrAlias as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_PLAY_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFrom as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_PLAY_PARMS), "::", stringify!(dwFrom) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTo as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_SEEK_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTo as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_STATUS_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReturn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_STATUS_PARMS), "::", stringify!(dwReturn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwItem as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMCI_STATUS_PARMS), "::", stringify!(dwItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTrack as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_INFO_PARMSA), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrReturn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_INFO_PARMSA), "::", stringify!(lpstrReturn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwRetSize as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_INFO_PARMSW), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrReturn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_INFO_PARMSW), "::", stringify!(lpstrReturn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwRetSize as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_GETDEVCAPS_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReturn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_GETDEVCAPS_PARMS), "::", stringify!(dwReturn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwItem as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_SYSINFO_PARMSA), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrReturn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_SYSINFO_PARMSA), "::", stringify!(lpstrReturn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwRetSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMCI_SYSINFO_PARMSA), "::", stringify!(dwRetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwNumber as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMCI_SYSINFO_PARMSA), "::", stringify!(dwNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wDeviceType as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_SYSINFO_PARMSW), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrReturn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_SYSINFO_PARMSW), "::", stringify!(lpstrReturn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwRetSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMCI_SYSINFO_PARMSW), "::", stringify!(dwRetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwNumber as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMCI_SYSINFO_PARMSW), "::", stringify!(dwNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wDeviceType as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_SET_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTimeFormat as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_SET_PARMS), "::", stringify!(dwTimeFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwAudio as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_BREAK_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nVirtKey as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_BREAK_PARMS), "::", stringify!(nVirtKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndBreak as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_SAVE_PARMSA), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfilename as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_SAVE_PARMSW), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfilename as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_LOAD_PARMSA), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfilename as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_LOAD_PARMSW), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfilename as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_RECORD_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFrom as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_RECORD_PARMS), "::", stringify!(dwFrom) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTo as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_VD_PLAY_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFrom as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_VD_PLAY_PARMS), "::", stringify!(dwFrom) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTo as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMCI_VD_PLAY_PARMS), "::", stringify!(dwTo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSpeed as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_VD_STEP_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFrames as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_VD_ESCAPE_PARMSA), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrCommand as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_VD_ESCAPE_PARMSW), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrCommand as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_OPEN_PARMSA), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wDeviceID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_OPEN_PARMSA), "::", stringify!(wDeviceID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrDeviceType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_OPEN_PARMSA), "::", stringify!(lpstrDeviceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrElementName as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_OPEN_PARMSA), "::", stringify!(lpstrElementName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrAlias as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_OPEN_PARMSA), "::", stringify!(lpstrAlias) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwBufferSeconds as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_OPEN_PARMSW), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wDeviceID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_OPEN_PARMSW), "::", stringify!(wDeviceID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrDeviceType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_OPEN_PARMSW), "::", stringify!(lpstrDeviceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrElementName as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_OPEN_PARMSW), "::", stringify!(lpstrElementName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrAlias as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_OPEN_PARMSW), "::", stringify!(lpstrAlias) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwBufferSeconds as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_DELETE_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFrom as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_DELETE_PARMS), "::", stringify!(dwFrom) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTo as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_SET_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTimeFormat as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_SET_PARMS), "::", stringify!(dwTimeFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwAudio as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_SET_PARMS), "::", stringify!(dwAudio) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wInput as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_SET_PARMS), "::", stringify!(wInput) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wOutput as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_SET_PARMS), "::", stringify!(wOutput) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wFormatTag as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_SET_PARMS), "::", stringify!(wFormatTag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved2 as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_SET_PARMS), "::", stringify!(wReserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nChannels as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_SET_PARMS), "::", stringify!(nChannels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved3 as *const _ as usize }, 30usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_SET_PARMS), "::", stringify!(wReserved3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nSamplesPerSec as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_SET_PARMS), "::", stringify!(nSamplesPerSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nAvgBytesPerSec as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_SET_PARMS), "::", stringify!(nAvgBytesPerSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nBlockAlign as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_SET_PARMS), "::", stringify!(nBlockAlign) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved4 as *const _ as usize }, 42usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_SET_PARMS), "::", stringify!(wReserved4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wBitsPerSample as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagMCI_WAVE_SET_PARMS), "::", stringify!(wBitsPerSample) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved5 as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_SEQ_SET_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTimeFormat as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_SEQ_SET_PARMS), "::", stringify!(dwTimeFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwAudio as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMCI_SEQ_SET_PARMS), "::", stringify!(dwAudio) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTempo as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMCI_SEQ_SET_PARMS), "::", stringify!(dwTempo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwPort as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMCI_SEQ_SET_PARMS), "::", stringify!(dwPort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSlave as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMCI_SEQ_SET_PARMS), "::", stringify!(dwSlave) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwMaster as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagMCI_SEQ_SET_PARMS), "::", stringify!(dwMaster) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwOffset as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_OPEN_PARMSA), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wDeviceID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_OPEN_PARMSA), "::", stringify!(wDeviceID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrDeviceType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_OPEN_PARMSA), "::", stringify!(lpstrDeviceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrElementName as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_OPEN_PARMSA), "::", stringify!(lpstrElementName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrAlias as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_OPEN_PARMSA), "::", stringify!(lpstrAlias) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStyle as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_OPEN_PARMSA), "::", stringify!(dwStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hWndParent as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_OPEN_PARMSW), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wDeviceID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_OPEN_PARMSW), "::", stringify!(wDeviceID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrDeviceType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_OPEN_PARMSW), "::", stringify!(lpstrDeviceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrElementName as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_OPEN_PARMSW), "::", stringify!(lpstrElementName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrAlias as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_OPEN_PARMSW), "::", stringify!(lpstrAlias) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStyle as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_OPEN_PARMSW), "::", stringify!(dwStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hWndParent as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_PLAY_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFrom as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_PLAY_PARMS), "::", stringify!(dwFrom) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTo as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_PLAY_PARMS), "::", stringify!(dwTo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSpeed as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_STEP_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFrames as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_WINDOW_PARMSA), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hWnd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_WINDOW_PARMSA), "::", stringify!(hWnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nCmdShow as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_WINDOW_PARMSA), "::", stringify!(nCmdShow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrText as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_WINDOW_PARMSW), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hWnd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_WINDOW_PARMSW), "::", stringify!(hWnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nCmdShow as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_WINDOW_PARMSW), "::", stringify!(nCmdShow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrText as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_RECT_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rc as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_UPDATE_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_ANIM_UPDATE_PARMS), "::", stringify!(rc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDC as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_OPEN_PARMSA), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wDeviceID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_OPEN_PARMSA), "::", stringify!(wDeviceID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrDeviceType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_OPEN_PARMSA), "::", stringify!(lpstrDeviceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrElementName as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_OPEN_PARMSA), "::", stringify!(lpstrElementName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrAlias as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_OPEN_PARMSA), "::", stringify!(lpstrAlias) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStyle as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_OPEN_PARMSA), "::", stringify!(dwStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hWndParent as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_OPEN_PARMSW), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wDeviceID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_OPEN_PARMSW), "::", stringify!(wDeviceID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrDeviceType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_OPEN_PARMSW), "::", stringify!(lpstrDeviceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrElementName as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_OPEN_PARMSW), "::", stringify!(lpstrElementName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrAlias as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_OPEN_PARMSW), "::", stringify!(lpstrAlias) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStyle as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_OPEN_PARMSW), "::", stringify!(dwStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hWndParent as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_WINDOW_PARMSA), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hWnd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_WINDOW_PARMSA), "::", stringify!(hWnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nCmdShow as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_WINDOW_PARMSA), "::", stringify!(nCmdShow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrText as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_WINDOW_PARMSW), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hWnd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_WINDOW_PARMSW), "::", stringify!(hWnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nCmdShow as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_WINDOW_PARMSW), "::", stringify!(nCmdShow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrText as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_RECT_PARMS), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rc as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_SAVE_PARMSA), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfilename as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_SAVE_PARMSA), "::", stringify!(lpfilename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rc as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_SAVE_PARMSW), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfilename as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_SAVE_PARMSW), "::", stringify!(lpfilename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rc as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_LOAD_PARMSA), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfilename as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_LOAD_PARMSA), "::", stringify!(lpfilename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rc as *const _ 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() { 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::null::())).dwCallback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_LOAD_PARMSW), "::", stringify!(dwCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfilename as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMCI_OVLY_LOAD_PARMSW), "::", stringify!(lpfilename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rc as *const _ 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() { 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::null::())).dwDCISize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DRVCONFIGINFOEX), "::", stringify!(dwDCISize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszDCISectionName as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(DRVCONFIGINFOEX), "::", stringify!(lpszDCISectionName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszDCIAliasName as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(DRVCONFIGINFOEX), "::", stringify!(lpszDCIAliasName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dnDevNode as *const _ 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() { 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::null::())).dwDCISize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDRVCONFIGINFO), "::", stringify!(dwDCISize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszDCISectionName as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagDRVCONFIGINFO), "::", stringify!(lpszDCISectionName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszDCIAliasName as *const _ 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__() { 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::null::())).unused as *const _ 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() { 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::null::<_MMIOINFO>())).dwFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MMIOINFO), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMIOINFO>())).fccIOProc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_MMIOINFO), "::", stringify!(fccIOProc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMIOINFO>())).pIOProc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MMIOINFO), "::", stringify!(pIOProc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMIOINFO>())).wErrorRet as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MMIOINFO), "::", stringify!(wErrorRet) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMIOINFO>())).htask as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_MMIOINFO), "::", stringify!(htask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMIOINFO>())).cchBuffer as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_MMIOINFO), "::", stringify!(cchBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMIOINFO>())).pchBuffer as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_MMIOINFO), "::", stringify!(pchBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMIOINFO>())).pchNext as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_MMIOINFO), "::", stringify!(pchNext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMIOINFO>())).pchEndRead as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_MMIOINFO), "::", stringify!(pchEndRead) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMIOINFO>())).pchEndWrite as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_MMIOINFO), "::", stringify!(pchEndWrite) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMIOINFO>())).lBufOffset as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_MMIOINFO), "::", stringify!(lBufOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMIOINFO>())).lDiskOffset as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_MMIOINFO), "::", stringify!(lDiskOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMIOINFO>())).adwInfo as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_MMIOINFO), "::", stringify!(adwInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMIOINFO>())).dwReserved1 as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(_MMIOINFO), "::", stringify!(dwReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMIOINFO>())).dwReserved2 as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_MMIOINFO), "::", stringify!(dwReserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMIOINFO>())).hmmio as *const _ 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() { 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::null::<_MMCKINFO>())).ckid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MMCKINFO), "::", stringify!(ckid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMCKINFO>())).cksize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_MMCKINFO), "::", stringify!(cksize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMCKINFO>())).fccType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MMCKINFO), "::", stringify!(fccType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMCKINFO>())).dwDataOffset as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_MMCKINFO), "::", stringify!(dwDataOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MMCKINFO>())).dwFlags as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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() { 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::null::())).lpData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(wavehdr_tag), "::", stringify!(lpData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwBufferLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(wavehdr_tag), "::", stringify!(dwBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwBytesRecorded as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(wavehdr_tag), "::", stringify!(dwBytesRecorded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwUser as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(wavehdr_tag), "::", stringify!(dwUser) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(wavehdr_tag), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwLoops as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(wavehdr_tag), "::", stringify!(dwLoops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpNext as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(wavehdr_tag), "::", stringify!(lpNext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPSA), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPSA), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPSA), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPSA), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFormats as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPSA), "::", stringify!(dwFormats) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wChannels as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPSA), "::", stringify!(wChannels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved1 as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPSA), "::", stringify!(wReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPSW), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPSW), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPSW), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPSW), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFormats as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPSW), "::", stringify!(dwFormats) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wChannels as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPSW), "::", stringify!(wChannels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved1 as *const _ as usize }, 78usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPSW), "::", stringify!(wReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2A), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2A), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2A), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2A), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFormats as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2A), "::", stringify!(dwFormats) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wChannels as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2A), "::", stringify!(wChannels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved1 as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2A), "::", stringify!(wReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2A), "::", stringify!(dwSupport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ManufacturerGuid as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2A), "::", stringify!(ManufacturerGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProductGuid as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2A), "::", stringify!(ProductGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NameGuid as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2W), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2W), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2W), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2W), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFormats as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2W), "::", stringify!(dwFormats) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wChannels as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2W), "::", stringify!(wChannels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved1 as *const _ as usize }, 78usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2W), "::", stringify!(wReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2W), "::", stringify!(dwSupport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ManufacturerGuid as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2W), "::", stringify!(ManufacturerGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProductGuid as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagWAVEOUTCAPS2W), "::", stringify!(ProductGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NameGuid as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPSA), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPSA), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPSA), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPSA), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFormats as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPSA), "::", stringify!(dwFormats) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wChannels as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPSA), "::", stringify!(wChannels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved1 as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPSW), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPSW), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPSW), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPSW), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFormats as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPSW), "::", stringify!(dwFormats) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wChannels as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPSW), "::", stringify!(wChannels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved1 as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2A), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2A), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2A), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2A), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFormats as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2A), "::", stringify!(dwFormats) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wChannels as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2A), "::", stringify!(wChannels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved1 as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2A), "::", stringify!(wReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ManufacturerGuid as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2A), "::", stringify!(ManufacturerGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProductGuid as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2A), "::", stringify!(ProductGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NameGuid as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2W), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2W), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2W), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2W), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFormats as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2W), "::", stringify!(dwFormats) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wChannels as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2W), "::", stringify!(wChannels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved1 as *const _ as usize }, 78usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2W), "::", stringify!(wReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ManufacturerGuid as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2W), "::", stringify!(ManufacturerGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProductGuid as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagWAVEINCAPS2W), "::", stringify!(ProductGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NameGuid as *const _ 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() { 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::null::())).wFormatTag as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(waveformat_tag), "::", stringify!(wFormatTag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nChannels as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(waveformat_tag), "::", stringify!(nChannels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nSamplesPerSec as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(waveformat_tag), "::", stringify!(nSamplesPerSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nAvgBytesPerSec as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(waveformat_tag), "::", stringify!(nAvgBytesPerSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nBlockAlign as *const _ 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() { 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::null::())).wf as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(pcmwaveformat_tag), "::", stringify!(wf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wBitsPerSample as *const _ 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() { 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::null::())).wFormatTag as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tWAVEFORMATEX), "::", stringify!(wFormatTag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nChannels as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tWAVEFORMATEX), "::", stringify!(nChannels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nSamplesPerSec as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tWAVEFORMATEX), "::", stringify!(nSamplesPerSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nAvgBytesPerSec as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tWAVEFORMATEX), "::", stringify!(nAvgBytesPerSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nBlockAlign as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tWAVEFORMATEX), "::", stringify!(nBlockAlign) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wBitsPerSample as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(tWAVEFORMATEX), "::", stringify!(wBitsPerSample) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbSize as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSA), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSA), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSA), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSA), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wTechnology as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSA), "::", stringify!(wTechnology) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wVoices as *const _ as usize }, 42usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSA), "::", stringify!(wVoices) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wNotes as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSA), "::", stringify!(wNotes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wChannelMask as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSA), "::", stringify!(wChannelMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSW), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSW), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSW), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSW), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wTechnology as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSW), "::", stringify!(wTechnology) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wVoices as *const _ as usize }, 74usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSW), "::", stringify!(wVoices) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wNotes as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSW), "::", stringify!(wNotes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wChannelMask as *const _ as usize }, 78usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPSW), "::", stringify!(wChannelMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2A), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2A), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2A), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2A), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wTechnology as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2A), "::", stringify!(wTechnology) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wVoices as *const _ as usize }, 42usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2A), "::", stringify!(wVoices) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wNotes as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2A), "::", stringify!(wNotes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wChannelMask as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2A), "::", stringify!(wChannelMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2A), "::", stringify!(dwSupport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ManufacturerGuid as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2A), "::", stringify!(ManufacturerGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProductGuid as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2A), "::", stringify!(ProductGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NameGuid as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2W), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2W), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2W), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2W), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wTechnology as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2W), "::", stringify!(wTechnology) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wVoices as *const _ as usize }, 74usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2W), "::", stringify!(wVoices) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wNotes as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2W), "::", stringify!(wNotes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wChannelMask as *const _ as usize }, 78usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2W), "::", stringify!(wChannelMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2W), "::", stringify!(dwSupport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ManufacturerGuid as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2W), "::", stringify!(ManufacturerGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProductGuid as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagMIDIOUTCAPS2W), "::", stringify!(ProductGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NameGuid as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPSA), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPSA), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPSA), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPSA), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPSW), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPSW), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPSW), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPSW), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPS2A), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPS2A), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPS2A), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPS2A), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPS2A), "::", stringify!(dwSupport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ManufacturerGuid as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPS2A), "::", stringify!(ManufacturerGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProductGuid as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPS2A), "::", stringify!(ProductGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NameGuid as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPS2W), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPS2W), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPS2W), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPS2W), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPS2W), "::", stringify!(dwSupport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ManufacturerGuid as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPS2W), "::", stringify!(ManufacturerGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProductGuid as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagMIDIINCAPS2W), "::", stringify!(ProductGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NameGuid as *const _ 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() { 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::null::())).lpData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(midihdr_tag), "::", stringify!(lpData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwBufferLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(midihdr_tag), "::", stringify!(dwBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwBytesRecorded as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(midihdr_tag), "::", stringify!(dwBytesRecorded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwUser as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(midihdr_tag), "::", stringify!(dwUser) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(midihdr_tag), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpNext as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(midihdr_tag), "::", stringify!(lpNext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(midihdr_tag), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwOffset as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(midihdr_tag), "::", stringify!(dwOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReserved as *const _ 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() { 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::null::())).dwDeltaTime as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(midievent_tag), "::", stringify!(dwDeltaTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStreamID as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(midievent_tag), "::", stringify!(dwStreamID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwEvent as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(midievent_tag), "::", stringify!(dwEvent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwParms as *const _ 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() { 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::null::())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(midistrmbuffver_tag), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwMid as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(midistrmbuffver_tag), "::", stringify!(dwMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwOEMVersion as *const _ 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() { 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::null::())).cbStruct as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(midiproptimediv_tag), "::", stringify!(cbStruct) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTimeDiv as *const _ 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() { 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::null::())).cbStruct as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(midiproptempo_tag), "::", stringify!(cbStruct) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTempo as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagAUXCAPSA), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagAUXCAPSA), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagAUXCAPSA), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagAUXCAPSA), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wTechnology as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagAUXCAPSA), "::", stringify!(wTechnology) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved1 as *const _ as usize }, 42usize, concat!( "Offset of field: ", stringify!(tagAUXCAPSA), "::", stringify!(wReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagAUXCAPSW), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagAUXCAPSW), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagAUXCAPSW), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagAUXCAPSW), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wTechnology as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagAUXCAPSW), "::", stringify!(wTechnology) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved1 as *const _ as usize }, 74usize, concat!( "Offset of field: ", stringify!(tagAUXCAPSW), "::", stringify!(wReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2A), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2A), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2A), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2A), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wTechnology as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2A), "::", stringify!(wTechnology) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved1 as *const _ as usize }, 42usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2A), "::", stringify!(wReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2A), "::", stringify!(dwSupport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ManufacturerGuid as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2A), "::", stringify!(ManufacturerGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProductGuid as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2A), "::", stringify!(ProductGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NameGuid as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2W), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2W), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2W), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2W), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wTechnology as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2W), "::", stringify!(wTechnology) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved1 as *const _ as usize }, 74usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2W), "::", stringify!(wReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSupport as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2W), "::", stringify!(dwSupport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ManufacturerGuid as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2W), "::", stringify!(ManufacturerGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProductGuid as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagAUXCAPS2W), "::", stringify!(ProductGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NameGuid as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPSA), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPSA), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPSA), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPSA), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fdwSupport as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPSA), "::", stringify!(fdwSupport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cDestinations as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPSW), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPSW), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPSW), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPSW), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fdwSupport as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPSW), "::", stringify!(fdwSupport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cDestinations as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2A), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2A), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2A), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2A), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fdwSupport as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2A), "::", stringify!(fdwSupport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cDestinations as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2A), "::", stringify!(cDestinations) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ManufacturerGuid as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2A), "::", stringify!(ManufacturerGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProductGuid as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2A), "::", stringify!(ProductGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NameGuid as *const _ 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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2W), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2W), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2W), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2W), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fdwSupport as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2W), "::", stringify!(fdwSupport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cDestinations as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2W), "::", stringify!(cDestinations) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ManufacturerGuid as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2W), "::", stringify!(ManufacturerGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProductGuid as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagMIXERCAPS2W), "::", stringify!(ProductGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NameGuid as *const _ 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(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() { 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::null::())).dwType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA__bindgen_ty_1), "::", stringify!(dwType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwDeviceID as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA__bindgen_ty_1), "::", stringify!(dwDeviceID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA__bindgen_ty_1), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA__bindgen_ty_1), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA__bindgen_ty_1), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA__bindgen_ty_1), "::", stringify!(szPname) ) ); } #[test] fn bindgen_test_layout_tagMIXERLINEA() { 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::null::())).cbStruct as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA), "::", stringify!(cbStruct) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwDestination as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA), "::", stringify!(dwDestination) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSource as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA), "::", stringify!(dwSource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwLineID as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA), "::", stringify!(dwLineID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fdwLine as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA), "::", stringify!(fdwLine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwUser as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA), "::", stringify!(dwUser) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwComponentType as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA), "::", stringify!(dwComponentType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cChannels as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA), "::", stringify!(cChannels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cConnections as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA), "::", stringify!(cConnections) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cControls as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA), "::", stringify!(cControls) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szShortName as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA), "::", stringify!(szShortName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szName as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEA), "::", stringify!(szName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Target as *const _ 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(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() { 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::null::())).dwType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW__bindgen_ty_1), "::", stringify!(dwType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwDeviceID as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW__bindgen_ty_1), "::", stringify!(dwDeviceID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW__bindgen_ty_1), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW__bindgen_ty_1), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vDriverVersion as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW__bindgen_ty_1), "::", stringify!(vDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW__bindgen_ty_1), "::", stringify!(szPname) ) ); } #[test] fn bindgen_test_layout_tagMIXERLINEW() { 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::null::())).cbStruct as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW), "::", stringify!(cbStruct) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwDestination as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW), "::", stringify!(dwDestination) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSource as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW), "::", stringify!(dwSource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwLineID as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW), "::", stringify!(dwLineID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fdwLine as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW), "::", stringify!(fdwLine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwUser as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW), "::", stringify!(dwUser) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwComponentType as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW), "::", stringify!(dwComponentType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cChannels as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW), "::", stringify!(cChannels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cConnections as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW), "::", stringify!(cConnections) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cControls as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW), "::", stringify!(cControls) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szShortName as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW), "::", stringify!(szShortName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szName as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagMIXERLINEW), "::", stringify!(szName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Target as *const _ 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], _bindgen_union_align: [u8; 24usize], } #[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() { 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::null::())).lMinimum as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_1), "::", stringify!(lMinimum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lMaximum as *const _ 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() { 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::null::())).dwMinimum as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_2), "::", stringify!(dwMinimum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwMaximum as *const _ 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() { 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::null::())).dwReserved as *const _ 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], _bindgen_union_align: [u8; 24usize], } #[test] fn bindgen_test_layout_tagMIXERCONTROLA__bindgen_ty_2() { 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::null::())).cSteps as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLA__bindgen_ty_2), "::", stringify!(cSteps) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbCustomData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLA__bindgen_ty_2), "::", stringify!(cbCustomData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLA__bindgen_ty_2), "::", stringify!(dwReserved) ) ); } #[test] fn bindgen_test_layout_tagMIXERCONTROLA() { 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::null::())).cbStruct as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLA), "::", stringify!(cbStruct) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwControlID as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLA), "::", stringify!(dwControlID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwControlType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLA), "::", stringify!(dwControlType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fdwControl as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLA), "::", stringify!(fdwControl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cMultipleItems as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLA), "::", stringify!(cMultipleItems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szShortName as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLA), "::", stringify!(szShortName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szName as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLA), "::", stringify!(szName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Bounds as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLA), "::", stringify!(Bounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Metrics as *const _ 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], _bindgen_union_align: [u8; 24usize], } #[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() { 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::null::())).lMinimum as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_1), "::", stringify!(lMinimum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lMaximum as *const _ 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() { 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::null::())).dwMinimum as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_2), "::", stringify!(dwMinimum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwMaximum as *const _ 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() { 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::null::())).dwReserved as *const _ 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], _bindgen_union_align: [u8; 24usize], } #[test] fn bindgen_test_layout_tagMIXERCONTROLW__bindgen_ty_2() { 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::null::())).cSteps as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLW__bindgen_ty_2), "::", stringify!(cSteps) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbCustomData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLW__bindgen_ty_2), "::", stringify!(cbCustomData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLW__bindgen_ty_2), "::", stringify!(dwReserved) ) ); } #[test] fn bindgen_test_layout_tagMIXERCONTROLW() { 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::null::())).cbStruct as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLW), "::", stringify!(cbStruct) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwControlID as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLW), "::", stringify!(dwControlID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwControlType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLW), "::", stringify!(dwControlType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fdwControl as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLW), "::", stringify!(fdwControl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cMultipleItems as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLW), "::", stringify!(cMultipleItems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szShortName as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLW), "::", stringify!(szShortName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szName as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLW), "::", stringify!(szName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Bounds as *const _ as usize }, 180usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLW), "::", stringify!(Bounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Metrics as *const _ 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, _bindgen_union_align: [u8; 4usize], } #[test] fn bindgen_test_layout_tagMIXERLINECONTROLSA__bindgen_ty_1() { 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::null::())).dwControlID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERLINECONTROLSA__bindgen_ty_1), "::", stringify!(dwControlID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwControlType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERLINECONTROLSA__bindgen_ty_1), "::", stringify!(dwControlType) ) ); } #[test] fn bindgen_test_layout_tagMIXERLINECONTROLSA() { 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::null::())).cbStruct as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERLINECONTROLSA), "::", stringify!(cbStruct) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwLineID as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIXERLINECONTROLSA), "::", stringify!(dwLineID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cControls as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMIXERLINECONTROLSA), "::", stringify!(cControls) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbmxctrl as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMIXERLINECONTROLSA), "::", stringify!(cbmxctrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pamxctrl as *const _ 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, _bindgen_union_align: [u8; 4usize], } #[test] fn bindgen_test_layout_tagMIXERLINECONTROLSW__bindgen_ty_1() { 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::null::())).dwControlID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERLINECONTROLSW__bindgen_ty_1), "::", stringify!(dwControlID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwControlType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERLINECONTROLSW__bindgen_ty_1), "::", stringify!(dwControlType) ) ); } #[test] fn bindgen_test_layout_tagMIXERLINECONTROLSW() { 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::null::())).cbStruct as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERLINECONTROLSW), "::", stringify!(cbStruct) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwLineID as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIXERLINECONTROLSW), "::", stringify!(dwLineID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cControls as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagMIXERLINECONTROLSW), "::", stringify!(cControls) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbmxctrl as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMIXERLINECONTROLSW), "::", stringify!(cbmxctrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pamxctrl as *const _ 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, _bindgen_union_align: [u8; 8usize], } #[test] fn bindgen_test_layout_tMIXERCONTROLDETAILS__bindgen_ty_1() { 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::null::())).hwndOwner as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tMIXERCONTROLDETAILS__bindgen_ty_1), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cMultipleItems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tMIXERCONTROLDETAILS__bindgen_ty_1), "::", stringify!(cMultipleItems) ) ); } #[test] fn bindgen_test_layout_tMIXERCONTROLDETAILS() { 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::null::())).cbStruct as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tMIXERCONTROLDETAILS), "::", stringify!(cbStruct) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwControlID as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tMIXERCONTROLDETAILS), "::", stringify!(dwControlID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cChannels as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tMIXERCONTROLDETAILS), "::", stringify!(cChannels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbDetails as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tMIXERCONTROLDETAILS), "::", stringify!(cbDetails) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).paDetails as *const _ 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(Copy, Clone)] pub struct tagMIXERCONTROLDETAILS_LISTTEXTA { pub dwParam1: DWORD, pub dwParam2: DWORD, pub szName: [CHAR; 64usize], } #[test] fn bindgen_test_layout_tagMIXERCONTROLDETAILS_LISTTEXTA() { 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::null::())).dwParam1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLDETAILS_LISTTEXTA), "::", stringify!(dwParam1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwParam2 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLDETAILS_LISTTEXTA), "::", stringify!(dwParam2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szName as *const _ 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(Copy, Clone)] pub struct tagMIXERCONTROLDETAILS_LISTTEXTW { pub dwParam1: DWORD, pub dwParam2: DWORD, pub szName: [WCHAR; 64usize], } #[test] fn bindgen_test_layout_tagMIXERCONTROLDETAILS_LISTTEXTW() { 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::null::())).dwParam1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLDETAILS_LISTTEXTW), "::", stringify!(dwParam1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwParam2 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagMIXERCONTROLDETAILS_LISTTEXTW), "::", stringify!(dwParam2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szName as *const _ 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() { 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::null::())).fValue as *const _ 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() { 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::null::())).lValue as *const _ 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() { 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::null::())).dwValue as *const _ 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() { 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::null::())).wPeriodMin as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(timecaps_tag), "::", stringify!(wPeriodMin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPeriodMax as *const _ 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(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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wXmin as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wXmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wXmax as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wXmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wYmin as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wYmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wYmax as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wYmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wZmin as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wZmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wZmax as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wZmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wNumButtons as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wNumButtons) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPeriodMin as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wPeriodMin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPeriodMax as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wPeriodMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wRmin as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wRmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wRmax as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wRmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wUmin as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wUmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wUmax as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wUmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wVmin as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wVmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wVmax as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wVmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wCaps as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wCaps) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMaxAxes as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wMaxAxes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wNumAxes as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wNumAxes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMaxButtons as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(wMaxButtons) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szRegKey as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSA), "::", stringify!(szRegKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szOEMVxD as *const _ 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(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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wXmin as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wXmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wXmax as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wXmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wYmin as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wYmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wYmax as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wYmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wZmin as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wZmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wZmax as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wZmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wNumButtons as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wNumButtons) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPeriodMin as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wPeriodMin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPeriodMax as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wPeriodMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wRmin as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wRmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wRmax as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wRmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wUmin as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wUmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wUmax as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wUmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wVmin as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wVmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wVmax as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wVmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wCaps as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wCaps) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMaxAxes as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wMaxAxes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wNumAxes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wNumAxes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMaxButtons as *const _ as usize }, 140usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(wMaxButtons) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szRegKey as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(tagJOYCAPSW), "::", stringify!(szRegKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szOEMVxD as *const _ 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(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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wXmin as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wXmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wXmax as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wXmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wYmin as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wYmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wYmax as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wYmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wZmin as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wZmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wZmax as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wZmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wNumButtons as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wNumButtons) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPeriodMin as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wPeriodMin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPeriodMax as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wPeriodMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wRmin as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wRmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wRmax as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wRmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wUmin as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wUmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wUmax as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wUmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wVmin as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wVmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wVmax as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wVmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wCaps as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wCaps) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMaxAxes as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wMaxAxes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wNumAxes as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wNumAxes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMaxButtons as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(wMaxButtons) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szRegKey as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(szRegKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szOEMVxD as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(szOEMVxD) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ManufacturerGuid as *const _ as usize }, 404usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(ManufacturerGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProductGuid as *const _ as usize }, 420usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2A), "::", stringify!(ProductGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NameGuid as *const _ 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(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() { 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::null::())).wMid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wMid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPid as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szPname as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(szPname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wXmin as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wXmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wXmax as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wXmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wYmin as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wYmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wYmax as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wYmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wZmin as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wZmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wZmax as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wZmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wNumButtons as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wNumButtons) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPeriodMin as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wPeriodMin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wPeriodMax as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wPeriodMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wRmin as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wRmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wRmax as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wRmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wUmin as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wUmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wUmax as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wUmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wVmin as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wVmin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wVmax as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wVmax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wCaps as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wCaps) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMaxAxes as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wMaxAxes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wNumAxes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wNumAxes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMaxButtons as *const _ as usize }, 140usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(wMaxButtons) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szRegKey as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(szRegKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szOEMVxD as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(szOEMVxD) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ManufacturerGuid as *const _ as usize }, 728usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(ManufacturerGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProductGuid as *const _ as usize }, 744usize, concat!( "Offset of field: ", stringify!(tagJOYCAPS2W), "::", stringify!(ProductGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NameGuid as *const _ 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() { 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::null::())).wXpos as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(joyinfo_tag), "::", stringify!(wXpos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wYpos as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(joyinfo_tag), "::", stringify!(wYpos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wZpos as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(joyinfo_tag), "::", stringify!(wZpos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wButtons as *const _ 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() { 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::null::())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(joyinfoex_tag), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(joyinfoex_tag), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwXpos as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(joyinfoex_tag), "::", stringify!(dwXpos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwYpos as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(joyinfoex_tag), "::", stringify!(dwYpos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwZpos as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(joyinfoex_tag), "::", stringify!(dwZpos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwRpos as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(joyinfoex_tag), "::", stringify!(dwRpos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwUpos as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(joyinfoex_tag), "::", stringify!(dwUpos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwVpos as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(joyinfoex_tag), "::", stringify!(dwVpos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwButtons as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(joyinfoex_tag), "::", stringify!(dwButtons) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwButtonNumber as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(joyinfoex_tag), "::", stringify!(dwButtonNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwPOV as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(joyinfoex_tag), "::", stringify!(dwPOV) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReserved1 as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(joyinfoex_tag), "::", stringify!(dwReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReserved2 as *const _ 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() { 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::null::<_NCB>())).ncb_command as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NCB), "::", stringify!(ncb_command) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCB>())).ncb_retcode as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_NCB), "::", stringify!(ncb_retcode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCB>())).ncb_lsn as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_NCB), "::", stringify!(ncb_lsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCB>())).ncb_num as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(_NCB), "::", stringify!(ncb_num) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCB>())).ncb_buffer as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NCB), "::", stringify!(ncb_buffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCB>())).ncb_length as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NCB), "::", stringify!(ncb_length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCB>())).ncb_callname as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(_NCB), "::", stringify!(ncb_callname) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCB>())).ncb_name as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(_NCB), "::", stringify!(ncb_name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCB>())).ncb_rto as *const _ as usize }, 50usize, concat!( "Offset of field: ", stringify!(_NCB), "::", stringify!(ncb_rto) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCB>())).ncb_sto as *const _ as usize }, 51usize, concat!( "Offset of field: ", stringify!(_NCB), "::", stringify!(ncb_sto) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCB>())).ncb_post as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_NCB), "::", stringify!(ncb_post) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCB>())).ncb_lana_num as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_NCB), "::", stringify!(ncb_lana_num) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCB>())).ncb_cmd_cplt as *const _ as usize }, 65usize, concat!( "Offset of field: ", stringify!(_NCB), "::", stringify!(ncb_cmd_cplt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCB>())).ncb_reserve as *const _ as usize }, 66usize, concat!( "Offset of field: ", stringify!(_NCB), "::", stringify!(ncb_reserve) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCB>())).ncb_event as *const _ 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() { 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::null::<_ADAPTER_STATUS>())).adapter_address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(adapter_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).rev_major as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(rev_major) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).reserved0 as *const _ as usize }, 7usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(reserved0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).adapter_type as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(adapter_type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).rev_minor as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(rev_minor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).duration as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(duration) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).frmr_recv as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(frmr_recv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).frmr_xmit as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(frmr_xmit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).iframe_recv_err as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(iframe_recv_err) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).xmit_aborts as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(xmit_aborts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).xmit_success as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(xmit_success) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).recv_success as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(recv_success) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).iframe_xmit_err as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(iframe_xmit_err) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).recv_buff_unavail as *const _ as usize }, 30usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(recv_buff_unavail) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).t1_timeouts as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(t1_timeouts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).ti_timeouts as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(ti_timeouts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).reserved1 as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).free_ncbs as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(free_ncbs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).max_cfg_ncbs as *const _ as usize }, 42usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(max_cfg_ncbs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).max_ncbs as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(max_ncbs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).xmit_buf_unavail as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(xmit_buf_unavail) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).max_dgram_size as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(max_dgram_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).pending_sess as *const _ as usize }, 50usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(pending_sess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).max_cfg_sess as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(max_cfg_sess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).max_sess as *const _ as usize }, 54usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(max_sess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).max_sess_pkt_size as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_ADAPTER_STATUS), "::", stringify!(max_sess_pkt_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADAPTER_STATUS>())).name_count as *const _ 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() { 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::null::<_NAME_BUFFER>())).name as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NAME_BUFFER), "::", stringify!(name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NAME_BUFFER>())).name_num as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NAME_BUFFER), "::", stringify!(name_num) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NAME_BUFFER>())).name_flags as *const _ 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() { 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::null::<_SESSION_HEADER>())).sess_name as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SESSION_HEADER), "::", stringify!(sess_name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SESSION_HEADER>())).num_sess as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_SESSION_HEADER), "::", stringify!(num_sess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SESSION_HEADER>())).rcv_dg_outstanding as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_SESSION_HEADER), "::", stringify!(rcv_dg_outstanding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SESSION_HEADER>())).rcv_any_outstanding as *const _ 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() { 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::null::<_SESSION_BUFFER>())).lsn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SESSION_BUFFER), "::", stringify!(lsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SESSION_BUFFER>())).state as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_SESSION_BUFFER), "::", stringify!(state) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SESSION_BUFFER>())).local_name as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_SESSION_BUFFER), "::", stringify!(local_name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SESSION_BUFFER>())).remote_name as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(_SESSION_BUFFER), "::", stringify!(remote_name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SESSION_BUFFER>())).rcvs_outstanding as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(_SESSION_BUFFER), "::", stringify!(rcvs_outstanding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SESSION_BUFFER>())).sends_outstanding as *const _ 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(Copy, Clone)] pub struct _LANA_ENUM { pub length: UCHAR, pub lana: [UCHAR; 255usize], } #[test] fn bindgen_test_layout__LANA_ENUM() { 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::null::<_LANA_ENUM>())).length as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LANA_ENUM), "::", stringify!(length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LANA_ENUM>())).lana as *const _ 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() { 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::null::<_FIND_NAME_HEADER>())).node_count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FIND_NAME_HEADER), "::", stringify!(node_count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FIND_NAME_HEADER>())).reserved as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_FIND_NAME_HEADER), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FIND_NAME_HEADER>())).unique_group as *const _ 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() { 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::null::<_FIND_NAME_BUFFER>())).length as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FIND_NAME_BUFFER), "::", stringify!(length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FIND_NAME_BUFFER>())).access_control as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_FIND_NAME_BUFFER), "::", stringify!(access_control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FIND_NAME_BUFFER>())).frame_control as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_FIND_NAME_BUFFER), "::", stringify!(frame_control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FIND_NAME_BUFFER>())).destination_addr as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(_FIND_NAME_BUFFER), "::", stringify!(destination_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FIND_NAME_BUFFER>())).source_addr as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(_FIND_NAME_BUFFER), "::", stringify!(source_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FIND_NAME_BUFFER>())).routing_info as *const _ 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() { 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::null::<_ACTION_HEADER>())).transport_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ACTION_HEADER), "::", stringify!(transport_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTION_HEADER>())).action_code as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ACTION_HEADER), "::", stringify!(action_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ACTION_HEADER>())).reserved as *const _ 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() { 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::null::<_RPC_BINDING_VECTOR>())).Count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_VECTOR), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_VECTOR>())).BindingH as *const _ 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() { 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::null::<_UUID_VECTOR>())).Count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_UUID_VECTOR), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_UUID_VECTOR>())).Uuid as *const _ 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() { 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::null::<_RPC_IF_ID>())).Uuid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_IF_ID), "::", stringify!(Uuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_IF_ID>())).VersMajor as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_IF_ID), "::", stringify!(VersMajor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_IF_ID>())).VersMinor as *const _ 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() { 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::null::<_RPC_PROTSEQ_VECTORA>())).Count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_PROTSEQ_VECTORA), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_PROTSEQ_VECTORA>())).Protseq as *const _ 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() { 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::null::<_RPC_PROTSEQ_VECTORW>())).Count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_PROTSEQ_VECTORW), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_PROTSEQ_VECTORW>())).Protseq as *const _ 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() { 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::null::<_RPC_POLICY>())).Length as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_POLICY), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_POLICY>())).EndpointFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_POLICY), "::", stringify!(EndpointFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_POLICY>())).NICFlags as *const _ 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() { 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::null::())).Count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(RPC_STATS_VECTOR), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Stats as *const _ 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() { 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::null::())).Count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(RPC_IF_ID_VECTOR), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IfId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(RPC_IF_ID_VECTOR), "::", stringify!(IfId) ) ); } extern "C" { pub fn RpcBindingCopy( SourceBinding: RPC_BINDING_HANDLE, DestinationBinding: *mut RPC_BINDING_HANDLE, ) -> RPC_STATUS; } extern "C" { pub fn RpcBindingFree(Binding: *mut RPC_BINDING_HANDLE) -> RPC_STATUS; } extern "C" { pub fn RpcBindingSetOption( hBinding: RPC_BINDING_HANDLE, option: ::std::os::raw::c_ulong, optionValue: ULONG_PTR, ) -> RPC_STATUS; } extern "C" { pub fn RpcBindingInqOption( hBinding: RPC_BINDING_HANDLE, option: ::std::os::raw::c_ulong, pOptionValue: *mut ULONG_PTR, ) -> RPC_STATUS; } extern "C" { pub fn RpcBindingFromStringBindingA( StringBinding: RPC_CSTR, Binding: *mut RPC_BINDING_HANDLE, ) -> RPC_STATUS; } extern "C" { pub fn RpcBindingFromStringBindingW( StringBinding: RPC_WSTR, Binding: *mut RPC_BINDING_HANDLE, ) -> RPC_STATUS; } extern "C" { pub fn RpcSsGetContextBinding( ContextHandle: *mut ::std::os::raw::c_void, Binding: *mut RPC_BINDING_HANDLE, ) -> RPC_STATUS; } extern "C" { pub fn RpcBindingInqObject(Binding: RPC_BINDING_HANDLE, ObjectUuid: *mut UUID) -> RPC_STATUS; } extern "C" { pub fn RpcBindingReset(Binding: RPC_BINDING_HANDLE) -> RPC_STATUS; } extern "C" { pub fn RpcBindingSetObject(Binding: RPC_BINDING_HANDLE, ObjectUuid: *mut UUID) -> RPC_STATUS; } extern "C" { pub fn RpcMgmtInqDefaultProtectLevel( AuthnSvc: ::std::os::raw::c_ulong, AuthnLevel: *mut ::std::os::raw::c_ulong, ) -> RPC_STATUS; } extern "C" { pub fn RpcBindingToStringBindingA( Binding: RPC_BINDING_HANDLE, StringBinding: *mut RPC_CSTR, ) -> RPC_STATUS; } extern "C" { pub fn RpcBindingToStringBindingW( Binding: RPC_BINDING_HANDLE, StringBinding: *mut RPC_WSTR, ) -> RPC_STATUS; } extern "C" { pub fn RpcBindingVectorFree(BindingVector: *mut *mut RPC_BINDING_VECTOR) -> RPC_STATUS; } extern "C" { pub fn RpcStringBindingComposeA( ObjUuid: RPC_CSTR, ProtSeq: RPC_CSTR, NetworkAddr: RPC_CSTR, Endpoint: RPC_CSTR, Options: RPC_CSTR, StringBinding: *mut RPC_CSTR, ) -> RPC_STATUS; } extern "C" { pub fn RpcStringBindingComposeW( ObjUuid: RPC_WSTR, ProtSeq: RPC_WSTR, NetworkAddr: RPC_WSTR, Endpoint: RPC_WSTR, Options: RPC_WSTR, StringBinding: *mut RPC_WSTR, ) -> RPC_STATUS; } extern "C" { pub fn RpcStringBindingParseA( StringBinding: RPC_CSTR, ObjUuid: *mut RPC_CSTR, Protseq: *mut RPC_CSTR, NetworkAddr: *mut RPC_CSTR, Endpoint: *mut RPC_CSTR, NetworkOptions: *mut RPC_CSTR, ) -> RPC_STATUS; } extern "C" { pub fn RpcStringBindingParseW( StringBinding: RPC_WSTR, ObjUuid: *mut RPC_WSTR, Protseq: *mut RPC_WSTR, NetworkAddr: *mut RPC_WSTR, Endpoint: *mut RPC_WSTR, NetworkOptions: *mut RPC_WSTR, ) -> RPC_STATUS; } extern "C" { pub fn RpcStringFreeA(String: *mut RPC_CSTR) -> RPC_STATUS; } extern "C" { pub fn RpcStringFreeW(String: *mut RPC_WSTR) -> RPC_STATUS; } extern "C" { pub fn RpcIfInqId(RpcIfHandle: RPC_IF_HANDLE, RpcIfId: *mut RPC_IF_ID) -> RPC_STATUS; } extern "C" { pub fn RpcNetworkIsProtseqValidA(Protseq: RPC_CSTR) -> RPC_STATUS; } extern "C" { pub fn RpcNetworkIsProtseqValidW(Protseq: RPC_WSTR) -> RPC_STATUS; } extern "C" { pub fn RpcMgmtInqComTimeout( Binding: RPC_BINDING_HANDLE, Timeout: *mut ::std::os::raw::c_uint, ) -> RPC_STATUS; } extern "C" { pub fn RpcMgmtSetComTimeout( Binding: RPC_BINDING_HANDLE, Timeout: ::std::os::raw::c_uint, ) -> RPC_STATUS; } extern "C" { pub fn RpcMgmtSetCancelTimeout(Timeout: ::std::os::raw::c_long) -> RPC_STATUS; } extern "C" { pub fn RpcNetworkInqProtseqsA(ProtseqVector: *mut *mut RPC_PROTSEQ_VECTORA) -> RPC_STATUS; } extern "C" { pub fn RpcNetworkInqProtseqsW(ProtseqVector: *mut *mut RPC_PROTSEQ_VECTORW) -> RPC_STATUS; } extern "C" { pub fn RpcObjectInqType(ObjUuid: *mut UUID, TypeUuid: *mut UUID) -> RPC_STATUS; } extern "C" { pub fn RpcObjectSetInqFn( InquiryFn: ::std::option::Option< unsafe extern "C" fn(arg1: *mut UUID, arg2: *mut UUID, arg3: *mut RPC_STATUS), >, ) -> RPC_STATUS; } extern "C" { pub fn RpcObjectSetType(ObjUuid: *mut UUID, TypeUuid: *mut UUID) -> RPC_STATUS; } extern "C" { pub fn RpcProtseqVectorFreeA(ProtseqVector: *mut *mut RPC_PROTSEQ_VECTORA) -> RPC_STATUS; } extern "C" { pub fn RpcProtseqVectorFreeW(ProtseqVector: *mut *mut RPC_PROTSEQ_VECTORW) -> RPC_STATUS; } extern "C" { pub fn RpcServerInqBindings(BindingVector: *mut *mut RPC_BINDING_VECTOR) -> RPC_STATUS; } extern "C" { pub fn RpcServerInqBindingsEx( SecurityDescriptor: *mut ::std::os::raw::c_void, BindingVector: *mut *mut RPC_BINDING_VECTOR, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerInqIf( IfSpec: RPC_IF_HANDLE, MgrTypeUuid: *mut UUID, MgrEpv: *mut *mut ::std::os::raw::c_void, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerListen( MinimumCallThreads: ::std::os::raw::c_uint, MaxCalls: ::std::os::raw::c_uint, DontWait: ::std::os::raw::c_uint, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerRegisterIf( IfSpec: RPC_IF_HANDLE, MgrTypeUuid: *mut UUID, MgrEpv: *mut ::std::os::raw::c_void, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerRegisterIfEx( IfSpec: RPC_IF_HANDLE, MgrTypeUuid: *mut UUID, MgrEpv: *mut ::std::os::raw::c_void, Flags: ::std::os::raw::c_uint, MaxCalls: ::std::os::raw::c_uint, IfCallback: ::std::option::Option< unsafe extern "C" fn( arg1: RPC_IF_HANDLE, arg2: *mut ::std::os::raw::c_void, ) -> RPC_STATUS, >, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerRegisterIf2( IfSpec: RPC_IF_HANDLE, MgrTypeUuid: *mut UUID, MgrEpv: *mut ::std::os::raw::c_void, Flags: ::std::os::raw::c_uint, MaxCalls: ::std::os::raw::c_uint, MaxRpcSize: ::std::os::raw::c_uint, IfCallbackFn: ::std::option::Option< unsafe extern "C" fn( arg1: RPC_IF_HANDLE, arg2: *mut ::std::os::raw::c_void, ) -> RPC_STATUS, >, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerRegisterIf3( IfSpec: RPC_IF_HANDLE, MgrTypeUuid: *mut UUID, MgrEpv: *mut ::std::os::raw::c_void, Flags: ::std::os::raw::c_uint, MaxCalls: ::std::os::raw::c_uint, MaxRpcSize: ::std::os::raw::c_uint, IfCallback: ::std::option::Option< unsafe extern "C" fn( arg1: RPC_IF_HANDLE, arg2: *mut ::std::os::raw::c_void, ) -> RPC_STATUS, >, SecurityDescriptor: *mut ::std::os::raw::c_void, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUnregisterIf( IfSpec: RPC_IF_HANDLE, MgrTypeUuid: *mut UUID, WaitForCallsToComplete: ::std::os::raw::c_uint, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUnregisterIfEx( IfSpec: RPC_IF_HANDLE, MgrTypeUuid: *mut UUID, RundownContextHandles: ::std::os::raw::c_int, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseAllProtseqs( MaxCalls: ::std::os::raw::c_uint, SecurityDescriptor: *mut ::std::os::raw::c_void, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseAllProtseqsEx( MaxCalls: ::std::os::raw::c_uint, SecurityDescriptor: *mut ::std::os::raw::c_void, Policy: PRPC_POLICY, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseAllProtseqsIf( MaxCalls: ::std::os::raw::c_uint, IfSpec: RPC_IF_HANDLE, SecurityDescriptor: *mut ::std::os::raw::c_void, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseAllProtseqsIfEx( MaxCalls: ::std::os::raw::c_uint, IfSpec: RPC_IF_HANDLE, SecurityDescriptor: *mut ::std::os::raw::c_void, Policy: PRPC_POLICY, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseProtseqA( Protseq: RPC_CSTR, MaxCalls: ::std::os::raw::c_uint, SecurityDescriptor: *mut ::std::os::raw::c_void, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseProtseqExA( Protseq: RPC_CSTR, MaxCalls: ::std::os::raw::c_uint, SecurityDescriptor: *mut ::std::os::raw::c_void, Policy: PRPC_POLICY, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseProtseqW( Protseq: RPC_WSTR, MaxCalls: ::std::os::raw::c_uint, SecurityDescriptor: *mut ::std::os::raw::c_void, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseProtseqExW( Protseq: RPC_WSTR, MaxCalls: ::std::os::raw::c_uint, SecurityDescriptor: *mut ::std::os::raw::c_void, Policy: PRPC_POLICY, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseProtseqEpA( Protseq: RPC_CSTR, MaxCalls: ::std::os::raw::c_uint, Endpoint: RPC_CSTR, SecurityDescriptor: *mut ::std::os::raw::c_void, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseProtseqEpExA( Protseq: RPC_CSTR, MaxCalls: ::std::os::raw::c_uint, Endpoint: RPC_CSTR, SecurityDescriptor: *mut ::std::os::raw::c_void, Policy: PRPC_POLICY, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseProtseqEpW( Protseq: RPC_WSTR, MaxCalls: ::std::os::raw::c_uint, Endpoint: RPC_WSTR, SecurityDescriptor: *mut ::std::os::raw::c_void, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseProtseqEpExW( Protseq: RPC_WSTR, MaxCalls: ::std::os::raw::c_uint, Endpoint: RPC_WSTR, SecurityDescriptor: *mut ::std::os::raw::c_void, Policy: PRPC_POLICY, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseProtseqIfA( Protseq: RPC_CSTR, MaxCalls: ::std::os::raw::c_uint, IfSpec: RPC_IF_HANDLE, SecurityDescriptor: *mut ::std::os::raw::c_void, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseProtseqIfExA( Protseq: RPC_CSTR, MaxCalls: ::std::os::raw::c_uint, IfSpec: RPC_IF_HANDLE, SecurityDescriptor: *mut ::std::os::raw::c_void, Policy: PRPC_POLICY, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseProtseqIfW( Protseq: RPC_WSTR, MaxCalls: ::std::os::raw::c_uint, IfSpec: RPC_IF_HANDLE, SecurityDescriptor: *mut ::std::os::raw::c_void, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerUseProtseqIfExW( Protseq: RPC_WSTR, MaxCalls: ::std::os::raw::c_uint, IfSpec: RPC_IF_HANDLE, SecurityDescriptor: *mut ::std::os::raw::c_void, Policy: PRPC_POLICY, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerYield(); } extern "C" { pub fn RpcMgmtStatsVectorFree(StatsVector: *mut *mut RPC_STATS_VECTOR) -> RPC_STATUS; } extern "C" { pub fn RpcMgmtInqStats( Binding: RPC_BINDING_HANDLE, Statistics: *mut *mut RPC_STATS_VECTOR, ) -> RPC_STATUS; } extern "C" { pub fn RpcMgmtIsServerListening(Binding: RPC_BINDING_HANDLE) -> RPC_STATUS; } extern "C" { pub fn RpcMgmtStopServerListening(Binding: RPC_BINDING_HANDLE) -> RPC_STATUS; } extern "C" { pub fn RpcMgmtWaitServerListen() -> RPC_STATUS; } extern "C" { pub fn RpcMgmtSetServerStackSize(ThreadStackSize: ::std::os::raw::c_ulong) -> RPC_STATUS; } extern "C" { pub fn RpcSsDontSerializeContext(); } extern "C" { pub fn RpcMgmtEnableIdleCleanup() -> RPC_STATUS; } extern "C" { pub fn RpcMgmtInqIfIds( Binding: RPC_BINDING_HANDLE, IfIdVector: *mut *mut RPC_IF_ID_VECTOR, ) -> RPC_STATUS; } extern "C" { pub fn RpcIfIdVectorFree(IfIdVector: *mut *mut RPC_IF_ID_VECTOR) -> RPC_STATUS; } extern "C" { pub fn RpcMgmtInqServerPrincNameA( Binding: RPC_BINDING_HANDLE, AuthnSvc: ::std::os::raw::c_ulong, ServerPrincName: *mut RPC_CSTR, ) -> RPC_STATUS; } extern "C" { pub fn RpcMgmtInqServerPrincNameW( Binding: RPC_BINDING_HANDLE, AuthnSvc: ::std::os::raw::c_ulong, ServerPrincName: *mut RPC_WSTR, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerInqDefaultPrincNameA( AuthnSvc: ::std::os::raw::c_ulong, PrincName: *mut RPC_CSTR, ) -> RPC_STATUS; } extern "C" { pub fn RpcServerInqDefaultPrincNameW( AuthnSvc: ::std::os::raw::c_ulong, PrincName: *mut RPC_WSTR, ) -> RPC_STATUS; } extern "C" { pub fn RpcEpResolveBinding(Binding: RPC_BINDING_HANDLE, IfSpec: RPC_IF_HANDLE) -> RPC_STATUS; } extern "C" { pub fn RpcNsBindingInqEntryNameA( Binding: RPC_BINDING_HANDLE, EntryNameSyntax: ::std::os::raw::c_ulong, EntryName: *mut RPC_CSTR, ) -> RPC_STATUS; } extern "C" { pub fn RpcNsBindingInqEntryNameW( Binding: RPC_BINDING_HANDLE, EntryNameSyntax: ::std::os::raw::c_ulong, EntryName: *mut RPC_WSTR, ) -> RPC_STATUS; } pub type RPC_AUTH_IDENTITY_HANDLE = *mut ::std::os::raw::c_void; pub type RPC_AUTHZ_HANDLE = *mut ::std::os::raw::c_void; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _RPC_SECURITY_QOS { pub Version: ::std::os::raw::c_ulong, pub Capabilities: ::std::os::raw::c_ulong, pub IdentityTracking: ::std::os::raw::c_ulong, pub ImpersonationType: ::std::os::raw::c_ulong, } #[test] fn bindgen_test_layout__RPC_SECURITY_QOS() { 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::null::<_RPC_SECURITY_QOS>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS>())).Capabilities as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS), "::", stringify!(Capabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS>())).IdentityTracking as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS), "::", stringify!(IdentityTracking) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS>())).ImpersonationType as *const _ 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() { 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::null::<_SEC_WINNT_AUTH_IDENTITY_W>())).User as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_W), "::", stringify!(User) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SEC_WINNT_AUTH_IDENTITY_W>())).UserLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_W), "::", stringify!(UserLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SEC_WINNT_AUTH_IDENTITY_W>())).Domain as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_W), "::", stringify!(Domain) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SEC_WINNT_AUTH_IDENTITY_W>())).DomainLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_W), "::", stringify!(DomainLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SEC_WINNT_AUTH_IDENTITY_W>())).Password as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_W), "::", stringify!(Password) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SEC_WINNT_AUTH_IDENTITY_W>())).PasswordLength as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_W), "::", stringify!(PasswordLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SEC_WINNT_AUTH_IDENTITY_W>())).Flags as *const _ 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() { 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::null::<_SEC_WINNT_AUTH_IDENTITY_A>())).User as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_A), "::", stringify!(User) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SEC_WINNT_AUTH_IDENTITY_A>())).UserLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_A), "::", stringify!(UserLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SEC_WINNT_AUTH_IDENTITY_A>())).Domain as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_A), "::", stringify!(Domain) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SEC_WINNT_AUTH_IDENTITY_A>())).DomainLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_A), "::", stringify!(DomainLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SEC_WINNT_AUTH_IDENTITY_A>())).Password as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_A), "::", stringify!(Password) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SEC_WINNT_AUTH_IDENTITY_A>())).PasswordLength as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_A), "::", stringify!(PasswordLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SEC_WINNT_AUTH_IDENTITY_A>())).Flags as *const _ 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() { 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::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_W>())).TransportCredentials as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), "::", stringify!(TransportCredentials) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_W>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_W>())).AuthenticationTarget as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), "::", stringify!(AuthenticationTarget) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_W>())).NumberOfAuthnSchemes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), "::", stringify!(NumberOfAuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_W>())).AuthnSchemes as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), "::", stringify!(AuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_W>())).ServerCertificateSubject as *const _ 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() { 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::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_A>())).TransportCredentials as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), "::", stringify!(TransportCredentials) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_A>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_A>())).AuthenticationTarget as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), "::", stringify!(AuthenticationTarget) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_A>())).NumberOfAuthnSchemes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), "::", stringify!(NumberOfAuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_A>())).AuthnSchemes as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), "::", stringify!(AuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_A>())).ServerCertificateSubject as *const _ 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() { 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::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W>())).TransportCredentials as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), "::", stringify!(TransportCredentials) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W>())).AuthenticationTarget as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), "::", stringify!(AuthenticationTarget) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W>())).NumberOfAuthnSchemes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), "::", stringify!(NumberOfAuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W>())).AuthnSchemes as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), "::", stringify!(AuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W>())) .ServerCertificateSubject as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), "::", stringify!(ServerCertificateSubject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W>())).ProxyCredentials as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), "::", stringify!(ProxyCredentials) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W>())) .NumberOfProxyAuthnSchemes as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), "::", stringify!(NumberOfProxyAuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W>())).ProxyAuthnSchemes as *const _ 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() { 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::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A>())).TransportCredentials as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), "::", stringify!(TransportCredentials) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A>())).AuthenticationTarget as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), "::", stringify!(AuthenticationTarget) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A>())).NumberOfAuthnSchemes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), "::", stringify!(NumberOfAuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A>())).AuthnSchemes as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), "::", stringify!(AuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A>())) .ServerCertificateSubject as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), "::", stringify!(ServerCertificateSubject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A>())).ProxyCredentials as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), "::", stringify!(ProxyCredentials) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A>())) .NumberOfProxyAuthnSchemes as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), "::", stringify!(NumberOfProxyAuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A>())).ProxyAuthnSchemes as *const _ 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() { 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::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W>())).TransportCredentials as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), "::", stringify!(TransportCredentials) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W>())).AuthenticationTarget as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), "::", stringify!(AuthenticationTarget) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W>())).NumberOfAuthnSchemes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), "::", stringify!(NumberOfAuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W>())).AuthnSchemes as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), "::", stringify!(AuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W>())) .ServerCertificateSubject as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), "::", stringify!(ServerCertificateSubject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W>())).ProxyCredentials as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), "::", stringify!(ProxyCredentials) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W>())) .NumberOfProxyAuthnSchemes as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), "::", stringify!(NumberOfProxyAuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W>())).ProxyAuthnSchemes as *const _ 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() { 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::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A>())).TransportCredentials as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), "::", stringify!(TransportCredentials) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A>())).AuthenticationTarget as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), "::", stringify!(AuthenticationTarget) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A>())).NumberOfAuthnSchemes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), "::", stringify!(NumberOfAuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A>())).AuthnSchemes as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), "::", stringify!(AuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A>())) .ServerCertificateSubject as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), "::", stringify!(ServerCertificateSubject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A>())).ProxyCredentials as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), "::", stringify!(ProxyCredentials) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A>())) .NumberOfProxyAuthnSchemes as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), "::", stringify!(NumberOfProxyAuthnSchemes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A>())).ProxyAuthnSchemes as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__RPC_SECURITY_QOS_V2_W__bindgen_ty_1() { 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::null::<_RPC_SECURITY_QOS_V2_W__bindgen_ty_1>())).HttpCredentials as *const _ 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() { 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::null::<_RPC_SECURITY_QOS_V2_W>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V2_W), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V2_W>())).Capabilities as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V2_W), "::", stringify!(Capabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V2_W>())).IdentityTracking as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V2_W), "::", stringify!(IdentityTracking) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V2_W>())).ImpersonationType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V2_W), "::", stringify!(ImpersonationType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V2_W>())).AdditionalSecurityInfoType as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V2_W), "::", stringify!(AdditionalSecurityInfoType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V2_W>())).u as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__RPC_SECURITY_QOS_V2_A__bindgen_ty_1() { 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::null::<_RPC_SECURITY_QOS_V2_A__bindgen_ty_1>())).HttpCredentials as *const _ 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() { 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::null::<_RPC_SECURITY_QOS_V2_A>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V2_A), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V2_A>())).Capabilities as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V2_A), "::", stringify!(Capabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V2_A>())).IdentityTracking as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V2_A), "::", stringify!(IdentityTracking) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V2_A>())).ImpersonationType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V2_A), "::", stringify!(ImpersonationType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V2_A>())).AdditionalSecurityInfoType as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V2_A), "::", stringify!(AdditionalSecurityInfoType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V2_A>())).u as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__RPC_SECURITY_QOS_V3_W__bindgen_ty_1() { 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::null::<_RPC_SECURITY_QOS_V3_W__bindgen_ty_1>())).HttpCredentials as *const _ 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() { 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::null::<_RPC_SECURITY_QOS_V3_W>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V3_W), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V3_W>())).Capabilities as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V3_W), "::", stringify!(Capabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V3_W>())).IdentityTracking as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V3_W), "::", stringify!(IdentityTracking) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V3_W>())).ImpersonationType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V3_W), "::", stringify!(ImpersonationType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V3_W>())).AdditionalSecurityInfoType as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V3_W), "::", stringify!(AdditionalSecurityInfoType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V3_W>())).u as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V3_W), "::", stringify!(u) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V3_W>())).Sid as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__RPC_SECURITY_QOS_V3_A__bindgen_ty_1() { 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::null::<_RPC_SECURITY_QOS_V3_A__bindgen_ty_1>())).HttpCredentials as *const _ 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() { 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::null::<_RPC_SECURITY_QOS_V3_A>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V3_A), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V3_A>())).Capabilities as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V3_A), "::", stringify!(Capabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V3_A>())).IdentityTracking as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V3_A), "::", stringify!(IdentityTracking) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V3_A>())).ImpersonationType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V3_A), "::", stringify!(ImpersonationType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V3_A>())).AdditionalSecurityInfoType as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V3_A), "::", stringify!(AdditionalSecurityInfoType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V3_A>())).u as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V3_A), "::", stringify!(u) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V3_A>())).Sid as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__RPC_SECURITY_QOS_V4_W__bindgen_ty_1() { 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::null::<_RPC_SECURITY_QOS_V4_W__bindgen_ty_1>())).HttpCredentials as *const _ 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() { 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::null::<_RPC_SECURITY_QOS_V4_W>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V4_W), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V4_W>())).Capabilities as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V4_W), "::", stringify!(Capabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V4_W>())).IdentityTracking as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V4_W), "::", stringify!(IdentityTracking) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V4_W>())).ImpersonationType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V4_W), "::", stringify!(ImpersonationType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V4_W>())).AdditionalSecurityInfoType as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V4_W), "::", stringify!(AdditionalSecurityInfoType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V4_W>())).u as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V4_W), "::", stringify!(u) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V4_W>())).Sid as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V4_W), "::", stringify!(Sid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V4_W>())).EffectiveOnly as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__RPC_SECURITY_QOS_V4_A__bindgen_ty_1() { 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::null::<_RPC_SECURITY_QOS_V4_A__bindgen_ty_1>())).HttpCredentials as *const _ 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() { 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::null::<_RPC_SECURITY_QOS_V4_A>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V4_A), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V4_A>())).Capabilities as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V4_A), "::", stringify!(Capabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V4_A>())).IdentityTracking as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V4_A), "::", stringify!(IdentityTracking) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V4_A>())).ImpersonationType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V4_A), "::", stringify!(ImpersonationType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V4_A>())).AdditionalSecurityInfoType as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V4_A), "::", stringify!(AdditionalSecurityInfoType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V4_A>())).u as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V4_A), "::", stringify!(u) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V4_A>())).Sid as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V4_A), "::", stringify!(Sid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V4_A>())).EffectiveOnly as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__RPC_SECURITY_QOS_V5_W__bindgen_ty_1() { 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::null::<_RPC_SECURITY_QOS_V5_W__bindgen_ty_1>())).HttpCredentials as *const _ 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() { 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::null::<_RPC_SECURITY_QOS_V5_W>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_W), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_W>())).Capabilities as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_W), "::", stringify!(Capabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_W>())).IdentityTracking as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_W), "::", stringify!(IdentityTracking) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_W>())).ImpersonationType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_W), "::", stringify!(ImpersonationType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_W>())).AdditionalSecurityInfoType as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_W), "::", stringify!(AdditionalSecurityInfoType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_W>())).u as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_W), "::", stringify!(u) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_W>())).Sid as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_W), "::", stringify!(Sid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_W>())).EffectiveOnly as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_W), "::", stringify!(EffectiveOnly) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_W>())).ServerSecurityDescriptor as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__RPC_SECURITY_QOS_V5_A__bindgen_ty_1() { 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::null::<_RPC_SECURITY_QOS_V5_A__bindgen_ty_1>())).HttpCredentials as *const _ 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() { 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::null::<_RPC_SECURITY_QOS_V5_A>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_A), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_A>())).Capabilities as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_A), "::", stringify!(Capabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_A>())).IdentityTracking as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_A), "::", stringify!(IdentityTracking) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_A>())).ImpersonationType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_A), "::", stringify!(ImpersonationType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_A>())).AdditionalSecurityInfoType as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_A), "::", stringify!(AdditionalSecurityInfoType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_A>())).u as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_A), "::", stringify!(u) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_A>())).Sid as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_A), "::", stringify!(Sid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_A>())).EffectiveOnly as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_RPC_SECURITY_QOS_V5_A), "::", stringify!(EffectiveOnly) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SECURITY_QOS_V5_A>())).ServerSecurityDescriptor as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1() { 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::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1>())).Reserved as *const _ 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() { 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::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W>())).ProtocolSequence as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), "::", stringify!(ProtocolSequence) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W>())).NetworkAddress as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), "::", stringify!(NetworkAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W>())).StringEndpoint as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), "::", stringify!(StringEndpoint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W>())).u1 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), "::", stringify!(u1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W>())).ObjectUuid as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1() { 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::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1>())).Reserved as *const _ 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() { 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::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A>())).ProtocolSequence as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), "::", stringify!(ProtocolSequence) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A>())).NetworkAddress as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), "::", stringify!(NetworkAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A>())).StringEndpoint as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), "::", stringify!(StringEndpoint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A>())).u1 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), "::", stringify!(u1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A>())).ObjectUuid as *const _ 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() { 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::null::<_RPC_BINDING_HANDLE_SECURITY_V1_W>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_SECURITY_V1_W>())).ServerPrincName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), "::", stringify!(ServerPrincName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_SECURITY_V1_W>())).AuthnLevel as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), "::", stringify!(AuthnLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_SECURITY_V1_W>())).AuthnSvc as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), "::", stringify!(AuthnSvc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_SECURITY_V1_W>())).AuthIdentity as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), "::", stringify!(AuthIdentity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_SECURITY_V1_W>())).SecurityQos as *const _ 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() { 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::null::<_RPC_BINDING_HANDLE_SECURITY_V1_A>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_SECURITY_V1_A>())).ServerPrincName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), "::", stringify!(ServerPrincName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_SECURITY_V1_A>())).AuthnLevel as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), "::", stringify!(AuthnLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_SECURITY_V1_A>())).AuthnSvc as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), "::", stringify!(AuthnSvc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_SECURITY_V1_A>())).AuthIdentity as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), "::", stringify!(AuthIdentity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_SECURITY_V1_A>())).SecurityQos as *const _ 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() { 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::null::<_RPC_BINDING_HANDLE_OPTIONS_V1>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_OPTIONS_V1), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_OPTIONS_V1>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_OPTIONS_V1), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_OPTIONS_V1>())).ComTimeout as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_BINDING_HANDLE_OPTIONS_V1), "::", stringify!(ComTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_BINDING_HANDLE_OPTIONS_V1>())).CallTimeout as *const _ 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() { 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::null::())).UserName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(RPC_CLIENT_INFORMATION1), "::", stringify!(UserName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ComputerName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(RPC_CLIENT_INFORMATION1), "::", stringify!(ComputerName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Privilege as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(RPC_CLIENT_INFORMATION1), "::", stringify!(Privilege) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AuthFlags as *const _ 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() { 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::null::())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(RPC_ENDPOINT_TEMPLATEW), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProtSeq as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(RPC_ENDPOINT_TEMPLATEW), "::", stringify!(ProtSeq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Endpoint as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(RPC_ENDPOINT_TEMPLATEW), "::", stringify!(Endpoint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SecurityDescriptor as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(RPC_ENDPOINT_TEMPLATEW), "::", stringify!(SecurityDescriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Backlog as *const _ 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() { 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::null::())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(RPC_ENDPOINT_TEMPLATEA), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProtSeq as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(RPC_ENDPOINT_TEMPLATEA), "::", stringify!(ProtSeq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Endpoint as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(RPC_ENDPOINT_TEMPLATEA), "::", stringify!(Endpoint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SecurityDescriptor as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(RPC_ENDPOINT_TEMPLATEA), "::", stringify!(SecurityDescriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Backlog as *const _ 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() { 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::null::())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEA), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IfSpec as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEA), "::", stringify!(IfSpec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MgrTypeUuid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEA), "::", stringify!(MgrTypeUuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MgrEpv as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEA), "::", stringify!(MgrEpv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEA), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxCalls as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEA), "::", stringify!(MaxCalls) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxRpcSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEA), "::", stringify!(MaxRpcSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IfCallback as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEA), "::", stringify!(IfCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UuidVector as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEA), "::", stringify!(UuidVector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Annotation as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEA), "::", stringify!(Annotation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SecurityDescriptor as *const _ 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() { 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::null::())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEW), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IfSpec as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEW), "::", stringify!(IfSpec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MgrTypeUuid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEW), "::", stringify!(MgrTypeUuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MgrEpv as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEW), "::", stringify!(MgrEpv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEW), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxCalls as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEW), "::", stringify!(MaxCalls) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxRpcSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEW), "::", stringify!(MaxRpcSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IfCallback as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEW), "::", stringify!(IfCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UuidVector as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEW), "::", stringify!(UuidVector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Annotation as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(RPC_INTERFACE_TEMPLATEW), "::", stringify!(Annotation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SecurityDescriptor as *const _ 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() { 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::null::<_RPC_VERSION>())).MajorVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_VERSION), "::", stringify!(MajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_VERSION>())).MinorVersion as *const _ 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() { 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::null::<_RPC_SYNTAX_IDENTIFIER>())).SyntaxGUID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_SYNTAX_IDENTIFIER), "::", stringify!(SyntaxGUID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SYNTAX_IDENTIFIER>())).SyntaxVersion as *const _ 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() { 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::null::<_RPC_MESSAGE>())).Handle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_MESSAGE), "::", stringify!(Handle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_MESSAGE>())).DataRepresentation as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_MESSAGE), "::", stringify!(DataRepresentation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_MESSAGE>())).Buffer as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_MESSAGE), "::", stringify!(Buffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_MESSAGE>())).BufferLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_MESSAGE), "::", stringify!(BufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_MESSAGE>())).ProcNum as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_RPC_MESSAGE), "::", stringify!(ProcNum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_MESSAGE>())).TransferSyntax as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_RPC_MESSAGE), "::", stringify!(TransferSyntax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_MESSAGE>())).RpcInterfaceInformation as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_RPC_MESSAGE), "::", stringify!(RpcInterfaceInformation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_MESSAGE>())).ReservedForRuntime as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_RPC_MESSAGE), "::", stringify!(ReservedForRuntime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_MESSAGE>())).ManagerEpv as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_RPC_MESSAGE), "::", stringify!(ManagerEpv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_MESSAGE>())).ImportContext as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_RPC_MESSAGE), "::", stringify!(ImportContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_MESSAGE>())).RpcFlags as *const _ 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() { 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::null::())).DispatchTableCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(RPC_DISPATCH_TABLE), "::", stringify!(DispatchTableCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DispatchTable as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(RPC_DISPATCH_TABLE), "::", stringify!(DispatchTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reserved as *const _ 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() { 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::null::<_RPC_PROTSEQ_ENDPOINT>())).RpcProtocolSequence as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_PROTSEQ_ENDPOINT), "::", stringify!(RpcProtocolSequence) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_PROTSEQ_ENDPOINT>())).Endpoint as *const _ 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() { 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::null::<_RPC_SERVER_INTERFACE>())).Length as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_SERVER_INTERFACE), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SERVER_INTERFACE>())).InterfaceId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_SERVER_INTERFACE), "::", stringify!(InterfaceId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SERVER_INTERFACE>())).TransferSyntax as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_SERVER_INTERFACE), "::", stringify!(TransferSyntax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SERVER_INTERFACE>())).DispatchTable as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_RPC_SERVER_INTERFACE), "::", stringify!(DispatchTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SERVER_INTERFACE>())).RpcProtseqEndpointCount as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_RPC_SERVER_INTERFACE), "::", stringify!(RpcProtseqEndpointCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SERVER_INTERFACE>())).RpcProtseqEndpoint as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_RPC_SERVER_INTERFACE), "::", stringify!(RpcProtseqEndpoint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SERVER_INTERFACE>())).DefaultManagerEpv as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_RPC_SERVER_INTERFACE), "::", stringify!(DefaultManagerEpv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SERVER_INTERFACE>())).InterpreterInfo as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_RPC_SERVER_INTERFACE), "::", stringify!(InterpreterInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SERVER_INTERFACE>())).Flags as *const _ 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() { 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::null::<_RPC_CLIENT_INTERFACE>())).Length as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_CLIENT_INTERFACE), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_CLIENT_INTERFACE>())).InterfaceId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_CLIENT_INTERFACE), "::", stringify!(InterfaceId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_CLIENT_INTERFACE>())).TransferSyntax as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_CLIENT_INTERFACE), "::", stringify!(TransferSyntax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_CLIENT_INTERFACE>())).DispatchTable as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_RPC_CLIENT_INTERFACE), "::", stringify!(DispatchTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_CLIENT_INTERFACE>())).RpcProtseqEndpointCount as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_RPC_CLIENT_INTERFACE), "::", stringify!(RpcProtseqEndpointCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_CLIENT_INTERFACE>())).RpcProtseqEndpoint as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_RPC_CLIENT_INTERFACE), "::", stringify!(RpcProtseqEndpoint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_CLIENT_INTERFACE>())).Reserved as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_RPC_CLIENT_INTERFACE), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_CLIENT_INTERFACE>())).InterpreterInfo as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_RPC_CLIENT_INTERFACE), "::", stringify!(InterpreterInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_CLIENT_INTERFACE>())).Flags as *const _ 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() { 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::null::<_RPC_SEC_CONTEXT_KEY_INFO>())).EncryptAlgorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_SEC_CONTEXT_KEY_INFO), "::", stringify!(EncryptAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SEC_CONTEXT_KEY_INFO>())).KeySize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_SEC_CONTEXT_KEY_INFO), "::", stringify!(KeySize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_SEC_CONTEXT_KEY_INFO>())).SignatureAlgorithm as *const _ 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() { 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::null::<_RPC_TRANSFER_SYNTAX>())).Uuid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_TRANSFER_SYNTAX), "::", stringify!(Uuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_TRANSFER_SYNTAX>())).VersMajor as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_TRANSFER_SYNTAX), "::", stringify!(VersMajor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_TRANSFER_SYNTAX>())).VersMinor as *const _ 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() { 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::null::<_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR>())).BufferSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR), "::", stringify!(BufferSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR>())).Buffer as *const _ 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() { 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::null::<_RDR_CALLOUT_STATE>())).LastError as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RDR_CALLOUT_STATE), "::", stringify!(LastError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RDR_CALLOUT_STATE>())).LastEEInfo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RDR_CALLOUT_STATE), "::", stringify!(LastEEInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RDR_CALLOUT_STATE>())).LastCalledStage as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RDR_CALLOUT_STATE), "::", stringify!(LastCalledStage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RDR_CALLOUT_STATE>())).ServerName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RDR_CALLOUT_STATE), "::", stringify!(ServerName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RDR_CALLOUT_STATE>())).ServerPort as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_RDR_CALLOUT_STATE), "::", stringify!(ServerPort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RDR_CALLOUT_STATE>())).RemoteUser as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_RDR_CALLOUT_STATE), "::", stringify!(RemoteUser) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RDR_CALLOUT_STATE>())).AuthType as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_RDR_CALLOUT_STATE), "::", stringify!(AuthType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RDR_CALLOUT_STATE>())).ResourceTypePresent as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_RDR_CALLOUT_STATE), "::", stringify!(ResourceTypePresent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RDR_CALLOUT_STATE>())).SessionIdPresent as *const _ as usize }, 57usize, concat!( "Offset of field: ", stringify!(_RDR_CALLOUT_STATE), "::", stringify!(SessionIdPresent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RDR_CALLOUT_STATE>())).InterfacePresent as *const _ as usize }, 58usize, concat!( "Offset of field: ", stringify!(_RDR_CALLOUT_STATE), "::", stringify!(InterfacePresent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RDR_CALLOUT_STATE>())).ResourceType as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_RDR_CALLOUT_STATE), "::", stringify!(ResourceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RDR_CALLOUT_STATE>())).SessionId as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(_RDR_CALLOUT_STATE), "::", stringify!(SessionId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RDR_CALLOUT_STATE>())).Interface as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(_RDR_CALLOUT_STATE), "::", stringify!(Interface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RDR_CALLOUT_STATE>())).CertContext as *const _ 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() { 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::null::())).IsValidMachineFn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagI_RpcProxyCallbackInterface), "::", stringify!(IsValidMachineFn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetClientAddressFn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagI_RpcProxyCallbackInterface), "::", stringify!(GetClientAddressFn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetConnectionTimeoutFn as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagI_RpcProxyCallbackInterface), "::", stringify!(GetConnectionTimeoutFn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PerformCalloutFn as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagI_RpcProxyCallbackInterface), "::", stringify!(PerformCalloutFn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FreeCalloutStateFn as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagI_RpcProxyCallbackInterface), "::", stringify!(FreeCalloutStateFn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .GetClientSessionAndResourceUUIDFn as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagI_RpcProxyCallbackInterface), "::", stringify!(GetClientSessionAndResourceUUIDFn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProxyFilterIfFn as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagI_RpcProxyCallbackInterface), "::", stringify!(ProxyFilterIfFn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RpcProxyUpdatePerfCounterFn as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagI_RpcProxyCallbackInterface), "::", stringify!(RpcProxyUpdatePerfCounterFn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .RpcProxyUpdatePerfCounterBackendServerFn as *const _ 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, _bindgen_union_align: [u64; 4usize], } #[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() { 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::null::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1>())) .NotificationRoutine as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1), "::", stringify!(NotificationRoutine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1>())).hThread as *const _ 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() { 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::null::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2>())).hIOPort as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2), "::", stringify!(hIOPort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2>())) .dwNumberOfBytesTransferred as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2), "::", stringify!(dwNumberOfBytesTransferred) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2>())).dwCompletionKey as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2), "::", stringify!(dwCompletionKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2>())).lpOverlapped as *const _ 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() { 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::null::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3>())).hWnd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3), "::", stringify!(hWnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3>())).Msg as *const _ 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() { 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::null::<_RPC_ASYNC_NOTIFICATION_INFO>())).APC as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_NOTIFICATION_INFO), "::", stringify!(APC) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_NOTIFICATION_INFO>())).IOC as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_NOTIFICATION_INFO), "::", stringify!(IOC) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_NOTIFICATION_INFO>())).HWND as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_NOTIFICATION_INFO), "::", stringify!(HWND) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_NOTIFICATION_INFO>())).hEvent as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_NOTIFICATION_INFO), "::", stringify!(hEvent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_NOTIFICATION_INFO>())).NotificationRoutine as *const _ 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() { 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::null::<_RPC_ASYNC_STATE>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_STATE), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_STATE>())).Signature as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_STATE), "::", stringify!(Signature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_STATE>())).Lock as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_STATE), "::", stringify!(Lock) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_STATE>())).Flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_STATE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_STATE>())).StubInfo as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_STATE), "::", stringify!(StubInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_STATE>())).UserInfo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_STATE), "::", stringify!(UserInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_STATE>())).RuntimeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_STATE), "::", stringify!(RuntimeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_STATE>())).Event as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_STATE), "::", stringify!(Event) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_STATE>())).NotificationType as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_STATE), "::", stringify!(NotificationType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_STATE>())).u as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_RPC_ASYNC_STATE), "::", stringify!(u) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_ASYNC_STATE>())).Reserved as *const _ 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() { 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::null::())).Buffer as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagBinaryParam), "::", stringify!(Buffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Size as *const _ 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, _bindgen_union_align: [u64; 2usize], } #[test] fn bindgen_test_layout_tagRPC_EE_INFO_PARAM__bindgen_ty_1() { 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::null::())).AnsiString as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), "::", stringify!(AnsiString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UnicodeString as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), "::", stringify!(UnicodeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), "::", stringify!(LVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), "::", stringify!(SVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), "::", stringify!(PVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BVal as *const _ 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() { 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::null::())).ParameterType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPC_EE_INFO_PARAM), "::", stringify!(ParameterType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ 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, _bindgen_union_align: [u32; 4usize], } #[test] fn bindgen_test_layout_tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1() { 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::null::())).SystemTime as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1), "::", stringify!(SystemTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileTime as *const _ 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() { 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::null::())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPC_EXTENDED_ERROR_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ComputerName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRPC_EXTENDED_ERROR_INFO), "::", stringify!(ComputerName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProcessID as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagRPC_EXTENDED_ERROR_INFO), "::", stringify!(ProcessID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagRPC_EXTENDED_ERROR_INFO), "::", stringify!(u) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GeneratingComponent as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagRPC_EXTENDED_ERROR_INFO), "::", stringify!(GeneratingComponent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Status as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagRPC_EXTENDED_ERROR_INFO), "::", stringify!(Status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DetectionLocation as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagRPC_EXTENDED_ERROR_INFO), "::", stringify!(DetectionLocation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(tagRPC_EXTENDED_ERROR_INFO), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NumberOfParameters as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagRPC_EXTENDED_ERROR_INFO), "::", stringify!(NumberOfParameters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Parameters as *const _ 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() { 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::null::())).Signature as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPC_ERROR_ENUM_HANDLE), "::", stringify!(Signature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CurrentPos as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRPC_ERROR_ENUM_HANDLE), "::", stringify!(CurrentPos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Head as *const _ 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 size_t, ) -> RPC_STATUS; } extern "C" { pub fn RpcErrorLoadErrorInfo( ErrorBlob: PVOID, BlobSize: size_t, 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() { 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::null::<_RPC_CALL_LOCAL_ADDRESS_V1>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RPC_CALL_LOCAL_ADDRESS_V1), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_CALL_LOCAL_ADDRESS_V1>())).Buffer as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_RPC_CALL_LOCAL_ADDRESS_V1), "::", stringify!(Buffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_CALL_LOCAL_ADDRESS_V1>())).BufferSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_RPC_CALL_LOCAL_ADDRESS_V1), "::", stringify!(BufferSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RPC_CALL_LOCAL_ADDRESS_V1>())).AddressFormat as *const _ 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() { 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::null::())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ServerPrincipalNameBufferLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), "::", stringify!(ServerPrincipalNameBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ServerPrincipalName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), "::", stringify!(ServerPrincipalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPrincipalNameBufferLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), "::", stringify!(ClientPrincipalNameBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPrincipalName as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), "::", stringify!(ClientPrincipalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AuthenticationLevel as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), "::", stringify!(AuthenticationLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AuthenticationService as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), "::", stringify!(AuthenticationService) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NullSession as *const _ 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() { 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::null::())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ServerPrincipalNameBufferLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), "::", stringify!(ServerPrincipalNameBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ServerPrincipalName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), "::", stringify!(ServerPrincipalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPrincipalNameBufferLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), "::", stringify!(ClientPrincipalNameBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPrincipalName as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), "::", stringify!(ClientPrincipalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AuthenticationLevel as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), "::", stringify!(AuthenticationLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AuthenticationService as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), "::", stringify!(AuthenticationService) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NullSession as *const _ 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() { 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::null::())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ServerPrincipalNameBufferLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(ServerPrincipalNameBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ServerPrincipalName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(ServerPrincipalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPrincipalNameBufferLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(ClientPrincipalNameBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPrincipalName as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(ClientPrincipalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AuthenticationLevel as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(AuthenticationLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AuthenticationService as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(AuthenticationService) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NullSession as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(NullSession) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).KernelModeCaller as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(KernelModeCaller) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProtocolSequence as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(ProtocolSequence) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsClientLocal as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(IsClientLocal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPID as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(ClientPID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CallStatus as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(CallStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CallType as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(CallType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CallLocalAddress as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(CallLocalAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OpNum as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), "::", stringify!(OpNum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).InterfaceUuid as *const _ 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() { 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::null::())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ServerPrincipalNameBufferLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(ServerPrincipalNameBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ServerPrincipalName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(ServerPrincipalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPrincipalNameBufferLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(ClientPrincipalNameBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPrincipalName as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(ClientPrincipalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AuthenticationLevel as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(AuthenticationLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AuthenticationService as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(AuthenticationService) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NullSession as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(NullSession) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).KernelModeCaller as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(KernelModeCaller) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProtocolSequence as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(ProtocolSequence) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsClientLocal as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(IsClientLocal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPID as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(ClientPID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CallStatus as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(CallStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CallType as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(CallType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CallLocalAddress as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(CallLocalAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OpNum as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), "::", stringify!(OpNum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).InterfaceUuid as *const _ 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() { 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::null::())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ServerPrincipalNameBufferLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(ServerPrincipalNameBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ServerPrincipalName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(ServerPrincipalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPrincipalNameBufferLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(ClientPrincipalNameBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPrincipalName as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(ClientPrincipalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AuthenticationLevel as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(AuthenticationLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AuthenticationService as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(AuthenticationService) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NullSession as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(NullSession) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).KernelModeCaller as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(KernelModeCaller) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProtocolSequence as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(ProtocolSequence) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsClientLocal as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(IsClientLocal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPID as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(ClientPID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CallStatus as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(CallStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CallType as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(CallType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CallLocalAddress as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(CallLocalAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OpNum as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(OpNum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).InterfaceUuid as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(InterfaceUuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientIdentifierBufferLength as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), "::", stringify!(ClientIdentifierBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientIdentifier as *const _ 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() { 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::null::())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ServerPrincipalNameBufferLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(ServerPrincipalNameBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ServerPrincipalName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(ServerPrincipalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPrincipalNameBufferLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(ClientPrincipalNameBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPrincipalName as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(ClientPrincipalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AuthenticationLevel as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(AuthenticationLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AuthenticationService as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(AuthenticationService) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NullSession as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(NullSession) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).KernelModeCaller as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(KernelModeCaller) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProtocolSequence as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(ProtocolSequence) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsClientLocal as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(IsClientLocal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientPID as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(ClientPID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CallStatus as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(CallStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CallType as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(CallType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CallLocalAddress as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(CallLocalAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OpNum as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(OpNum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).InterfaceUuid as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(InterfaceUuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientIdentifierBufferLength as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), "::", stringify!(ClientIdentifierBufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientIdentifier as *const _ 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; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct HDROP__ { pub unused: ::std::os::raw::c_int, } #[test] fn bindgen_test_layout_HDROP__() { 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::null::())).unused as *const _ 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 CommandLineToArgvW( lpCmdLine: LPCWSTR, pNumArgs: *mut ::std::os::raw::c_int, ) -> *mut LPWSTR; } 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() { 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::null::<_DRAGINFOA>())).uSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRAGINFOA), "::", stringify!(uSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRAGINFOA>())).pt as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DRAGINFOA), "::", stringify!(pt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRAGINFOA>())).fNC as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DRAGINFOA), "::", stringify!(fNC) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRAGINFOA>())).lpFileList as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRAGINFOA), "::", stringify!(lpFileList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRAGINFOA>())).grfKeyState as *const _ 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() { 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::null::<_DRAGINFOW>())).uSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRAGINFOW), "::", stringify!(uSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRAGINFOW>())).pt as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DRAGINFOW), "::", stringify!(pt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRAGINFOW>())).fNC as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DRAGINFOW), "::", stringify!(fNC) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRAGINFOW>())).lpFileList as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRAGINFOW), "::", stringify!(lpFileList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRAGINFOW>())).grfKeyState as *const _ 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() { 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::null::<_AppBarData>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_AppBarData), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_AppBarData>())).hWnd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_AppBarData), "::", stringify!(hWnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_AppBarData>())).uCallbackMessage as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_AppBarData), "::", stringify!(uCallbackMessage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_AppBarData>())).uEdge as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_AppBarData), "::", stringify!(uEdge) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_AppBarData>())).rc as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_AppBarData), "::", stringify!(rc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_AppBarData>())).lParam as *const _ 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() { 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::null::<_SHFILEOPSTRUCTA>())).hwnd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHFILEOPSTRUCTA), "::", stringify!(hwnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEOPSTRUCTA>())).wFunc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SHFILEOPSTRUCTA), "::", stringify!(wFunc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEOPSTRUCTA>())).pFrom as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SHFILEOPSTRUCTA), "::", stringify!(pFrom) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEOPSTRUCTA>())).pTo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SHFILEOPSTRUCTA), "::", stringify!(pTo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEOPSTRUCTA>())).fFlags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_SHFILEOPSTRUCTA), "::", stringify!(fFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEOPSTRUCTA>())).fAnyOperationsAborted as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_SHFILEOPSTRUCTA), "::", stringify!(fAnyOperationsAborted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEOPSTRUCTA>())).hNameMappings as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_SHFILEOPSTRUCTA), "::", stringify!(hNameMappings) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEOPSTRUCTA>())).lpszProgressTitle as *const _ 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() { 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::null::<_SHFILEOPSTRUCTW>())).hwnd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHFILEOPSTRUCTW), "::", stringify!(hwnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEOPSTRUCTW>())).wFunc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SHFILEOPSTRUCTW), "::", stringify!(wFunc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEOPSTRUCTW>())).pFrom as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SHFILEOPSTRUCTW), "::", stringify!(pFrom) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEOPSTRUCTW>())).pTo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SHFILEOPSTRUCTW), "::", stringify!(pTo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEOPSTRUCTW>())).fFlags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_SHFILEOPSTRUCTW), "::", stringify!(fFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEOPSTRUCTW>())).fAnyOperationsAborted as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_SHFILEOPSTRUCTW), "::", stringify!(fAnyOperationsAborted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEOPSTRUCTW>())).hNameMappings as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_SHFILEOPSTRUCTW), "::", stringify!(hNameMappings) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEOPSTRUCTW>())).lpszProgressTitle as *const _ 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() { 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::null::<_SHNAMEMAPPINGA>())).pszOldPath as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHNAMEMAPPINGA), "::", stringify!(pszOldPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHNAMEMAPPINGA>())).pszNewPath as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SHNAMEMAPPINGA), "::", stringify!(pszNewPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHNAMEMAPPINGA>())).cchOldPath as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SHNAMEMAPPINGA), "::", stringify!(cchOldPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHNAMEMAPPINGA>())).cchNewPath as *const _ 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() { 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::null::<_SHNAMEMAPPINGW>())).pszOldPath as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHNAMEMAPPINGW), "::", stringify!(pszOldPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHNAMEMAPPINGW>())).pszNewPath as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SHNAMEMAPPINGW), "::", stringify!(pszNewPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHNAMEMAPPINGW>())).cchOldPath as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SHNAMEMAPPINGW), "::", stringify!(cchOldPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHNAMEMAPPINGW>())).cchNewPath as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__SHELLEXECUTEINFOA__bindgen_ty_1() { 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::null::<_SHELLEXECUTEINFOA__bindgen_ty_1>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOA__bindgen_ty_1), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOA__bindgen_ty_1>())).hMonitor as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOA__bindgen_ty_1), "::", stringify!(hMonitor) ) ); } #[test] fn bindgen_test_layout__SHELLEXECUTEINFOA() { 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::null::<_SHELLEXECUTEINFOA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOA>())).fMask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOA), "::", stringify!(fMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOA>())).hwnd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOA), "::", stringify!(hwnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOA>())).lpVerb as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOA), "::", stringify!(lpVerb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOA>())).lpFile as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOA), "::", stringify!(lpFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOA>())).lpParameters as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOA), "::", stringify!(lpParameters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOA>())).lpDirectory as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOA), "::", stringify!(lpDirectory) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOA>())).nShow as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOA), "::", stringify!(nShow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOA>())).hInstApp as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOA), "::", stringify!(hInstApp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOA>())).lpIDList as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOA), "::", stringify!(lpIDList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOA>())).lpClass as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOA), "::", stringify!(lpClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOA>())).hkeyClass as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOA), "::", stringify!(hkeyClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOA>())).dwHotKey as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOA), "::", stringify!(dwHotKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOA>())).hProcess as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__SHELLEXECUTEINFOW__bindgen_ty_1() { 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::null::<_SHELLEXECUTEINFOW__bindgen_ty_1>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOW__bindgen_ty_1), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOW__bindgen_ty_1>())).hMonitor as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOW__bindgen_ty_1), "::", stringify!(hMonitor) ) ); } #[test] fn bindgen_test_layout__SHELLEXECUTEINFOW() { 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::null::<_SHELLEXECUTEINFOW>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOW>())).fMask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOW), "::", stringify!(fMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOW>())).hwnd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOW), "::", stringify!(hwnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOW>())).lpVerb as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOW), "::", stringify!(lpVerb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOW>())).lpFile as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOW), "::", stringify!(lpFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOW>())).lpParameters as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOW), "::", stringify!(lpParameters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOW>())).lpDirectory as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOW), "::", stringify!(lpDirectory) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOW>())).nShow as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOW), "::", stringify!(nShow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOW>())).hInstApp as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOW), "::", stringify!(hInstApp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOW>())).lpIDList as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOW), "::", stringify!(lpIDList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOW>())).lpClass as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOW), "::", stringify!(lpClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOW>())).hkeyClass as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOW), "::", stringify!(hkeyClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOW>())).dwHotKey as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_SHELLEXECUTEINFOW), "::", stringify!(dwHotKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHELLEXECUTEINFOW>())).hProcess as *const _ 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() { 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::null::<_SHCREATEPROCESSINFOW>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHCREATEPROCESSINFOW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHCREATEPROCESSINFOW>())).fMask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SHCREATEPROCESSINFOW), "::", stringify!(fMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHCREATEPROCESSINFOW>())).hwnd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SHCREATEPROCESSINFOW), "::", stringify!(hwnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHCREATEPROCESSINFOW>())).pszFile as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SHCREATEPROCESSINFOW), "::", stringify!(pszFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHCREATEPROCESSINFOW>())).pszParameters as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SHCREATEPROCESSINFOW), "::", stringify!(pszParameters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHCREATEPROCESSINFOW>())).pszCurrentDirectory as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_SHCREATEPROCESSINFOW), "::", stringify!(pszCurrentDirectory) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHCREATEPROCESSINFOW>())).hUserToken as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_SHCREATEPROCESSINFOW), "::", stringify!(hUserToken) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHCREATEPROCESSINFOW>())).lpProcessAttributes as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_SHCREATEPROCESSINFOW), "::", stringify!(lpProcessAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHCREATEPROCESSINFOW>())).lpThreadAttributes as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_SHCREATEPROCESSINFOW), "::", stringify!(lpThreadAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHCREATEPROCESSINFOW>())).bInheritHandles as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_SHCREATEPROCESSINFOW), "::", stringify!(bInheritHandles) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHCREATEPROCESSINFOW>())).dwCreationFlags as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_SHCREATEPROCESSINFOW), "::", stringify!(dwCreationFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHCREATEPROCESSINFOW>())).lpStartupInfo as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_SHCREATEPROCESSINFOW), "::", stringify!(lpStartupInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHCREATEPROCESSINFOW>())).lpProcessInformation as *const _ 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() { 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::null::())).ac as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ASSOCIATIONELEMENT), "::", stringify!(ac) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hkClass as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ASSOCIATIONELEMENT), "::", stringify!(hkClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pszClass as *const _ 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() { 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::null::<_SHQUERYRBINFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHQUERYRBINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHQUERYRBINFO>())).i64Size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SHQUERYRBINFO), "::", stringify!(i64Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHQUERYRBINFO>())).i64NumItems as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__NOTIFYICONDATAA__bindgen_ty_1() { 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::null::<_NOTIFYICONDATAA__bindgen_ty_1>())).uTimeout as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAA__bindgen_ty_1), "::", stringify!(uTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAA__bindgen_ty_1>())).uVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAA__bindgen_ty_1), "::", stringify!(uVersion) ) ); } #[test] fn bindgen_test_layout__NOTIFYICONDATAA() { 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::null::<_NOTIFYICONDATAA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAA>())).hWnd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAA), "::", stringify!(hWnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAA>())).uID as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAA), "::", stringify!(uID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAA>())).uFlags as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAA), "::", stringify!(uFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAA>())).uCallbackMessage as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAA), "::", stringify!(uCallbackMessage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAA>())).hIcon as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAA), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAA>())).szTip as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAA), "::", stringify!(szTip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAA>())).dwState as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAA), "::", stringify!(dwState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAA>())).dwStateMask as *const _ as usize }, 172usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAA), "::", stringify!(dwStateMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAA>())).szInfo as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAA), "::", stringify!(szInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAA>())).szInfoTitle as *const _ as usize }, 436usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAA), "::", stringify!(szInfoTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAA>())).dwInfoFlags as *const _ as usize }, 500usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAA), "::", stringify!(dwInfoFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAA>())).guidItem as *const _ as usize }, 504usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAA), "::", stringify!(guidItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAA>())).hBalloonIcon as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__NOTIFYICONDATAW__bindgen_ty_1() { 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::null::<_NOTIFYICONDATAW__bindgen_ty_1>())).uTimeout as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAW__bindgen_ty_1), "::", stringify!(uTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAW__bindgen_ty_1>())).uVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAW__bindgen_ty_1), "::", stringify!(uVersion) ) ); } #[test] fn bindgen_test_layout__NOTIFYICONDATAW() { 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::null::<_NOTIFYICONDATAW>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAW>())).hWnd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAW), "::", stringify!(hWnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAW>())).uID as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAW), "::", stringify!(uID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAW>())).uFlags as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAW), "::", stringify!(uFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAW>())).uCallbackMessage as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAW), "::", stringify!(uCallbackMessage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAW>())).hIcon as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAW), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAW>())).szTip as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAW), "::", stringify!(szTip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAW>())).dwState as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAW), "::", stringify!(dwState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAW>())).dwStateMask as *const _ as usize }, 300usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAW), "::", stringify!(dwStateMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAW>())).szInfo as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAW), "::", stringify!(szInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAW>())).szInfoTitle as *const _ as usize }, 820usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAW), "::", stringify!(szInfoTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAW>())).dwInfoFlags as *const _ as usize }, 948usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAW), "::", stringify!(dwInfoFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAW>())).guidItem as *const _ as usize }, 952usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONDATAW), "::", stringify!(guidItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONDATAW>())).hBalloonIcon as *const _ 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() { 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::null::<_NOTIFYICONIDENTIFIER>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONIDENTIFIER), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONIDENTIFIER>())).hWnd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONIDENTIFIER), "::", stringify!(hWnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONIDENTIFIER>())).uID as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NOTIFYICONIDENTIFIER), "::", stringify!(uID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NOTIFYICONIDENTIFIER>())).guidItem as *const _ 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(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() { 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::null::<_SHFILEINFOA>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHFILEINFOA), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEINFOA>())).iIcon as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SHFILEINFOA), "::", stringify!(iIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEINFOA>())).dwAttributes as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SHFILEINFOA), "::", stringify!(dwAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEINFOA>())).szDisplayName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SHFILEINFOA), "::", stringify!(szDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEINFOA>())).szTypeName as *const _ as usize }, 276usize, concat!( "Offset of field: ", stringify!(_SHFILEINFOA), "::", stringify!(szTypeName) ) ); } pub type SHFILEINFOA = _SHFILEINFOA; #[repr(C)] #[derive(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() { 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::null::<_SHFILEINFOW>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHFILEINFOW), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEINFOW>())).iIcon as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SHFILEINFOW), "::", stringify!(iIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEINFOW>())).dwAttributes as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SHFILEINFOW), "::", stringify!(dwAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEINFOW>())).szDisplayName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SHFILEINFOW), "::", stringify!(szDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHFILEINFOW>())).szTypeName as *const _ 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(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() { 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::null::<_SHSTOCKICONINFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHSTOCKICONINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHSTOCKICONINFO>())).hIcon as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SHSTOCKICONINFO), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHSTOCKICONINFO>())).iSysImageIndex as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SHSTOCKICONINFO), "::", stringify!(iSysImageIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHSTOCKICONINFO>())).iIcon as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_SHSTOCKICONINFO), "::", stringify!(iIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHSTOCKICONINFO>())).szPath as *const _ 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() { 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::null::<_OPEN_PRINTER_PROPS_INFOA>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OPEN_PRINTER_PROPS_INFOA), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OPEN_PRINTER_PROPS_INFOA>())).pszSheetName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_OPEN_PRINTER_PROPS_INFOA), "::", stringify!(pszSheetName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OPEN_PRINTER_PROPS_INFOA>())).uSheetIndex as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_OPEN_PRINTER_PROPS_INFOA), "::", stringify!(uSheetIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OPEN_PRINTER_PROPS_INFOA>())).dwFlags as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_OPEN_PRINTER_PROPS_INFOA), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OPEN_PRINTER_PROPS_INFOA>())).bModal as *const _ 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() { 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::null::<_OPEN_PRINTER_PROPS_INFOW>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OPEN_PRINTER_PROPS_INFOW), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OPEN_PRINTER_PROPS_INFOW>())).pszSheetName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_OPEN_PRINTER_PROPS_INFOW), "::", stringify!(pszSheetName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OPEN_PRINTER_PROPS_INFOW>())).uSheetIndex as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_OPEN_PRINTER_PROPS_INFOW), "::", stringify!(uSheetIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OPEN_PRINTER_PROPS_INFOW>())).dwFlags as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_OPEN_PRINTER_PROPS_INFOW), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OPEN_PRINTER_PROPS_INFOW>())).bModal as *const _ 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() { 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::null::())).pAddrInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagNC_ADDRESS), "::", stringify!(pAddrInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PortNumber as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagNC_ADDRESS), "::", stringify!(PortNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PrefixLength as *const _ 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() { 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::null::<_PERF_DATA_BLOCK>())).Signature as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PERF_DATA_BLOCK), "::", stringify!(Signature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_DATA_BLOCK>())).LittleEndian as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PERF_DATA_BLOCK), "::", stringify!(LittleEndian) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_DATA_BLOCK>())).Version as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PERF_DATA_BLOCK), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_DATA_BLOCK>())).Revision as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PERF_DATA_BLOCK), "::", stringify!(Revision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_DATA_BLOCK>())).TotalByteLength as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_PERF_DATA_BLOCK), "::", stringify!(TotalByteLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_DATA_BLOCK>())).HeaderLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_PERF_DATA_BLOCK), "::", stringify!(HeaderLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_DATA_BLOCK>())).NumObjectTypes as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_PERF_DATA_BLOCK), "::", stringify!(NumObjectTypes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_DATA_BLOCK>())).DefaultObject as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PERF_DATA_BLOCK), "::", stringify!(DefaultObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_DATA_BLOCK>())).SystemTime as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_PERF_DATA_BLOCK), "::", stringify!(SystemTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_DATA_BLOCK>())).PerfTime as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_PERF_DATA_BLOCK), "::", stringify!(PerfTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_DATA_BLOCK>())).PerfFreq as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_PERF_DATA_BLOCK), "::", stringify!(PerfFreq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_DATA_BLOCK>())).PerfTime100nSec as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_PERF_DATA_BLOCK), "::", stringify!(PerfTime100nSec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_DATA_BLOCK>())).SystemNameLength as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_PERF_DATA_BLOCK), "::", stringify!(SystemNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_DATA_BLOCK>())).SystemNameOffset as *const _ 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() { 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::null::<_PERF_OBJECT_TYPE>())).TotalByteLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PERF_OBJECT_TYPE), "::", stringify!(TotalByteLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_OBJECT_TYPE>())).DefinitionLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PERF_OBJECT_TYPE), "::", stringify!(DefinitionLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_OBJECT_TYPE>())).HeaderLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PERF_OBJECT_TYPE), "::", stringify!(HeaderLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_OBJECT_TYPE>())).ObjectNameTitleIndex as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PERF_OBJECT_TYPE), "::", stringify!(ObjectNameTitleIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_OBJECT_TYPE>())).ObjectNameTitle as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PERF_OBJECT_TYPE), "::", stringify!(ObjectNameTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_OBJECT_TYPE>())).ObjectHelpTitleIndex as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_PERF_OBJECT_TYPE), "::", stringify!(ObjectHelpTitleIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_OBJECT_TYPE>())).ObjectHelpTitle as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_PERF_OBJECT_TYPE), "::", stringify!(ObjectHelpTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_OBJECT_TYPE>())).DetailLevel as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_PERF_OBJECT_TYPE), "::", stringify!(DetailLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_OBJECT_TYPE>())).NumCounters as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PERF_OBJECT_TYPE), "::", stringify!(NumCounters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_OBJECT_TYPE>())).DefaultCounter as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_PERF_OBJECT_TYPE), "::", stringify!(DefaultCounter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_OBJECT_TYPE>())).NumInstances as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_PERF_OBJECT_TYPE), "::", stringify!(NumInstances) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_OBJECT_TYPE>())).CodePage as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_PERF_OBJECT_TYPE), "::", stringify!(CodePage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_OBJECT_TYPE>())).PerfTime as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_PERF_OBJECT_TYPE), "::", stringify!(PerfTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_OBJECT_TYPE>())).PerfFreq as *const _ 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() { 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::null::<_PERF_COUNTER_DEFINITION>())).ByteLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PERF_COUNTER_DEFINITION), "::", stringify!(ByteLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_COUNTER_DEFINITION>())).CounterNameTitleIndex as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PERF_COUNTER_DEFINITION), "::", stringify!(CounterNameTitleIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_COUNTER_DEFINITION>())).CounterNameTitle as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PERF_COUNTER_DEFINITION), "::", stringify!(CounterNameTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_COUNTER_DEFINITION>())).CounterHelpTitleIndex as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PERF_COUNTER_DEFINITION), "::", stringify!(CounterHelpTitleIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_COUNTER_DEFINITION>())).CounterHelpTitle as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PERF_COUNTER_DEFINITION), "::", stringify!(CounterHelpTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_COUNTER_DEFINITION>())).DefaultScale as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_PERF_COUNTER_DEFINITION), "::", stringify!(DefaultScale) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_COUNTER_DEFINITION>())).DetailLevel as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_PERF_COUNTER_DEFINITION), "::", stringify!(DetailLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_COUNTER_DEFINITION>())).CounterType as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_PERF_COUNTER_DEFINITION), "::", stringify!(CounterType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_COUNTER_DEFINITION>())).CounterSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PERF_COUNTER_DEFINITION), "::", stringify!(CounterSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_COUNTER_DEFINITION>())).CounterOffset as *const _ 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() { 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::null::<_PERF_INSTANCE_DEFINITION>())).ByteLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PERF_INSTANCE_DEFINITION), "::", stringify!(ByteLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_INSTANCE_DEFINITION>())).ParentObjectTitleIndex as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PERF_INSTANCE_DEFINITION), "::", stringify!(ParentObjectTitleIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_INSTANCE_DEFINITION>())).ParentObjectInstance as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PERF_INSTANCE_DEFINITION), "::", stringify!(ParentObjectInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_INSTANCE_DEFINITION>())).UniqueID as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PERF_INSTANCE_DEFINITION), "::", stringify!(UniqueID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_INSTANCE_DEFINITION>())).NameOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PERF_INSTANCE_DEFINITION), "::", stringify!(NameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_INSTANCE_DEFINITION>())).NameLength as *const _ 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() { 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::null::<_PERF_COUNTER_BLOCK>())).ByteLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PERF_COUNTER_BLOCK), "::", stringify!(ByteLength) ) ); } pub type PERF_COUNTER_BLOCK = _PERF_COUNTER_BLOCK; pub type PPERF_COUNTER_BLOCK = *mut _PERF_COUNTER_BLOCK; pub type ALG_ID = ::std::os::raw::c_uint; pub type HCRYPTPROV = ULONG_PTR; pub type HCRYPTKEY = ULONG_PTR; pub type HCRYPTHASH = ULONG_PTR; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _CMS_KEY_INFO { pub dwVersion: DWORD, pub Algid: ALG_ID, pub pbOID: *mut BYTE, pub cbOID: DWORD, } #[test] fn bindgen_test_layout__CMS_KEY_INFO() { 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::null::<_CMS_KEY_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMS_KEY_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMS_KEY_INFO>())).Algid as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CMS_KEY_INFO), "::", stringify!(Algid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMS_KEY_INFO>())).pbOID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMS_KEY_INFO), "::", stringify!(pbOID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMS_KEY_INFO>())).cbOID as *const _ 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() { 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::null::<_HMAC_Info>())).HashAlgid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_HMAC_Info), "::", stringify!(HashAlgid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HMAC_Info>())).pbInnerString as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_HMAC_Info), "::", stringify!(pbInnerString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HMAC_Info>())).cbInnerString as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_HMAC_Info), "::", stringify!(cbInnerString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HMAC_Info>())).pbOuterString as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_HMAC_Info), "::", stringify!(pbOuterString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HMAC_Info>())).cbOuterString as *const _ 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() { 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::null::<_SCHANNEL_ALG>())).dwUse as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCHANNEL_ALG), "::", stringify!(dwUse) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCHANNEL_ALG>())).Algid as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCHANNEL_ALG), "::", stringify!(Algid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCHANNEL_ALG>())).cBits as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCHANNEL_ALG), "::", stringify!(cBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCHANNEL_ALG>())).dwFlags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SCHANNEL_ALG), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCHANNEL_ALG>())).dwReserved as *const _ 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() { 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::null::<_PROV_ENUMALGS>())).aiAlgid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROV_ENUMALGS), "::", stringify!(aiAlgid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROV_ENUMALGS>())).dwBitLen as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROV_ENUMALGS), "::", stringify!(dwBitLen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROV_ENUMALGS>())).dwNameLen as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROV_ENUMALGS), "::", stringify!(dwNameLen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROV_ENUMALGS>())).szName as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PROV_ENUMALGS), "::", stringify!(szName) ) ); } pub type PROV_ENUMALGS = _PROV_ENUMALGS; #[repr(C)] #[derive(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() { 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::null::<_PROV_ENUMALGS_EX>())).aiAlgid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROV_ENUMALGS_EX), "::", stringify!(aiAlgid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROV_ENUMALGS_EX>())).dwDefaultLen as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROV_ENUMALGS_EX), "::", stringify!(dwDefaultLen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROV_ENUMALGS_EX>())).dwMinLen as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROV_ENUMALGS_EX), "::", stringify!(dwMinLen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROV_ENUMALGS_EX>())).dwMaxLen as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PROV_ENUMALGS_EX), "::", stringify!(dwMaxLen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROV_ENUMALGS_EX>())).dwProtocols as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PROV_ENUMALGS_EX), "::", stringify!(dwProtocols) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROV_ENUMALGS_EX>())).dwNameLen as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_PROV_ENUMALGS_EX), "::", stringify!(dwNameLen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROV_ENUMALGS_EX>())).szName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_PROV_ENUMALGS_EX), "::", stringify!(szName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROV_ENUMALGS_EX>())).dwLongNameLen as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_PROV_ENUMALGS_EX), "::", stringify!(dwLongNameLen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROV_ENUMALGS_EX>())).szLongName as *const _ 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() { 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::null::<_PUBLICKEYSTRUC>())).bType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PUBLICKEYSTRUC), "::", stringify!(bType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PUBLICKEYSTRUC>())).bVersion as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_PUBLICKEYSTRUC), "::", stringify!(bVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PUBLICKEYSTRUC>())).reserved as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_PUBLICKEYSTRUC), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PUBLICKEYSTRUC>())).aiKeyAlg as *const _ 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() { 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::null::<_RSAPUBKEY>())).magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RSAPUBKEY), "::", stringify!(magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RSAPUBKEY>())).bitlen as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_RSAPUBKEY), "::", stringify!(bitlen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RSAPUBKEY>())).pubexp as *const _ 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() { 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::null::<_PUBKEY>())).magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PUBKEY), "::", stringify!(magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PUBKEY>())).bitlen as *const _ 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() { 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::null::<_DSSSEED>())).counter as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DSSSEED), "::", stringify!(counter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DSSSEED>())).seed as *const _ 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() { 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::null::<_PUBKEYVER3>())).magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PUBKEYVER3), "::", stringify!(magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PUBKEYVER3>())).bitlenP as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PUBKEYVER3), "::", stringify!(bitlenP) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PUBKEYVER3>())).bitlenQ as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PUBKEYVER3), "::", stringify!(bitlenQ) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PUBKEYVER3>())).bitlenJ as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PUBKEYVER3), "::", stringify!(bitlenJ) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PUBKEYVER3>())).DSSSeed as *const _ 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() { 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::null::<_PRIVKEYVER3>())).magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRIVKEYVER3), "::", stringify!(magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRIVKEYVER3>())).bitlenP as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PRIVKEYVER3), "::", stringify!(bitlenP) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRIVKEYVER3>())).bitlenQ as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRIVKEYVER3), "::", stringify!(bitlenQ) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRIVKEYVER3>())).bitlenJ as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PRIVKEYVER3), "::", stringify!(bitlenJ) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRIVKEYVER3>())).bitlenX as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PRIVKEYVER3), "::", stringify!(bitlenX) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRIVKEYVER3>())).DSSSeed as *const _ 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() { 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::null::<_KEY_TYPE_SUBTYPE>())).dwKeySpec as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_KEY_TYPE_SUBTYPE), "::", stringify!(dwKeySpec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KEY_TYPE_SUBTYPE>())).Type as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_KEY_TYPE_SUBTYPE), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_KEY_TYPE_SUBTYPE>())).Subtype as *const _ 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(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() { 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::null::<_CERT_FORTEZZA_DATA_PROP>())).SerialNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_FORTEZZA_DATA_PROP), "::", stringify!(SerialNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_FORTEZZA_DATA_PROP>())).CertIndex as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_FORTEZZA_DATA_PROP), "::", stringify!(CertIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_FORTEZZA_DATA_PROP>())).CertLabel as *const _ 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(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() { 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::null::<_CRYPT_RC4_KEY_STATE>())).Key as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_RC4_KEY_STATE), "::", stringify!(Key) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RC4_KEY_STATE>())).SBox as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_RC4_KEY_STATE), "::", stringify!(SBox) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RC4_KEY_STATE>())).i as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(_CRYPT_RC4_KEY_STATE), "::", stringify!(i) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RC4_KEY_STATE>())).j as *const _ 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() { 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::null::<_CRYPT_DES_KEY_STATE>())).Key as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_DES_KEY_STATE), "::", stringify!(Key) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_DES_KEY_STATE>())).IV as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_DES_KEY_STATE), "::", stringify!(IV) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_DES_KEY_STATE>())).Feedback as *const _ 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() { 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::null::<_CRYPT_3DES_KEY_STATE>())).Key as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_3DES_KEY_STATE), "::", stringify!(Key) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_3DES_KEY_STATE>())).IV as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPT_3DES_KEY_STATE), "::", stringify!(IV) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_3DES_KEY_STATE>())).Feedback as *const _ 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() { 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::null::<_CRYPT_AES_128_KEY_STATE>())).Key as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_AES_128_KEY_STATE), "::", stringify!(Key) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_AES_128_KEY_STATE>())).IV as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_AES_128_KEY_STATE), "::", stringify!(IV) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_AES_128_KEY_STATE>())).EncryptionState as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CRYPT_AES_128_KEY_STATE), "::", stringify!(EncryptionState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_AES_128_KEY_STATE>())).DecryptionState as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(_CRYPT_AES_128_KEY_STATE), "::", stringify!(DecryptionState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_AES_128_KEY_STATE>())).Feedback as *const _ 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() { 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::null::<_CRYPT_AES_256_KEY_STATE>())).Key as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_AES_256_KEY_STATE), "::", stringify!(Key) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_AES_256_KEY_STATE>())).IV as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CRYPT_AES_256_KEY_STATE), "::", stringify!(IV) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_AES_256_KEY_STATE>())).EncryptionState as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CRYPT_AES_256_KEY_STATE), "::", stringify!(EncryptionState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_AES_256_KEY_STATE>())).DecryptionState as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(_CRYPT_AES_256_KEY_STATE), "::", stringify!(DecryptionState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_AES_256_KEY_STATE>())).Feedback as *const _ 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() { 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::null::<_CRYPTOAPI_BLOB>())).cbData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPTOAPI_BLOB), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTOAPI_BLOB>())).pbData as *const _ 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() { 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::null::<_CMS_DH_KEY_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMS_DH_KEY_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMS_DH_KEY_INFO>())).Algid as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CMS_DH_KEY_INFO), "::", stringify!(Algid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMS_DH_KEY_INFO>())).pszContentEncObjId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMS_DH_KEY_INFO), "::", stringify!(pszContentEncObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMS_DH_KEY_INFO>())).PubInfo as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CMS_DH_KEY_INFO), "::", stringify!(PubInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMS_DH_KEY_INFO>())).pReserved as *const _ 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() { 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::null::<__BCRYPT_KEY_LENGTHS_STRUCT>())).dwMinLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__BCRYPT_KEY_LENGTHS_STRUCT), "::", stringify!(dwMinLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__BCRYPT_KEY_LENGTHS_STRUCT>())).dwMaxLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(__BCRYPT_KEY_LENGTHS_STRUCT), "::", stringify!(dwMaxLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__BCRYPT_KEY_LENGTHS_STRUCT>())).dwIncrement as *const _ 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() { 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::null::<_BCRYPT_OID>())).cbOID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_OID), "::", stringify!(cbOID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_OID>())).pbOID as *const _ 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() { 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::null::<_BCRYPT_OID_LIST>())).dwOIDCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_OID_LIST), "::", stringify!(dwOIDCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_OID_LIST>())).pOIDs as *const _ 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() { 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::null::<_BCRYPT_PKCS1_PADDING_INFO>())).pszAlgId as *const _ 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() { 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::null::<_BCRYPT_PSS_PADDING_INFO>())).pszAlgId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_PSS_PADDING_INFO), "::", stringify!(pszAlgId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_PSS_PADDING_INFO>())).cbSalt as *const _ 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() { 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::null::<_BCRYPT_OAEP_PADDING_INFO>())).pszAlgId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_OAEP_PADDING_INFO), "::", stringify!(pszAlgId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_OAEP_PADDING_INFO>())).pbLabel as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_BCRYPT_OAEP_PADDING_INFO), "::", stringify!(pbLabel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_OAEP_PADDING_INFO>())).cbLabel as *const _ 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() { 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::null::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>())).dwInfoVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), "::", stringify!(dwInfoVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>())).pbNonce as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), "::", stringify!(pbNonce) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>())).cbNonce as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), "::", stringify!(cbNonce) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>())).pbAuthData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), "::", stringify!(pbAuthData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>())).cbAuthData as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), "::", stringify!(cbAuthData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>())).pbTag as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), "::", stringify!(pbTag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>())).cbTag as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), "::", stringify!(cbTag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>())).pbMacContext as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), "::", stringify!(pbMacContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>())).cbMacContext as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), "::", stringify!(cbMacContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>())).cbAAD as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), "::", stringify!(cbAAD) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>())).cbData as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>())).dwFlags as *const _ 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() { 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::null::<_BCryptBuffer>())).cbBuffer as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCryptBuffer), "::", stringify!(cbBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCryptBuffer>())).BufferType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BCryptBuffer), "::", stringify!(BufferType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCryptBuffer>())).pvBuffer as *const _ 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() { 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::null::<_BCryptBufferDesc>())).ulVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCryptBufferDesc), "::", stringify!(ulVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCryptBufferDesc>())).cBuffers as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BCryptBufferDesc), "::", stringify!(cBuffers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCryptBufferDesc>())).pBuffers as *const _ 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() { 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::null::<_BCRYPT_KEY_BLOB>())).Magic as *const _ 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() { 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::null::<_BCRYPT_RSAKEY_BLOB>())).Magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_RSAKEY_BLOB), "::", stringify!(Magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_RSAKEY_BLOB>())).BitLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BCRYPT_RSAKEY_BLOB), "::", stringify!(BitLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_RSAKEY_BLOB>())).cbPublicExp as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_BCRYPT_RSAKEY_BLOB), "::", stringify!(cbPublicExp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_RSAKEY_BLOB>())).cbModulus as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_BCRYPT_RSAKEY_BLOB), "::", stringify!(cbModulus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_RSAKEY_BLOB>())).cbPrime1 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_BCRYPT_RSAKEY_BLOB), "::", stringify!(cbPrime1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_RSAKEY_BLOB>())).cbPrime2 as *const _ 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() { 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::null::<_BCRYPT_ECCKEY_BLOB>())).dwMagic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_ECCKEY_BLOB), "::", stringify!(dwMagic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_ECCKEY_BLOB>())).cbKey as *const _ 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() { 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::null::<_SSL_ECCKEY_BLOB>())).dwCurveType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SSL_ECCKEY_BLOB), "::", stringify!(dwCurveType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SSL_ECCKEY_BLOB>())).cbKey as *const _ 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() { 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::null::<_BCRYPT_ECCFULLKEY_BLOB>())).dwMagic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_ECCFULLKEY_BLOB), "::", stringify!(dwMagic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_ECCFULLKEY_BLOB>())).dwVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BCRYPT_ECCFULLKEY_BLOB), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_ECCFULLKEY_BLOB>())).dwCurveType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_BCRYPT_ECCFULLKEY_BLOB), "::", stringify!(dwCurveType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_ECCFULLKEY_BLOB>())).dwCurveGenerationAlgId as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_BCRYPT_ECCFULLKEY_BLOB), "::", stringify!(dwCurveGenerationAlgId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_ECCFULLKEY_BLOB>())).cbFieldLength as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_BCRYPT_ECCFULLKEY_BLOB), "::", stringify!(cbFieldLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_ECCFULLKEY_BLOB>())).cbSubgroupOrder as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_BCRYPT_ECCFULLKEY_BLOB), "::", stringify!(cbSubgroupOrder) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_ECCFULLKEY_BLOB>())).cbCofactor as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_BCRYPT_ECCFULLKEY_BLOB), "::", stringify!(cbCofactor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_ECCFULLKEY_BLOB>())).cbSeed as *const _ 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() { 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::null::<_BCRYPT_DH_KEY_BLOB>())).dwMagic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DH_KEY_BLOB), "::", stringify!(dwMagic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DH_KEY_BLOB>())).cbKey as *const _ 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() { 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::null::<_BCRYPT_DH_PARAMETER_HEADER>())).cbLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DH_PARAMETER_HEADER), "::", stringify!(cbLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DH_PARAMETER_HEADER>())).dwMagic as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DH_PARAMETER_HEADER), "::", stringify!(dwMagic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DH_PARAMETER_HEADER>())).cbKeyLength as *const _ 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() { 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::null::<_BCRYPT_DSA_KEY_BLOB>())).dwMagic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_KEY_BLOB), "::", stringify!(dwMagic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_KEY_BLOB>())).cbKey as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_KEY_BLOB), "::", stringify!(cbKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_KEY_BLOB>())).Count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_KEY_BLOB), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_KEY_BLOB>())).Seed as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_KEY_BLOB), "::", stringify!(Seed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_KEY_BLOB>())).q as *const _ 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() { 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::null::<_BCRYPT_DSA_KEY_BLOB_V2>())).dwMagic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_KEY_BLOB_V2), "::", stringify!(dwMagic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_KEY_BLOB_V2>())).cbKey as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_KEY_BLOB_V2), "::", stringify!(cbKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_KEY_BLOB_V2>())).hashAlgorithm as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_KEY_BLOB_V2), "::", stringify!(hashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_KEY_BLOB_V2>())).standardVersion as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_KEY_BLOB_V2), "::", stringify!(standardVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_KEY_BLOB_V2>())).cbSeedLength as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_KEY_BLOB_V2), "::", stringify!(cbSeedLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_KEY_BLOB_V2>())).cbGroupSize as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_KEY_BLOB_V2), "::", stringify!(cbGroupSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_KEY_BLOB_V2>())).Count as *const _ 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() { 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::null::<_BCRYPT_KEY_DATA_BLOB_HEADER>())).dwMagic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_KEY_DATA_BLOB_HEADER), "::", stringify!(dwMagic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_KEY_DATA_BLOB_HEADER>())).dwVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BCRYPT_KEY_DATA_BLOB_HEADER), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_KEY_DATA_BLOB_HEADER>())).cbKeyData as *const _ 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() { 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::null::<_BCRYPT_DSA_PARAMETER_HEADER>())).cbLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER), "::", stringify!(cbLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_PARAMETER_HEADER>())).dwMagic as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER), "::", stringify!(dwMagic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_PARAMETER_HEADER>())).cbKeyLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER), "::", stringify!(cbKeyLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_PARAMETER_HEADER>())).Count as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_PARAMETER_HEADER>())).Seed as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER), "::", stringify!(Seed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_PARAMETER_HEADER>())).q as *const _ 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() { 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::null::<_BCRYPT_DSA_PARAMETER_HEADER_V2>())).cbLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), "::", stringify!(cbLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_PARAMETER_HEADER_V2>())).dwMagic as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), "::", stringify!(dwMagic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_PARAMETER_HEADER_V2>())).cbKeyLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), "::", stringify!(cbKeyLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_PARAMETER_HEADER_V2>())).hashAlgorithm as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), "::", stringify!(hashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_PARAMETER_HEADER_V2>())).standardVersion as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), "::", stringify!(standardVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_PARAMETER_HEADER_V2>())).cbSeedLength as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), "::", stringify!(cbSeedLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_PARAMETER_HEADER_V2>())).cbGroupSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), "::", stringify!(cbGroupSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_DSA_PARAMETER_HEADER_V2>())).Count as *const _ 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() { 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::null::<_BCRYPT_ECC_CURVE_NAMES>())).dwEccCurveNames as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_ECC_CURVE_NAMES), "::", stringify!(dwEccCurveNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_ECC_CURVE_NAMES>())).pEccCurveNames as *const _ 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() { 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::null::<_BCRYPT_MULTI_HASH_OPERATION>())).iHash as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_MULTI_HASH_OPERATION), "::", stringify!(iHash) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_MULTI_HASH_OPERATION>())).hashOperation as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BCRYPT_MULTI_HASH_OPERATION), "::", stringify!(hashOperation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_MULTI_HASH_OPERATION>())).pbBuffer as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_BCRYPT_MULTI_HASH_OPERATION), "::", stringify!(pbBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_MULTI_HASH_OPERATION>())).cbBuffer as *const _ 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() { 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::null::<_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT>())).cbPerObject as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT), "::", stringify!(cbPerObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT>())).cbPerElement as *const _ 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() { 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::null::<_BCRYPT_ALGORITHM_IDENTIFIER>())).pszName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_ALGORITHM_IDENTIFIER), "::", stringify!(pszName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_ALGORITHM_IDENTIFIER>())).dwClass as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_BCRYPT_ALGORITHM_IDENTIFIER), "::", stringify!(dwClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_ALGORITHM_IDENTIFIER>())).dwFlags as *const _ 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() { 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::null::<_BCRYPT_PROVIDER_NAME>())).pszProviderName as *const _ 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() { 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::null::<_BCRYPT_INTERFACE_VERSION>())).MajorVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BCRYPT_INTERFACE_VERSION), "::", stringify!(MajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BCRYPT_INTERFACE_VERSION>())).MinorVersion as *const _ 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() { 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::null::<_CRYPT_INTERFACE_REG>())).dwInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_INTERFACE_REG), "::", stringify!(dwInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_INTERFACE_REG>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPT_INTERFACE_REG), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_INTERFACE_REG>())).cFunctions as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_INTERFACE_REG), "::", stringify!(cFunctions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_INTERFACE_REG>())).rgpszFunctions as *const _ 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() { 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::null::<_CRYPT_IMAGE_REG>())).pszImage as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_IMAGE_REG), "::", stringify!(pszImage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_IMAGE_REG>())).cInterfaces as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_IMAGE_REG), "::", stringify!(cInterfaces) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_IMAGE_REG>())).rgpInterfaces as *const _ 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() { 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::null::<_CRYPT_PROVIDER_REG>())).cAliases as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_PROVIDER_REG), "::", stringify!(cAliases) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PROVIDER_REG>())).rgpszAliases as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_PROVIDER_REG), "::", stringify!(rgpszAliases) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PROVIDER_REG>())).pUM as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_PROVIDER_REG), "::", stringify!(pUM) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PROVIDER_REG>())).pKM as *const _ 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() { 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::null::<_CRYPT_PROVIDERS>())).cProviders as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_PROVIDERS), "::", stringify!(cProviders) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PROVIDERS>())).rgpszProviders as *const _ 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() { 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::null::<_CRYPT_CONTEXT_CONFIG>())).dwFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_CONTEXT_CONFIG), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_CONTEXT_CONFIG>())).dwReserved as *const _ 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() { 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::null::<_CRYPT_CONTEXT_FUNCTION_CONFIG>())).dwFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_CONTEXT_FUNCTION_CONFIG), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_CONTEXT_FUNCTION_CONFIG>())).dwReserved as *const _ 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() { 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::null::<_CRYPT_CONTEXTS>())).cContexts as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_CONTEXTS), "::", stringify!(cContexts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_CONTEXTS>())).rgpszContexts as *const _ 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() { 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::null::<_CRYPT_CONTEXT_FUNCTIONS>())).cFunctions as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_CONTEXT_FUNCTIONS), "::", stringify!(cFunctions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_CONTEXT_FUNCTIONS>())).rgpszFunctions as *const _ 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() { 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::null::<_CRYPT_CONTEXT_FUNCTION_PROVIDERS>())).cProviders as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_CONTEXT_FUNCTION_PROVIDERS), "::", stringify!(cProviders) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_CONTEXT_FUNCTION_PROVIDERS>())).rgpszProviders as *const _ 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() { 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::null::<_CRYPT_PROPERTY_REF>())).pszProperty as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_PROPERTY_REF), "::", stringify!(pszProperty) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PROPERTY_REF>())).cbValue as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_PROPERTY_REF), "::", stringify!(cbValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PROPERTY_REF>())).pbValue as *const _ 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() { 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::null::<_CRYPT_IMAGE_REF>())).pszImage as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_IMAGE_REF), "::", stringify!(pszImage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_IMAGE_REF>())).dwFlags as *const _ 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() { 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::null::<_CRYPT_PROVIDER_REF>())).dwInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_PROVIDER_REF), "::", stringify!(dwInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PROVIDER_REF>())).pszFunction as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_PROVIDER_REF), "::", stringify!(pszFunction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PROVIDER_REF>())).pszProvider as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_PROVIDER_REF), "::", stringify!(pszProvider) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PROVIDER_REF>())).cProperties as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPT_PROVIDER_REF), "::", stringify!(cProperties) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PROVIDER_REF>())).rgpProperties as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CRYPT_PROVIDER_REF), "::", stringify!(rgpProperties) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PROVIDER_REF>())).pUM as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CRYPT_PROVIDER_REF), "::", stringify!(pUM) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PROVIDER_REF>())).pKM as *const _ 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() { 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::null::<_CRYPT_PROVIDER_REFS>())).cProviders as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_PROVIDER_REFS), "::", stringify!(cProviders) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PROVIDER_REFS>())).rgpProviders as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(NCRYPT_ALLOC_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pfnAlloc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(NCRYPT_ALLOC_PARA), "::", stringify!(pfnAlloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pfnFree as *const _ 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() { 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::null::<_NCRYPT_CIPHER_PADDING_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NCRYPT_CIPHER_PADDING_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_CIPHER_PADDING_INFO>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NCRYPT_CIPHER_PADDING_INFO), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_CIPHER_PADDING_INFO>())).pbIV as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NCRYPT_CIPHER_PADDING_INFO), "::", stringify!(pbIV) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_CIPHER_PADDING_INFO>())).cbIV as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NCRYPT_CIPHER_PADDING_INFO), "::", stringify!(cbIV) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_CIPHER_PADDING_INFO>())).pbOtherInfo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NCRYPT_CIPHER_PADDING_INFO), "::", stringify!(pbOtherInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_CIPHER_PADDING_INFO>())).cbOtherInfo as *const _ 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() { 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::null::<_NCRYPT_PLATFORM_ATTEST_PADDING_INFO>())).magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NCRYPT_PLATFORM_ATTEST_PADDING_INFO), "::", stringify!(magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_PLATFORM_ATTEST_PADDING_INFO>())).pcrMask as *const _ 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() { 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::null::<_NCRYPT_KEY_ATTEST_PADDING_INFO>())).magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO), "::", stringify!(magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_KEY_ATTEST_PADDING_INFO>())).pbKeyBlob as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO), "::", stringify!(pbKeyBlob) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_KEY_ATTEST_PADDING_INFO>())).cbKeyBlob as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO), "::", stringify!(cbKeyBlob) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_KEY_ATTEST_PADDING_INFO>())).pbKeyAuth as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO), "::", stringify!(pbKeyAuth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_KEY_ATTEST_PADDING_INFO>())).cbKeyAuth as *const _ 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() { 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::null::<_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES>())).cbPublicKeyBlob as *const _ 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() { 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::null::<_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT>())).Magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT), "::", stringify!(Magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT>())).Version as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT>())).cbSignature as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT), "::", stringify!(cbSignature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT>())).cbReport as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT), "::", stringify!(cbReport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT>())).cbAttributes as *const _ 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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[test] fn bindgen_test_layout__NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS() { 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::null::<_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS>())).TrustletId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS), "::", stringify!(TrustletId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS>())).MinSvn as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS), "::", stringify!(MinSvn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS>())).FlagsMask as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS), "::", stringify!(FlagsMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS>())).FlagsExpected as *const _ 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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, 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() { 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::null::<_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER>())).KeyUsage as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), "::", stringify!(KeyUsage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER>())).cbAlgName as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), "::", stringify!(cbAlgName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER>())).cbNonce as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), "::", stringify!(cbNonce) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER>())).cbAuthTag as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), "::", stringify!(cbAuthTag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER>())).cbWrappingKey as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), "::", stringify!(cbWrappingKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER>())).cbIsolatedKey as *const _ 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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE>())).Header as *const _ 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() { 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::null::<__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT>())).Magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), "::", stringify!(Magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT>())).Version as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT>())).HeaderSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), "::", stringify!(HeaderSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT>())) .cbCertifyInfo as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), "::", stringify!(cbCertifyInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT>())).cbSignature as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), "::", stringify!(cbSignature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT>())).cbTpmPublic as *const _ 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() { 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::null::<_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT>())).Magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), "::", stringify!(Magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT>())).Version as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT>())).pcrAlg as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), "::", stringify!(pcrAlg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT>())).cbSignature as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), "::", stringify!(cbSignature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT>())).cbQuote as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), "::", stringify!(cbQuote) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT>())).cbPcrs as *const _ 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() { 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::null::<_NCryptAlgorithmName>())).pszName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NCryptAlgorithmName), "::", stringify!(pszName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCryptAlgorithmName>())).dwClass as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NCryptAlgorithmName), "::", stringify!(dwClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCryptAlgorithmName>())).dwAlgOperations as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_NCryptAlgorithmName), "::", stringify!(dwAlgOperations) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCryptAlgorithmName>())).dwFlags as *const _ 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() { 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::null::())).pszName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(NCryptKeyName), "::", stringify!(pszName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pszAlgid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(NCryptKeyName), "::", stringify!(pszAlgid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwLegacyKeySpec as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(NCryptKeyName), "::", stringify!(dwLegacyKeySpec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ 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() { 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::null::())).pszName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(NCryptProviderName), "::", stringify!(pszName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pszComment as *const _ 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() { 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::null::<__NCRYPT_UI_POLICY>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__NCRYPT_UI_POLICY), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_UI_POLICY>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(__NCRYPT_UI_POLICY), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_UI_POLICY>())).pszCreationTitle as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(__NCRYPT_UI_POLICY), "::", stringify!(pszCreationTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_UI_POLICY>())).pszFriendlyName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(__NCRYPT_UI_POLICY), "::", stringify!(pszFriendlyName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_UI_POLICY>())).pszDescription as *const _ 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() { 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::null::<__NCRYPT_KEY_ACCESS_POLICY_BLOB>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__NCRYPT_KEY_ACCESS_POLICY_BLOB), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_KEY_ACCESS_POLICY_BLOB>())).dwPolicyFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(__NCRYPT_KEY_ACCESS_POLICY_BLOB), "::", stringify!(dwPolicyFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_KEY_ACCESS_POLICY_BLOB>())).cbUserSid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(__NCRYPT_KEY_ACCESS_POLICY_BLOB), "::", stringify!(cbUserSid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_KEY_ACCESS_POLICY_BLOB>())).cbApplicationSid as *const _ 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() { 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::null::<__NCRYPT_SUPPORTED_LENGTHS>())).dwMinLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__NCRYPT_SUPPORTED_LENGTHS), "::", stringify!(dwMinLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_SUPPORTED_LENGTHS>())).dwMaxLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(__NCRYPT_SUPPORTED_LENGTHS), "::", stringify!(dwMaxLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_SUPPORTED_LENGTHS>())).dwIncrement as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(__NCRYPT_SUPPORTED_LENGTHS), "::", stringify!(dwIncrement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_SUPPORTED_LENGTHS>())).dwDefaultLength as *const _ 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() { 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::null::<__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO>())).iExpiration as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO), "::", stringify!(iExpiration) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO>())).pabNonce as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO), "::", stringify!(pabNonce) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO>())).pabPolicyRef as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO), "::", stringify!(pabPolicyRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO>())).pabHMAC as *const _ 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() { 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::null::<__NCRYPT_PCP_TPM_FW_VERSION_INFO>())).major1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__NCRYPT_PCP_TPM_FW_VERSION_INFO), "::", stringify!(major1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_PCP_TPM_FW_VERSION_INFO>())).major2 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(__NCRYPT_PCP_TPM_FW_VERSION_INFO), "::", stringify!(major2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_PCP_TPM_FW_VERSION_INFO>())).minor1 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(__NCRYPT_PCP_TPM_FW_VERSION_INFO), "::", stringify!(minor1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_PCP_TPM_FW_VERSION_INFO>())).minor2 as *const _ 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() { 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::null::<__NCRYPT_PCP_RAW_POLICYDIGEST>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__NCRYPT_PCP_RAW_POLICYDIGEST), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__NCRYPT_PCP_RAW_POLICYDIGEST>())).cbDigest as *const _ 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() { 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::null::<_NCRYPT_KEY_BLOB_HEADER>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NCRYPT_KEY_BLOB_HEADER), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_KEY_BLOB_HEADER>())).dwMagic as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NCRYPT_KEY_BLOB_HEADER), "::", stringify!(dwMagic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_KEY_BLOB_HEADER>())).cbAlgName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NCRYPT_KEY_BLOB_HEADER), "::", stringify!(cbAlgName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NCRYPT_KEY_BLOB_HEADER>())).cbKeyData as *const _ 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() { 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::null::())).magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER), "::", stringify!(magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbHeader as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER), "::", stringify!(cbHeader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbPublic as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER), "::", stringify!(cbPublic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbPrivate as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER), "::", stringify!(cbPrivate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbName as *const _ 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() { 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::null::<_CRYPT_BIT_BLOB>())).cbData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_BIT_BLOB), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_BIT_BLOB>())).pbData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_BIT_BLOB), "::", stringify!(pbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_BIT_BLOB>())).cUnusedBits as *const _ 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() { 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::null::<_CRYPT_ALGORITHM_IDENTIFIER>())).pszObjId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_ALGORITHM_IDENTIFIER), "::", stringify!(pszObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ALGORITHM_IDENTIFIER>())).Parameters as *const _ 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() { 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::null::<_CRYPT_OBJID_TABLE>())).dwAlgId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_OBJID_TABLE), "::", stringify!(dwAlgId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_OBJID_TABLE>())).pszObjId as *const _ 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() { 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::null::<_CRYPT_HASH_INFO>())).HashAlgorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_HASH_INFO), "::", stringify!(HashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_HASH_INFO>())).Hash as *const _ 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() { 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::null::<_CERT_EXTENSION>())).pszObjId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_EXTENSION), "::", stringify!(pszObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_EXTENSION>())).fCritical as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_EXTENSION), "::", stringify!(fCritical) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_EXTENSION>())).Value as *const _ 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() { 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::null::<_CRYPT_ATTRIBUTE_TYPE_VALUE>())).pszObjId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_ATTRIBUTE_TYPE_VALUE), "::", stringify!(pszObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ATTRIBUTE_TYPE_VALUE>())).Value as *const _ 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() { 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::null::<_CRYPT_ATTRIBUTE>())).pszObjId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_ATTRIBUTE), "::", stringify!(pszObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ATTRIBUTE>())).cValue as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_ATTRIBUTE), "::", stringify!(cValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ATTRIBUTE>())).rgValue as *const _ 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() { 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::null::<_CRYPT_ATTRIBUTES>())).cAttr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_ATTRIBUTES), "::", stringify!(cAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ATTRIBUTES>())).rgAttr as *const _ 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() { 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::null::<_CERT_RDN_ATTR>())).pszObjId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_RDN_ATTR), "::", stringify!(pszObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_RDN_ATTR>())).dwValueType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_RDN_ATTR), "::", stringify!(dwValueType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_RDN_ATTR>())).Value as *const _ 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() { 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::null::<_CERT_RDN>())).cRDNAttr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_RDN), "::", stringify!(cRDNAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_RDN>())).rgRDNAttr as *const _ 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() { 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::null::<_CERT_NAME_INFO>())).cRDN as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_NAME_INFO), "::", stringify!(cRDN) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_NAME_INFO>())).rgRDN as *const _ 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() { 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::null::<_CERT_NAME_VALUE>())).dwValueType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_NAME_VALUE), "::", stringify!(dwValueType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_NAME_VALUE>())).Value as *const _ 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() { 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::null::<_CERT_PUBLIC_KEY_INFO>())).Algorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_PUBLIC_KEY_INFO), "::", stringify!(Algorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_PUBLIC_KEY_INFO>())).PublicKey as *const _ 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() { 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::null::<_CRYPT_ECC_PRIVATE_KEY_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_ECC_PRIVATE_KEY_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ECC_PRIVATE_KEY_INFO>())).PrivateKey as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_ECC_PRIVATE_KEY_INFO), "::", stringify!(PrivateKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ECC_PRIVATE_KEY_INFO>())).szCurveOid as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPT_ECC_PRIVATE_KEY_INFO), "::", stringify!(szCurveOid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ECC_PRIVATE_KEY_INFO>())).PublicKey as *const _ 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() { 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::null::<_CRYPT_PRIVATE_KEY_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_PRIVATE_KEY_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PRIVATE_KEY_INFO>())).Algorithm as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_PRIVATE_KEY_INFO), "::", stringify!(Algorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PRIVATE_KEY_INFO>())).PrivateKey as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CRYPT_PRIVATE_KEY_INFO), "::", stringify!(PrivateKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PRIVATE_KEY_INFO>())).pAttributes as *const _ 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() { 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::null::<_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO>())).EncryptionAlgorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO), "::", stringify!(EncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO>())).EncryptedPrivateKey as *const _ 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() { 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::null::<_CRYPT_PKCS8_IMPORT_PARAMS>())).PrivateKey as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_PKCS8_IMPORT_PARAMS), "::", stringify!(PrivateKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PKCS8_IMPORT_PARAMS>())).pResolvehCryptProvFunc as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_PKCS8_IMPORT_PARAMS), "::", stringify!(pResolvehCryptProvFunc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PKCS8_IMPORT_PARAMS>())).pVoidResolveFunc as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPT_PKCS8_IMPORT_PARAMS), "::", stringify!(pVoidResolveFunc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PKCS8_IMPORT_PARAMS>())).pDecryptPrivateKeyFunc as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CRYPT_PKCS8_IMPORT_PARAMS), "::", stringify!(pDecryptPrivateKeyFunc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PKCS8_IMPORT_PARAMS>())).pVoidDecryptFunc as *const _ 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() { 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::null::<_CRYPT_PKCS8_EXPORT_PARAMS>())).hCryptProv as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_PKCS8_EXPORT_PARAMS), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PKCS8_EXPORT_PARAMS>())).dwKeySpec as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_PKCS8_EXPORT_PARAMS), "::", stringify!(dwKeySpec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PKCS8_EXPORT_PARAMS>())).pszPrivateKeyObjId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_PKCS8_EXPORT_PARAMS), "::", stringify!(pszPrivateKeyObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PKCS8_EXPORT_PARAMS>())).pEncryptPrivateKeyFunc as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPT_PKCS8_EXPORT_PARAMS), "::", stringify!(pEncryptPrivateKeyFunc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PKCS8_EXPORT_PARAMS>())).pVoidEncryptFunc as *const _ 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() { 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::null::<_CERT_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_INFO>())).SerialNumber as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_INFO), "::", stringify!(SerialNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_INFO>())).SignatureAlgorithm as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_INFO), "::", stringify!(SignatureAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_INFO>())).Issuer as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CERT_INFO), "::", stringify!(Issuer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_INFO>())).NotBefore as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_CERT_INFO), "::", stringify!(NotBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_INFO>())).NotAfter as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CERT_INFO), "::", stringify!(NotAfter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_INFO>())).Subject as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_CERT_INFO), "::", stringify!(Subject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_INFO>())).SubjectPublicKeyInfo as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_CERT_INFO), "::", stringify!(SubjectPublicKeyInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_INFO>())).IssuerUniqueId as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_CERT_INFO), "::", stringify!(IssuerUniqueId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_INFO>())).SubjectUniqueId as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(_CERT_INFO), "::", stringify!(SubjectUniqueId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_INFO>())).cExtension as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(_CERT_INFO), "::", stringify!(cExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_INFO>())).rgExtension as *const _ 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() { 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::null::<_CRL_ENTRY>())).SerialNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRL_ENTRY), "::", stringify!(SerialNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_ENTRY>())).RevocationDate as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRL_ENTRY), "::", stringify!(RevocationDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_ENTRY>())).cExtension as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRL_ENTRY), "::", stringify!(cExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_ENTRY>())).rgExtension as *const _ 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() { 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::null::<_CRL_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRL_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_INFO>())).SignatureAlgorithm as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRL_INFO), "::", stringify!(SignatureAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_INFO>())).Issuer as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CRL_INFO), "::", stringify!(Issuer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_INFO>())).ThisUpdate as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CRL_INFO), "::", stringify!(ThisUpdate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_INFO>())).NextUpdate as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_CRL_INFO), "::", stringify!(NextUpdate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_INFO>())).cCRLEntry as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_CRL_INFO), "::", stringify!(cCRLEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_INFO>())).rgCRLEntry as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CRL_INFO), "::", stringify!(rgCRLEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_INFO>())).cExtension as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_CRL_INFO), "::", stringify!(cExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_INFO>())).rgExtension as *const _ 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() { 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::null::<_CERT_OR_CRL_BLOB>())).dwChoice as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_OR_CRL_BLOB), "::", stringify!(dwChoice) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_OR_CRL_BLOB>())).cbEncoded as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERT_OR_CRL_BLOB), "::", stringify!(cbEncoded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_OR_CRL_BLOB>())).pbEncoded as *const _ 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() { 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::null::<_CERT_OR_CRL_BUNDLE>())).cItem as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_OR_CRL_BUNDLE), "::", stringify!(cItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_OR_CRL_BUNDLE>())).rgItem as *const _ 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() { 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::null::<_CERT_REQUEST_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_REQUEST_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REQUEST_INFO>())).Subject as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_REQUEST_INFO), "::", stringify!(Subject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REQUEST_INFO>())).SubjectPublicKeyInfo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_REQUEST_INFO), "::", stringify!(SubjectPublicKeyInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REQUEST_INFO>())).cAttribute as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CERT_REQUEST_INFO), "::", stringify!(cAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REQUEST_INFO>())).rgAttribute as *const _ 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() { 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::null::<_CERT_KEYGEN_REQUEST_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_KEYGEN_REQUEST_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_KEYGEN_REQUEST_INFO>())).SubjectPublicKeyInfo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_KEYGEN_REQUEST_INFO), "::", stringify!(SubjectPublicKeyInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_KEYGEN_REQUEST_INFO>())).pwszChallengeString as *const _ 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() { 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::null::<_CERT_SIGNED_CONTENT_INFO>())).ToBeSigned as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_SIGNED_CONTENT_INFO), "::", stringify!(ToBeSigned) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SIGNED_CONTENT_INFO>())).SignatureAlgorithm as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_SIGNED_CONTENT_INFO), "::", stringify!(SignatureAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SIGNED_CONTENT_INFO>())).Signature as *const _ 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() { 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::null::<_CTL_USAGE>())).cUsageIdentifier as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CTL_USAGE), "::", stringify!(cUsageIdentifier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_USAGE>())).rgpszUsageIdentifier as *const _ 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() { 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::null::<_CTL_ENTRY>())).SubjectIdentifier as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CTL_ENTRY), "::", stringify!(SubjectIdentifier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_ENTRY>())).cAttribute as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CTL_ENTRY), "::", stringify!(cAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_ENTRY>())).rgAttribute as *const _ 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() { 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::null::<_CTL_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CTL_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_INFO>())).SubjectUsage as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CTL_INFO), "::", stringify!(SubjectUsage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_INFO>())).ListIdentifier as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CTL_INFO), "::", stringify!(ListIdentifier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_INFO>())).SequenceNumber as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CTL_INFO), "::", stringify!(SequenceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_INFO>())).ThisUpdate as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_CTL_INFO), "::", stringify!(ThisUpdate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_INFO>())).NextUpdate as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_CTL_INFO), "::", stringify!(NextUpdate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_INFO>())).SubjectAlgorithm as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CTL_INFO), "::", stringify!(SubjectAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_INFO>())).cCTLEntry as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_CTL_INFO), "::", stringify!(cCTLEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_INFO>())).rgCTLEntry as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_CTL_INFO), "::", stringify!(rgCTLEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_INFO>())).cExtension as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_CTL_INFO), "::", stringify!(cExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_INFO>())).rgExtension as *const _ 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() { 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::null::<_CRYPT_TIME_STAMP_REQUEST_INFO>())).pszTimeStampAlgorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO), "::", stringify!(pszTimeStampAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIME_STAMP_REQUEST_INFO>())).pszContentType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO), "::", stringify!(pszContentType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIME_STAMP_REQUEST_INFO>())).Content as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO), "::", stringify!(Content) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIME_STAMP_REQUEST_INFO>())).cAttribute as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO), "::", stringify!(cAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIME_STAMP_REQUEST_INFO>())).rgAttribute as *const _ 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() { 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::null::<_CRYPT_ENROLLMENT_NAME_VALUE_PAIR>())).pwszName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_ENROLLMENT_NAME_VALUE_PAIR), "::", stringify!(pwszName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ENROLLMENT_NAME_VALUE_PAIR>())).pwszValue as *const _ 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() { 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::null::<_CRYPT_CSP_PROVIDER>())).dwKeySpec as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_CSP_PROVIDER), "::", stringify!(dwKeySpec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_CSP_PROVIDER>())).pwszProviderName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_CSP_PROVIDER), "::", stringify!(pwszProviderName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_CSP_PROVIDER>())).Signature as *const _ 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() { 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::null::<_CRYPT_ENCODE_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_ENCODE_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ENCODE_PARA>())).pfnAlloc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_ENCODE_PARA), "::", stringify!(pfnAlloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ENCODE_PARA>())).pfnFree as *const _ 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() { 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::null::<_CRYPT_DECODE_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_DECODE_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_DECODE_PARA>())).pfnAlloc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_DECODE_PARA), "::", stringify!(pfnAlloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_DECODE_PARA>())).pfnFree as *const _ 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() { 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::null::<_CERT_EXTENSIONS>())).cExtension as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_EXTENSIONS), "::", stringify!(cExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_EXTENSIONS>())).rgExtension as *const _ 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() { 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::null::<_CERT_AUTHORITY_KEY_ID_INFO>())).KeyId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_AUTHORITY_KEY_ID_INFO), "::", stringify!(KeyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_AUTHORITY_KEY_ID_INFO>())).CertIssuer as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_AUTHORITY_KEY_ID_INFO), "::", stringify!(CertIssuer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_AUTHORITY_KEY_ID_INFO>())).CertSerialNumber as *const _ 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() { 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::null::<_CERT_PRIVATE_KEY_VALIDITY>())).NotBefore as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_PRIVATE_KEY_VALIDITY), "::", stringify!(NotBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_PRIVATE_KEY_VALIDITY>())).NotAfter as *const _ 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() { 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::null::<_CERT_KEY_ATTRIBUTES_INFO>())).KeyId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_KEY_ATTRIBUTES_INFO), "::", stringify!(KeyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_KEY_ATTRIBUTES_INFO>())).IntendedKeyUsage as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_KEY_ATTRIBUTES_INFO), "::", stringify!(IntendedKeyUsage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_KEY_ATTRIBUTES_INFO>())).pPrivateKeyUsagePeriod as *const _ 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() { 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::null::<_CERT_POLICY_ID>())).cCertPolicyElementId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY_ID), "::", stringify!(cCertPolicyElementId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY_ID>())).rgpszCertPolicyElementId as *const _ 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() { 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::null::<_CERT_KEY_USAGE_RESTRICTION_INFO>())).cCertPolicyId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_KEY_USAGE_RESTRICTION_INFO), "::", stringify!(cCertPolicyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_KEY_USAGE_RESTRICTION_INFO>())).rgCertPolicyId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_KEY_USAGE_RESTRICTION_INFO), "::", stringify!(rgCertPolicyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_KEY_USAGE_RESTRICTION_INFO>())).RestrictedKeyUsage as *const _ 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() { 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::null::<_CERT_OTHER_NAME>())).pszObjId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_OTHER_NAME), "::", stringify!(pszObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_OTHER_NAME>())).Value as *const _ 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, _bindgen_union_align: [u64; 2usize], } #[test] fn bindgen_test_layout__CERT_ALT_NAME_ENTRY__bindgen_ty_1() { 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::null::<_CERT_ALT_NAME_ENTRY__bindgen_ty_1>())).pOtherName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), "::", stringify!(pOtherName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_ALT_NAME_ENTRY__bindgen_ty_1>())).pwszRfc822Name as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), "::", stringify!(pwszRfc822Name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_ALT_NAME_ENTRY__bindgen_ty_1>())).pwszDNSName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), "::", stringify!(pwszDNSName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_ALT_NAME_ENTRY__bindgen_ty_1>())).DirectoryName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), "::", stringify!(DirectoryName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_ALT_NAME_ENTRY__bindgen_ty_1>())).pwszURL as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), "::", stringify!(pwszURL) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_ALT_NAME_ENTRY__bindgen_ty_1>())).IPAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), "::", stringify!(IPAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_ALT_NAME_ENTRY__bindgen_ty_1>())).pszRegisteredID as *const _ 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() { 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::null::<_CERT_ALT_NAME_ENTRY>())).dwAltNameChoice as *const _ 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() { 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::null::<_CERT_ALT_NAME_INFO>())).cAltEntry as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_ALT_NAME_INFO), "::", stringify!(cAltEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_ALT_NAME_INFO>())).rgAltEntry as *const _ 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() { 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::null::<_CERT_BASIC_CONSTRAINTS_INFO>())).SubjectType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_BASIC_CONSTRAINTS_INFO), "::", stringify!(SubjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_BASIC_CONSTRAINTS_INFO>())).fPathLenConstraint as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_BASIC_CONSTRAINTS_INFO), "::", stringify!(fPathLenConstraint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_BASIC_CONSTRAINTS_INFO>())).dwPathLenConstraint as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_CERT_BASIC_CONSTRAINTS_INFO), "::", stringify!(dwPathLenConstraint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_BASIC_CONSTRAINTS_INFO>())).cSubtreesConstraint as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CERT_BASIC_CONSTRAINTS_INFO), "::", stringify!(cSubtreesConstraint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_BASIC_CONSTRAINTS_INFO>())).rgSubtreesConstraint as *const _ 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() { 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::null::<_CERT_BASIC_CONSTRAINTS2_INFO>())).fCA as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_BASIC_CONSTRAINTS2_INFO), "::", stringify!(fCA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_BASIC_CONSTRAINTS2_INFO>())).fPathLenConstraint as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERT_BASIC_CONSTRAINTS2_INFO), "::", stringify!(fPathLenConstraint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_BASIC_CONSTRAINTS2_INFO>())).dwPathLenConstraint as *const _ 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() { 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::null::<_CERT_POLICY_QUALIFIER_INFO>())).pszPolicyQualifierId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY_QUALIFIER_INFO), "::", stringify!(pszPolicyQualifierId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY_QUALIFIER_INFO>())).Qualifier as *const _ 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() { 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::null::<_CERT_POLICY_INFO>())).pszPolicyIdentifier as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY_INFO), "::", stringify!(pszPolicyIdentifier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY_INFO>())).cPolicyQualifier as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY_INFO), "::", stringify!(cPolicyQualifier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY_INFO>())).rgPolicyQualifier as *const _ 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() { 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::null::<_CERT_POLICIES_INFO>())).cPolicyInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_POLICIES_INFO), "::", stringify!(cPolicyInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICIES_INFO>())).rgPolicyInfo as *const _ 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() { 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::null::<_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE>())).pszOrganization as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE), "::", stringify!(pszOrganization) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE>())).cNoticeNumbers as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE), "::", stringify!(cNoticeNumbers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE>())).rgNoticeNumbers as *const _ 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() { 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::null::<_CERT_POLICY_QUALIFIER_USER_NOTICE>())).pNoticeReference as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY_QUALIFIER_USER_NOTICE), "::", stringify!(pNoticeReference) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY_QUALIFIER_USER_NOTICE>())).pszDisplayText as *const _ 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() { 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::null::<_CPS_URLS>())).pszURL as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CPS_URLS), "::", stringify!(pszURL) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CPS_URLS>())).pAlgorithm as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CPS_URLS), "::", stringify!(pAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CPS_URLS>())).pDigest as *const _ 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() { 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::null::<_CERT_POLICY95_QUALIFIER1>())).pszPracticesReference as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY95_QUALIFIER1), "::", stringify!(pszPracticesReference) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY95_QUALIFIER1>())).pszNoticeIdentifier as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY95_QUALIFIER1), "::", stringify!(pszNoticeIdentifier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY95_QUALIFIER1>())).pszNSINoticeIdentifier as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY95_QUALIFIER1), "::", stringify!(pszNSINoticeIdentifier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY95_QUALIFIER1>())).cCPSURLs as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY95_QUALIFIER1), "::", stringify!(cCPSURLs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY95_QUALIFIER1>())).rgCPSURLs as *const _ 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() { 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::null::<_CERT_POLICY_MAPPING>())).pszIssuerDomainPolicy as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY_MAPPING), "::", stringify!(pszIssuerDomainPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY_MAPPING>())).pszSubjectDomainPolicy as *const _ 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() { 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::null::<_CERT_POLICY_MAPPINGS_INFO>())).cPolicyMapping as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY_MAPPINGS_INFO), "::", stringify!(cPolicyMapping) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY_MAPPINGS_INFO>())).rgPolicyMapping as *const _ 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() { 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::null::<_CERT_POLICY_CONSTRAINTS_INFO>())).fRequireExplicitPolicy as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY_CONSTRAINTS_INFO), "::", stringify!(fRequireExplicitPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY_CONSTRAINTS_INFO>())) .dwRequireExplicitPolicySkipCerts as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY_CONSTRAINTS_INFO), "::", stringify!(dwRequireExplicitPolicySkipCerts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY_CONSTRAINTS_INFO>())).fInhibitPolicyMapping as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_POLICY_CONSTRAINTS_INFO), "::", stringify!(fInhibitPolicyMapping) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_POLICY_CONSTRAINTS_INFO>())) .dwInhibitPolicyMappingSkipCerts as *const _ 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() { 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::null::<_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY>())).pszObjId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY), "::", stringify!(pszObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY>())).cValue as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY), "::", stringify!(cValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY>())).rgValue as *const _ 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() { 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::null::<_CRYPT_CONTENT_INFO>())).pszObjId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_CONTENT_INFO), "::", stringify!(pszObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_CONTENT_INFO>())).Content as *const _ 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() { 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::null::<_CRYPT_SEQUENCE_OF_ANY>())).cValue as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_SEQUENCE_OF_ANY), "::", stringify!(cValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SEQUENCE_OF_ANY>())).rgValue as *const _ 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() { 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::null::<_CERT_AUTHORITY_KEY_ID2_INFO>())).KeyId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_AUTHORITY_KEY_ID2_INFO), "::", stringify!(KeyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_AUTHORITY_KEY_ID2_INFO>())).AuthorityCertIssuer as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_AUTHORITY_KEY_ID2_INFO), "::", stringify!(AuthorityCertIssuer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_AUTHORITY_KEY_ID2_INFO>())).AuthorityCertSerialNumber as *const _ 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() { 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::null::<_CERT_ACCESS_DESCRIPTION>())).pszAccessMethod as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_ACCESS_DESCRIPTION), "::", stringify!(pszAccessMethod) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_ACCESS_DESCRIPTION>())).AccessLocation as *const _ 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() { 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::null::<_CERT_AUTHORITY_INFO_ACCESS>())).cAccDescr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_AUTHORITY_INFO_ACCESS), "::", stringify!(cAccDescr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_AUTHORITY_INFO_ACCESS>())).rgAccDescr as *const _ 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, _bindgen_union_align: [u64; 2usize], } #[test] fn bindgen_test_layout__CRL_DIST_POINT_NAME__bindgen_ty_1() { 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::null::<_CRL_DIST_POINT_NAME__bindgen_ty_1>())).FullName as *const _ 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() { 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::null::<_CRL_DIST_POINT_NAME>())).dwDistPointNameChoice as *const _ 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() { 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::null::<_CRL_DIST_POINT>())).DistPointName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRL_DIST_POINT), "::", stringify!(DistPointName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_DIST_POINT>())).ReasonFlags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRL_DIST_POINT), "::", stringify!(ReasonFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_DIST_POINT>())).CRLIssuer as *const _ 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() { 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::null::<_CRL_DIST_POINTS_INFO>())).cDistPoint as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRL_DIST_POINTS_INFO), "::", stringify!(cDistPoint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_DIST_POINTS_INFO>())).rgDistPoint as *const _ 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() { 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::null::<_CROSS_CERT_DIST_POINTS_INFO>())).dwSyncDeltaTime as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CROSS_CERT_DIST_POINTS_INFO), "::", stringify!(dwSyncDeltaTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CROSS_CERT_DIST_POINTS_INFO>())).cDistPoint as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CROSS_CERT_DIST_POINTS_INFO), "::", stringify!(cDistPoint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CROSS_CERT_DIST_POINTS_INFO>())).rgDistPoint as *const _ 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() { 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::null::<_CERT_PAIR>())).Forward as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_PAIR), "::", stringify!(Forward) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_PAIR>())).Reverse as *const _ 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() { 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::null::<_CRL_ISSUING_DIST_POINT>())).DistPointName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRL_ISSUING_DIST_POINT), "::", stringify!(DistPointName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_ISSUING_DIST_POINT>())).fOnlyContainsUserCerts as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRL_ISSUING_DIST_POINT), "::", stringify!(fOnlyContainsUserCerts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_ISSUING_DIST_POINT>())).fOnlyContainsCACerts as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_CRL_ISSUING_DIST_POINT), "::", stringify!(fOnlyContainsCACerts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_ISSUING_DIST_POINT>())).OnlySomeReasonFlags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CRL_ISSUING_DIST_POINT), "::", stringify!(OnlySomeReasonFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_ISSUING_DIST_POINT>())).fIndirectCRL as *const _ 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() { 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::null::<_CERT_GENERAL_SUBTREE>())).Base as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_GENERAL_SUBTREE), "::", stringify!(Base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_GENERAL_SUBTREE>())).dwMinimum as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_GENERAL_SUBTREE), "::", stringify!(dwMinimum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_GENERAL_SUBTREE>())).fMaximum as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_CERT_GENERAL_SUBTREE), "::", stringify!(fMaximum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_GENERAL_SUBTREE>())).dwMaximum as *const _ 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() { 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::null::<_CERT_NAME_CONSTRAINTS_INFO>())).cPermittedSubtree as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_NAME_CONSTRAINTS_INFO), "::", stringify!(cPermittedSubtree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_NAME_CONSTRAINTS_INFO>())).rgPermittedSubtree as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_NAME_CONSTRAINTS_INFO), "::", stringify!(rgPermittedSubtree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_NAME_CONSTRAINTS_INFO>())).cExcludedSubtree as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_NAME_CONSTRAINTS_INFO), "::", stringify!(cExcludedSubtree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_NAME_CONSTRAINTS_INFO>())).rgExcludedSubtree as *const _ 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() { 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::null::<_CERT_DSS_PARAMETERS>())).p as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_DSS_PARAMETERS), "::", stringify!(p) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_DSS_PARAMETERS>())).q as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_DSS_PARAMETERS), "::", stringify!(q) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_DSS_PARAMETERS>())).g as *const _ 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() { 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::null::<_CERT_DH_PARAMETERS>())).p as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_DH_PARAMETERS), "::", stringify!(p) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_DH_PARAMETERS>())).g as *const _ 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() { 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::null::<_CERT_ECC_SIGNATURE>())).r as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_ECC_SIGNATURE), "::", stringify!(r) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_ECC_SIGNATURE>())).s as *const _ 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() { 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::null::<_CERT_X942_DH_VALIDATION_PARAMS>())).seed as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_X942_DH_VALIDATION_PARAMS), "::", stringify!(seed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_X942_DH_VALIDATION_PARAMS>())).pgenCounter as *const _ 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() { 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::null::<_CERT_X942_DH_PARAMETERS>())).p as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_X942_DH_PARAMETERS), "::", stringify!(p) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_X942_DH_PARAMETERS>())).g as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_X942_DH_PARAMETERS), "::", stringify!(g) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_X942_DH_PARAMETERS>())).q as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CERT_X942_DH_PARAMETERS), "::", stringify!(q) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_X942_DH_PARAMETERS>())).j as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CERT_X942_DH_PARAMETERS), "::", stringify!(j) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_X942_DH_PARAMETERS>())).pValidationParams as *const _ 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() { 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::null::<_CRYPT_X942_OTHER_INFO>())).pszContentEncryptionObjId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_X942_OTHER_INFO), "::", stringify!(pszContentEncryptionObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_X942_OTHER_INFO>())).rgbCounter as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_X942_OTHER_INFO), "::", stringify!(rgbCounter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_X942_OTHER_INFO>())).rgbKeyLength as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CRYPT_X942_OTHER_INFO), "::", stringify!(rgbKeyLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_X942_OTHER_INFO>())).PubInfo as *const _ 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() { 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::null::<_CRYPT_ECC_CMS_SHARED_INFO>())).Algorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_ECC_CMS_SHARED_INFO), "::", stringify!(Algorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ECC_CMS_SHARED_INFO>())).EntityUInfo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPT_ECC_CMS_SHARED_INFO), "::", stringify!(EntityUInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ECC_CMS_SHARED_INFO>())).rgbSuppPubInfo as *const _ 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() { 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::null::<_CRYPT_RC2_CBC_PARAMETERS>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_RC2_CBC_PARAMETERS), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RC2_CBC_PARAMETERS>())).fIV as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPT_RC2_CBC_PARAMETERS), "::", stringify!(fIV) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RC2_CBC_PARAMETERS>())).rgbIV as *const _ 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() { 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::null::<_CRYPT_SMIME_CAPABILITY>())).pszObjId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_SMIME_CAPABILITY), "::", stringify!(pszObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SMIME_CAPABILITY>())).Parameters as *const _ 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() { 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::null::<_CRYPT_SMIME_CAPABILITIES>())).cCapability as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_SMIME_CAPABILITIES), "::", stringify!(cCapability) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SMIME_CAPABILITIES>())).rgCapability as *const _ 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() { 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::null::<_CERT_QC_STATEMENT>())).pszStatementId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_QC_STATEMENT), "::", stringify!(pszStatementId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_QC_STATEMENT>())).StatementInfo as *const _ 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() { 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::null::<_CERT_QC_STATEMENTS_EXT_INFO>())).cStatement as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_QC_STATEMENTS_EXT_INFO), "::", stringify!(cStatement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_QC_STATEMENTS_EXT_INFO>())).rgStatement as *const _ 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() { 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::null::<_CRYPT_MASK_GEN_ALGORITHM>())).pszObjId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_MASK_GEN_ALGORITHM), "::", stringify!(pszObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_MASK_GEN_ALGORITHM>())).HashAlgorithm as *const _ 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() { 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::null::<_CRYPT_RSA_SSA_PSS_PARAMETERS>())).HashAlgorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_RSA_SSA_PSS_PARAMETERS), "::", stringify!(HashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RSA_SSA_PSS_PARAMETERS>())).MaskGenAlgorithm as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPT_RSA_SSA_PSS_PARAMETERS), "::", stringify!(MaskGenAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RSA_SSA_PSS_PARAMETERS>())).dwSaltLength as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_CRYPT_RSA_SSA_PSS_PARAMETERS), "::", stringify!(dwSaltLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RSA_SSA_PSS_PARAMETERS>())).dwTrailerField as *const _ 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() { 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::null::<_CRYPT_PSOURCE_ALGORITHM>())).pszObjId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_PSOURCE_ALGORITHM), "::", stringify!(pszObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PSOURCE_ALGORITHM>())).EncodingParameters as *const _ 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() { 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::null::<_CRYPT_RSAES_OAEP_PARAMETERS>())).HashAlgorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_RSAES_OAEP_PARAMETERS), "::", stringify!(HashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RSAES_OAEP_PARAMETERS>())).MaskGenAlgorithm as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPT_RSAES_OAEP_PARAMETERS), "::", stringify!(MaskGenAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RSAES_OAEP_PARAMETERS>())).PSourceAlgorithm as *const _ 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() { 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::null::<_CMC_TAGGED_ATTRIBUTE>())).dwBodyPartID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMC_TAGGED_ATTRIBUTE), "::", stringify!(dwBodyPartID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_TAGGED_ATTRIBUTE>())).Attribute as *const _ 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() { 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::null::<_CMC_TAGGED_CERT_REQUEST>())).dwBodyPartID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMC_TAGGED_CERT_REQUEST), "::", stringify!(dwBodyPartID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_TAGGED_CERT_REQUEST>())).SignedCertRequest as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CMC_TAGGED_REQUEST__bindgen_ty_1() { 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::null::<_CMC_TAGGED_REQUEST__bindgen_ty_1>())).pTaggedCertRequest as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMC_TAGGED_REQUEST__bindgen_ty_1), "::", stringify!(pTaggedCertRequest) ) ); } #[test] fn bindgen_test_layout__CMC_TAGGED_REQUEST() { 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::null::<_CMC_TAGGED_REQUEST>())).dwTaggedRequestChoice as *const _ 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() { 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::null::<_CMC_TAGGED_CONTENT_INFO>())).dwBodyPartID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMC_TAGGED_CONTENT_INFO), "::", stringify!(dwBodyPartID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_TAGGED_CONTENT_INFO>())).EncodedContentInfo as *const _ 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() { 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::null::<_CMC_TAGGED_OTHER_MSG>())).dwBodyPartID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMC_TAGGED_OTHER_MSG), "::", stringify!(dwBodyPartID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_TAGGED_OTHER_MSG>())).pszObjId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMC_TAGGED_OTHER_MSG), "::", stringify!(pszObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_TAGGED_OTHER_MSG>())).Value as *const _ 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() { 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::null::<_CMC_DATA_INFO>())).cTaggedAttribute as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMC_DATA_INFO), "::", stringify!(cTaggedAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_DATA_INFO>())).rgTaggedAttribute as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMC_DATA_INFO), "::", stringify!(rgTaggedAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_DATA_INFO>())).cTaggedRequest as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CMC_DATA_INFO), "::", stringify!(cTaggedRequest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_DATA_INFO>())).rgTaggedRequest as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CMC_DATA_INFO), "::", stringify!(rgTaggedRequest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_DATA_INFO>())).cTaggedContentInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CMC_DATA_INFO), "::", stringify!(cTaggedContentInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_DATA_INFO>())).rgTaggedContentInfo as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CMC_DATA_INFO), "::", stringify!(rgTaggedContentInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_DATA_INFO>())).cTaggedOtherMsg as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CMC_DATA_INFO), "::", stringify!(cTaggedOtherMsg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_DATA_INFO>())).rgTaggedOtherMsg as *const _ 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() { 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::null::<_CMC_RESPONSE_INFO>())).cTaggedAttribute as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMC_RESPONSE_INFO), "::", stringify!(cTaggedAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_RESPONSE_INFO>())).rgTaggedAttribute as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMC_RESPONSE_INFO), "::", stringify!(rgTaggedAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_RESPONSE_INFO>())).cTaggedContentInfo as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CMC_RESPONSE_INFO), "::", stringify!(cTaggedContentInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_RESPONSE_INFO>())).rgTaggedContentInfo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CMC_RESPONSE_INFO), "::", stringify!(rgTaggedContentInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_RESPONSE_INFO>())).cTaggedOtherMsg as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CMC_RESPONSE_INFO), "::", stringify!(cTaggedOtherMsg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_RESPONSE_INFO>())).rgTaggedOtherMsg as *const _ 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() { 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::null::<_CMC_PEND_INFO>())).PendToken as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMC_PEND_INFO), "::", stringify!(PendToken) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_PEND_INFO>())).PendTime as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CMC_STATUS_INFO__bindgen_ty_1() { 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::null::<_CMC_STATUS_INFO__bindgen_ty_1>())).dwFailInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMC_STATUS_INFO__bindgen_ty_1), "::", stringify!(dwFailInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_STATUS_INFO__bindgen_ty_1>())).pPendInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMC_STATUS_INFO__bindgen_ty_1), "::", stringify!(pPendInfo) ) ); } #[test] fn bindgen_test_layout__CMC_STATUS_INFO() { 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::null::<_CMC_STATUS_INFO>())).dwStatus as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMC_STATUS_INFO), "::", stringify!(dwStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_STATUS_INFO>())).cBodyList as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CMC_STATUS_INFO), "::", stringify!(cBodyList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_STATUS_INFO>())).rgdwBodyList as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMC_STATUS_INFO), "::", stringify!(rgdwBodyList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_STATUS_INFO>())).pwszStatusString as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CMC_STATUS_INFO), "::", stringify!(pwszStatusString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_STATUS_INFO>())).dwOtherInfoChoice as *const _ 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() { 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::null::<_CMC_ADD_EXTENSIONS_INFO>())).dwCmcDataReference as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMC_ADD_EXTENSIONS_INFO), "::", stringify!(dwCmcDataReference) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_ADD_EXTENSIONS_INFO>())).cCertReference as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CMC_ADD_EXTENSIONS_INFO), "::", stringify!(cCertReference) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_ADD_EXTENSIONS_INFO>())).rgdwCertReference as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMC_ADD_EXTENSIONS_INFO), "::", stringify!(rgdwCertReference) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_ADD_EXTENSIONS_INFO>())).cExtension as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CMC_ADD_EXTENSIONS_INFO), "::", stringify!(cExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_ADD_EXTENSIONS_INFO>())).rgExtension as *const _ 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() { 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::null::<_CMC_ADD_ATTRIBUTES_INFO>())).dwCmcDataReference as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMC_ADD_ATTRIBUTES_INFO), "::", stringify!(dwCmcDataReference) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_ADD_ATTRIBUTES_INFO>())).cCertReference as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CMC_ADD_ATTRIBUTES_INFO), "::", stringify!(cCertReference) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_ADD_ATTRIBUTES_INFO>())).rgdwCertReference as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMC_ADD_ATTRIBUTES_INFO), "::", stringify!(rgdwCertReference) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_ADD_ATTRIBUTES_INFO>())).cAttribute as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CMC_ADD_ATTRIBUTES_INFO), "::", stringify!(cAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMC_ADD_ATTRIBUTES_INFO>())).rgAttribute as *const _ 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() { 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::null::<_CERT_TEMPLATE_EXT>())).pszObjId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_TEMPLATE_EXT), "::", stringify!(pszObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_TEMPLATE_EXT>())).dwMajorVersion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_TEMPLATE_EXT), "::", stringify!(dwMajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_TEMPLATE_EXT>())).fMinorVersion as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CERT_TEMPLATE_EXT), "::", stringify!(fMinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_TEMPLATE_EXT>())).dwMinorVersion as *const _ 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() { 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::null::<_CERT_HASHED_URL>())).HashAlgorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_HASHED_URL), "::", stringify!(HashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_HASHED_URL>())).Hash as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_HASHED_URL), "::", stringify!(Hash) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_HASHED_URL>())).pwszUrl as *const _ 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() { 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::null::<_CERT_LOGOTYPE_DETAILS>())).pwszMimeType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_DETAILS), "::", stringify!(pwszMimeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_DETAILS>())).cHashedUrl as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_DETAILS), "::", stringify!(cHashedUrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_DETAILS>())).rgHashedUrl as *const _ 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() { 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::null::<_CERT_LOGOTYPE_REFERENCE>())).cHashedUrl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_REFERENCE), "::", stringify!(cHashedUrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_REFERENCE>())).rgHashedUrl as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1() { 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::null::<_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1>())).dwNumBits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1), "::", stringify!(dwNumBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1>())).dwTableSize as *const _ 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() { 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::null::<_CERT_LOGOTYPE_IMAGE_INFO>())).dwLogotypeImageInfoChoice as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_IMAGE_INFO), "::", stringify!(dwLogotypeImageInfoChoice) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_IMAGE_INFO>())).dwFileSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_IMAGE_INFO), "::", stringify!(dwFileSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_IMAGE_INFO>())).dwXSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_IMAGE_INFO), "::", stringify!(dwXSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_IMAGE_INFO>())).dwYSize as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_IMAGE_INFO), "::", stringify!(dwYSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_IMAGE_INFO>())).dwLogotypeImageResolutionChoice as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_IMAGE_INFO), "::", stringify!(dwLogotypeImageResolutionChoice) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_IMAGE_INFO>())).pwszLanguage as *const _ 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() { 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::null::<_CERT_LOGOTYPE_IMAGE>())).LogotypeDetails as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_IMAGE), "::", stringify!(LogotypeDetails) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_IMAGE>())).pLogotypeImageInfo as *const _ 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() { 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::null::<_CERT_LOGOTYPE_AUDIO_INFO>())).dwFileSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_AUDIO_INFO), "::", stringify!(dwFileSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_AUDIO_INFO>())).dwPlayTime as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_AUDIO_INFO), "::", stringify!(dwPlayTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_AUDIO_INFO>())).dwChannels as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_AUDIO_INFO), "::", stringify!(dwChannels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_AUDIO_INFO>())).dwSampleRate as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_AUDIO_INFO), "::", stringify!(dwSampleRate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_AUDIO_INFO>())).pwszLanguage as *const _ 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() { 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::null::<_CERT_LOGOTYPE_AUDIO>())).LogotypeDetails as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_AUDIO), "::", stringify!(LogotypeDetails) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_AUDIO>())).pLogotypeAudioInfo as *const _ 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() { 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::null::<_CERT_LOGOTYPE_DATA>())).cLogotypeImage as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_DATA), "::", stringify!(cLogotypeImage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_DATA>())).rgLogotypeImage as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_DATA), "::", stringify!(rgLogotypeImage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_DATA>())).cLogotypeAudio as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_DATA), "::", stringify!(cLogotypeAudio) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_DATA>())).rgLogotypeAudio as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CERT_LOGOTYPE_INFO__bindgen_ty_1() { 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::null::<_CERT_LOGOTYPE_INFO__bindgen_ty_1>())).pLogotypeDirectInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_INFO__bindgen_ty_1), "::", stringify!(pLogotypeDirectInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_INFO__bindgen_ty_1>())).pLogotypeIndirectInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_INFO__bindgen_ty_1), "::", stringify!(pLogotypeIndirectInfo) ) ); } #[test] fn bindgen_test_layout__CERT_LOGOTYPE_INFO() { 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::null::<_CERT_LOGOTYPE_INFO>())).dwLogotypeInfoChoice as *const _ 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() { 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::null::<_CERT_OTHER_LOGOTYPE_INFO>())).pszObjId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_OTHER_LOGOTYPE_INFO), "::", stringify!(pszObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_OTHER_LOGOTYPE_INFO>())).LogotypeInfo as *const _ 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() { 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::null::<_CERT_LOGOTYPE_EXT_INFO>())).cCommunityLogo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_EXT_INFO), "::", stringify!(cCommunityLogo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_EXT_INFO>())).rgCommunityLogo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_EXT_INFO), "::", stringify!(rgCommunityLogo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_EXT_INFO>())).pIssuerLogo as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_EXT_INFO), "::", stringify!(pIssuerLogo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_EXT_INFO>())).pSubjectLogo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_EXT_INFO), "::", stringify!(pSubjectLogo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_EXT_INFO>())).cOtherLogo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CERT_LOGOTYPE_EXT_INFO), "::", stringify!(cOtherLogo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LOGOTYPE_EXT_INFO>())).rgOtherLogo as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CERT_BIOMETRIC_DATA__bindgen_ty_1() { 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::null::<_CERT_BIOMETRIC_DATA__bindgen_ty_1>())).dwPredefined as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_BIOMETRIC_DATA__bindgen_ty_1), "::", stringify!(dwPredefined) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_BIOMETRIC_DATA__bindgen_ty_1>())).pszObjId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_BIOMETRIC_DATA__bindgen_ty_1), "::", stringify!(pszObjId) ) ); } #[test] fn bindgen_test_layout__CERT_BIOMETRIC_DATA() { 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::null::<_CERT_BIOMETRIC_DATA>())).dwTypeOfBiometricDataChoice as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_BIOMETRIC_DATA), "::", stringify!(dwTypeOfBiometricDataChoice) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_BIOMETRIC_DATA>())).HashedUrl as *const _ 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() { 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::null::<_CERT_BIOMETRIC_EXT_INFO>())).cBiometricData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_BIOMETRIC_EXT_INFO), "::", stringify!(cBiometricData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_BIOMETRIC_EXT_INFO>())).rgBiometricData as *const _ 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() { 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::null::<_OCSP_SIGNATURE_INFO>())).SignatureAlgorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OCSP_SIGNATURE_INFO), "::", stringify!(SignatureAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_SIGNATURE_INFO>())).Signature as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_OCSP_SIGNATURE_INFO), "::", stringify!(Signature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_SIGNATURE_INFO>())).cCertEncoded as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_OCSP_SIGNATURE_INFO), "::", stringify!(cCertEncoded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_SIGNATURE_INFO>())).rgCertEncoded as *const _ 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() { 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::null::<_OCSP_SIGNED_REQUEST_INFO>())).ToBeSigned as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OCSP_SIGNED_REQUEST_INFO), "::", stringify!(ToBeSigned) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_SIGNED_REQUEST_INFO>())).pOptionalSignatureInfo as *const _ 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() { 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::null::<_OCSP_CERT_ID>())).HashAlgorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OCSP_CERT_ID), "::", stringify!(HashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_CERT_ID>())).IssuerNameHash as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_OCSP_CERT_ID), "::", stringify!(IssuerNameHash) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_CERT_ID>())).IssuerKeyHash as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_OCSP_CERT_ID), "::", stringify!(IssuerKeyHash) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_CERT_ID>())).SerialNumber as *const _ 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() { 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::null::<_OCSP_REQUEST_ENTRY>())).CertId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OCSP_REQUEST_ENTRY), "::", stringify!(CertId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_REQUEST_ENTRY>())).cExtension as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_OCSP_REQUEST_ENTRY), "::", stringify!(cExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_REQUEST_ENTRY>())).rgExtension as *const _ 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() { 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::null::<_OCSP_REQUEST_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OCSP_REQUEST_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_REQUEST_INFO>())).pRequestorName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_OCSP_REQUEST_INFO), "::", stringify!(pRequestorName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_REQUEST_INFO>())).cRequestEntry as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_OCSP_REQUEST_INFO), "::", stringify!(cRequestEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_REQUEST_INFO>())).rgRequestEntry as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_OCSP_REQUEST_INFO), "::", stringify!(rgRequestEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_REQUEST_INFO>())).cExtension as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_OCSP_REQUEST_INFO), "::", stringify!(cExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_REQUEST_INFO>())).rgExtension as *const _ 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() { 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::null::<_OCSP_RESPONSE_INFO>())).dwStatus as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OCSP_RESPONSE_INFO), "::", stringify!(dwStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_RESPONSE_INFO>())).pszObjId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_OCSP_RESPONSE_INFO), "::", stringify!(pszObjId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_RESPONSE_INFO>())).Value as *const _ 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() { 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::null::<_OCSP_BASIC_SIGNED_RESPONSE_INFO>())).ToBeSigned as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OCSP_BASIC_SIGNED_RESPONSE_INFO), "::", stringify!(ToBeSigned) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_BASIC_SIGNED_RESPONSE_INFO>())).SignatureInfo as *const _ 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() { 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::null::<_OCSP_BASIC_REVOKED_INFO>())).RevocationDate as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OCSP_BASIC_REVOKED_INFO), "::", stringify!(RevocationDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_BASIC_REVOKED_INFO>())).dwCrlReasonCode as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1() { 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::null::<_OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1>())).pRevokedInfo as *const _ 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() { 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::null::<_OCSP_BASIC_RESPONSE_ENTRY>())).CertId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OCSP_BASIC_RESPONSE_ENTRY), "::", stringify!(CertId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_BASIC_RESPONSE_ENTRY>())).dwCertStatus as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_OCSP_BASIC_RESPONSE_ENTRY), "::", stringify!(dwCertStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_BASIC_RESPONSE_ENTRY>())).ThisUpdate as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_OCSP_BASIC_RESPONSE_ENTRY), "::", stringify!(ThisUpdate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_BASIC_RESPONSE_ENTRY>())).NextUpdate as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_OCSP_BASIC_RESPONSE_ENTRY), "::", stringify!(NextUpdate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_BASIC_RESPONSE_ENTRY>())).cExtension as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_OCSP_BASIC_RESPONSE_ENTRY), "::", stringify!(cExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_BASIC_RESPONSE_ENTRY>())).rgExtension as *const _ 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, _bindgen_union_align: [u64; 2usize], } #[test] fn bindgen_test_layout__OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1() { 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::null::<_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1>())).ByNameResponderId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1), "::", stringify!(ByNameResponderId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1>())).ByKeyResponderId as *const _ 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() { 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::null::<_OCSP_BASIC_RESPONSE_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OCSP_BASIC_RESPONSE_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_BASIC_RESPONSE_INFO>())).dwResponderIdChoice as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_OCSP_BASIC_RESPONSE_INFO), "::", stringify!(dwResponderIdChoice) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_BASIC_RESPONSE_INFO>())).ProducedAt as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_OCSP_BASIC_RESPONSE_INFO), "::", stringify!(ProducedAt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_BASIC_RESPONSE_INFO>())).cResponseEntry as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_OCSP_BASIC_RESPONSE_INFO), "::", stringify!(cResponseEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_BASIC_RESPONSE_INFO>())).rgResponseEntry as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_OCSP_BASIC_RESPONSE_INFO), "::", stringify!(rgResponseEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_BASIC_RESPONSE_INFO>())).cExtension as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_OCSP_BASIC_RESPONSE_INFO), "::", stringify!(cExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OCSP_BASIC_RESPONSE_INFO>())).rgExtension as *const _ 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() { 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::null::<_CERT_SUPPORTED_ALGORITHM_INFO>())).Algorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_SUPPORTED_ALGORITHM_INFO), "::", stringify!(Algorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SUPPORTED_ALGORITHM_INFO>())).IntendedKeyUsage as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_SUPPORTED_ALGORITHM_INFO), "::", stringify!(IntendedKeyUsage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SUPPORTED_ALGORITHM_INFO>())).IntendedCertPolicies as *const _ 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() { 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::null::<_CERT_TPM_SPECIFICATION_INFO>())).pwszFamily as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_TPM_SPECIFICATION_INFO), "::", stringify!(pwszFamily) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_TPM_SPECIFICATION_INFO>())).dwLevel as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_TPM_SPECIFICATION_INFO), "::", stringify!(dwLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_TPM_SPECIFICATION_INFO>())).dwRevision as *const _ 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() { 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::null::<_CRYPT_OID_FUNC_ENTRY>())).pszOID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_OID_FUNC_ENTRY), "::", stringify!(pszOID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_OID_FUNC_ENTRY>())).pvFuncAddr as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__CRYPT_OID_INFO__bindgen_ty_1() { 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::null::<_CRYPT_OID_INFO__bindgen_ty_1>())).dwValue as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_OID_INFO__bindgen_ty_1), "::", stringify!(dwValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_OID_INFO__bindgen_ty_1>())).Algid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_OID_INFO__bindgen_ty_1), "::", stringify!(Algid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_OID_INFO__bindgen_ty_1>())).dwLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_OID_INFO__bindgen_ty_1), "::", stringify!(dwLength) ) ); } #[test] fn bindgen_test_layout__CRYPT_OID_INFO() { 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::null::<_CRYPT_OID_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_OID_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_OID_INFO>())).pszOID as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_OID_INFO), "::", stringify!(pszOID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_OID_INFO>())).pwszName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_OID_INFO), "::", stringify!(pwszName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_OID_INFO>())).dwGroupId as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPT_OID_INFO), "::", stringify!(dwGroupId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_OID_INFO>())).ExtraInfo as *const _ 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() { 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::null::<_CERT_STRONG_SIGN_SERIALIZED_INFO>())).dwFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_STRONG_SIGN_SERIALIZED_INFO), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_STRONG_SIGN_SERIALIZED_INFO>())).pwszCNGSignHashAlgids as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_STRONG_SIGN_SERIALIZED_INFO), "::", stringify!(pwszCNGSignHashAlgids) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_STRONG_SIGN_SERIALIZED_INFO>())).pwszCNGPubKeyMinBitLengths as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CERT_STRONG_SIGN_PARA__bindgen_ty_1() { 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::null::<_CERT_STRONG_SIGN_PARA__bindgen_ty_1>())).pvInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_STRONG_SIGN_PARA__bindgen_ty_1), "::", stringify!(pvInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_STRONG_SIGN_PARA__bindgen_ty_1>())).pSerializedInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_STRONG_SIGN_PARA__bindgen_ty_1), "::", stringify!(pSerializedInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_STRONG_SIGN_PARA__bindgen_ty_1>())).pszOID as *const _ 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() { 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::null::<_CERT_STRONG_SIGN_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_STRONG_SIGN_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_STRONG_SIGN_PARA>())).dwInfoChoice as *const _ 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() { 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::null::<_CERT_ISSUER_SERIAL_NUMBER>())).Issuer as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_ISSUER_SERIAL_NUMBER), "::", stringify!(Issuer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_ISSUER_SERIAL_NUMBER>())).SerialNumber as *const _ 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, _bindgen_union_align: [u64; 4usize], } #[test] fn bindgen_test_layout__CERT_ID__bindgen_ty_1() { 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::null::<_CERT_ID__bindgen_ty_1>())).IssuerSerialNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_ID__bindgen_ty_1), "::", stringify!(IssuerSerialNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_ID__bindgen_ty_1>())).KeyId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_ID__bindgen_ty_1), "::", stringify!(KeyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_ID__bindgen_ty_1>())).HashId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_ID__bindgen_ty_1), "::", stringify!(HashId) ) ); } #[test] fn bindgen_test_layout__CERT_ID() { 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::null::<_CERT_ID>())).dwIdChoice as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1() { 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::null::<_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1>())).hCryptProv as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1>())).hNCryptKey as *const _ 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() { 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::null::<_CMSG_SIGNER_ENCODE_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_ENCODE_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_ENCODE_INFO>())).pCertInfo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_ENCODE_INFO), "::", stringify!(pCertInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_ENCODE_INFO>())).dwKeySpec as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_ENCODE_INFO), "::", stringify!(dwKeySpec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_ENCODE_INFO>())).HashAlgorithm as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_ENCODE_INFO), "::", stringify!(HashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_ENCODE_INFO>())).pvHashAuxInfo as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_ENCODE_INFO), "::", stringify!(pvHashAuxInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_ENCODE_INFO>())).cAuthAttr as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_ENCODE_INFO), "::", stringify!(cAuthAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_ENCODE_INFO>())).rgAuthAttr as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_ENCODE_INFO), "::", stringify!(rgAuthAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_ENCODE_INFO>())).cUnauthAttr as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_ENCODE_INFO), "::", stringify!(cUnauthAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_ENCODE_INFO>())).rgUnauthAttr as *const _ 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() { 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::null::<_CMSG_SIGNED_ENCODE_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNED_ENCODE_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNED_ENCODE_INFO>())).cSigners as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNED_ENCODE_INFO), "::", stringify!(cSigners) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNED_ENCODE_INFO>())).rgSigners as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNED_ENCODE_INFO), "::", stringify!(rgSigners) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNED_ENCODE_INFO>())).cCertEncoded as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNED_ENCODE_INFO), "::", stringify!(cCertEncoded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNED_ENCODE_INFO>())).rgCertEncoded as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNED_ENCODE_INFO), "::", stringify!(rgCertEncoded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNED_ENCODE_INFO>())).cCrlEncoded as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNED_ENCODE_INFO), "::", stringify!(cCrlEncoded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNED_ENCODE_INFO>())).rgCrlEncoded as *const _ 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() { 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::null::<_CMSG_ENVELOPED_ENCODE_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_ENVELOPED_ENCODE_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_ENVELOPED_ENCODE_INFO>())).hCryptProv as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_ENVELOPED_ENCODE_INFO), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_ENVELOPED_ENCODE_INFO>())).ContentEncryptionAlgorithm as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CMSG_ENVELOPED_ENCODE_INFO), "::", stringify!(ContentEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_ENVELOPED_ENCODE_INFO>())).pvEncryptionAuxInfo as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CMSG_ENVELOPED_ENCODE_INFO), "::", stringify!(pvEncryptionAuxInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_ENVELOPED_ENCODE_INFO>())).cRecipients as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CMSG_ENVELOPED_ENCODE_INFO), "::", stringify!(cRecipients) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_ENVELOPED_ENCODE_INFO>())).rgpRecipients as *const _ 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() { 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::null::<_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO>())).KeyEncryptionAlgorithm as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), "::", stringify!(KeyEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO>())).pvKeyEncryptionAuxInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), "::", stringify!(pvKeyEncryptionAuxInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO>())).hCryptProv as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO>())).RecipientPublicKey as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), "::", stringify!(RecipientPublicKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO>())).RecipientId as *const _ 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() { 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::null::<_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO>())).RecipientPublicKey as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO), "::", stringify!(RecipientPublicKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO>())).RecipientId as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO), "::", stringify!(RecipientId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO>())).Date as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO), "::", stringify!(Date) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO>())).pOtherAttr as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1() { 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::null::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1>())) .pEphemeralAlgorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1), "::", stringify!(pEphemeralAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1>())) .pSenderId as *const _ 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() { 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::null::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO>())).KeyEncryptionAlgorithm as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), "::", stringify!(KeyEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO>())).pvKeyEncryptionAuxInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), "::", stringify!(pvKeyEncryptionAuxInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO>())).KeyWrapAlgorithm as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), "::", stringify!(KeyWrapAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO>())).pvKeyWrapAuxInfo as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), "::", stringify!(pvKeyWrapAuxInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO>())).hCryptProv as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO>())).dwKeySpec as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), "::", stringify!(dwKeySpec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO>())).dwKeyChoice as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), "::", stringify!(dwKeyChoice) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO>())).UserKeyingMaterial as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), "::", stringify!(UserKeyingMaterial) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO>())) .cRecipientEncryptedKeys as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), "::", stringify!(cRecipientEncryptedKeys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO>())) .rgpRecipientEncryptedKeys as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1() { 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::null::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1>())) .hKeyEncryptionKey as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1), "::", stringify!(hKeyEncryptionKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1>())) .pvKeyEncryptionKey as *const _ 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() { 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::null::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO>())).KeyEncryptionAlgorithm as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), "::", stringify!(KeyEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO>())).pvKeyEncryptionAuxInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), "::", stringify!(pvKeyEncryptionAuxInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO>())).hCryptProv as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO>())).dwKeyChoice as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), "::", stringify!(dwKeyChoice) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO>())).KeyId as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), "::", stringify!(KeyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO>())).Date as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), "::", stringify!(Date) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO>())).pOtherAttr as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1() { 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::null::<_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1>())).pKeyTrans as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1), "::", stringify!(pKeyTrans) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1>())).pKeyAgree as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1), "::", stringify!(pKeyAgree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1>())).pMailList as *const _ 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() { 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::null::<_CMSG_RECIPIENT_ENCODE_INFO>())).dwRecipientChoice as *const _ 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() { 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::null::<_CMSG_RC2_AUX_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_RC2_AUX_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_RC2_AUX_INFO>())).dwBitLen as *const _ 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() { 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::null::<_CMSG_SP3_COMPATIBLE_AUX_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_SP3_COMPATIBLE_AUX_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SP3_COMPATIBLE_AUX_INFO>())).dwFlags as *const _ 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() { 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::null::<_CMSG_RC4_AUX_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_RC4_AUX_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_RC4_AUX_INFO>())).dwBitLen as *const _ 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() { 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::null::<_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO>())).SignedInfo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO), "::", stringify!(SignedInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO>())).EnvelopedInfo as *const _ 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() { 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::null::<_CMSG_HASHED_ENCODE_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_HASHED_ENCODE_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_HASHED_ENCODE_INFO>())).hCryptProv as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_HASHED_ENCODE_INFO), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_HASHED_ENCODE_INFO>())).HashAlgorithm as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CMSG_HASHED_ENCODE_INFO), "::", stringify!(HashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_HASHED_ENCODE_INFO>())).pvHashAuxInfo as *const _ 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() { 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::null::<_CMSG_ENCRYPTED_ENCODE_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_ENCRYPTED_ENCODE_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_ENCRYPTED_ENCODE_INFO>())).ContentEncryptionAlgorithm as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_ENCRYPTED_ENCODE_INFO), "::", stringify!(ContentEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_ENCRYPTED_ENCODE_INFO>())).pvEncryptionAuxInfo as *const _ 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() { 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::null::<_CMSG_STREAM_INFO>())).cbContent as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_STREAM_INFO), "::", stringify!(cbContent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_STREAM_INFO>())).pfnStreamOutput as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_STREAM_INFO), "::", stringify!(pfnStreamOutput) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_STREAM_INFO>())).pvArg as *const _ 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() { 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::null::<_CMSG_SIGNER_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_INFO>())).Issuer as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_INFO), "::", stringify!(Issuer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_INFO>())).SerialNumber as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_INFO), "::", stringify!(SerialNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_INFO>())).HashAlgorithm as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_INFO), "::", stringify!(HashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_INFO>())).HashEncryptionAlgorithm as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_INFO), "::", stringify!(HashEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_INFO>())).EncryptedHash as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_INFO), "::", stringify!(EncryptedHash) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_INFO>())).AuthAttrs as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_CMSG_SIGNER_INFO), "::", stringify!(AuthAttrs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_SIGNER_INFO>())).UnauthAttrs as *const _ 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() { 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::null::<_CMSG_CMS_SIGNER_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CMS_SIGNER_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CMS_SIGNER_INFO>())).SignerId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_CMS_SIGNER_INFO), "::", stringify!(SignerId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CMS_SIGNER_INFO>())).HashAlgorithm as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CMSG_CMS_SIGNER_INFO), "::", stringify!(HashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CMS_SIGNER_INFO>())).HashEncryptionAlgorithm as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CMSG_CMS_SIGNER_INFO), "::", stringify!(HashEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CMS_SIGNER_INFO>())).EncryptedHash as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_CMSG_CMS_SIGNER_INFO), "::", stringify!(EncryptedHash) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CMS_SIGNER_INFO>())).AuthAttrs as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_CMSG_CMS_SIGNER_INFO), "::", stringify!(AuthAttrs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CMS_SIGNER_INFO>())).UnauthAttrs as *const _ 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() { 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::null::<_CMSG_KEY_TRANS_RECIPIENT_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_TRANS_RECIPIENT_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_TRANS_RECIPIENT_INFO>())).RecipientId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_TRANS_RECIPIENT_INFO), "::", stringify!(RecipientId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_TRANS_RECIPIENT_INFO>())).KeyEncryptionAlgorithm as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_TRANS_RECIPIENT_INFO), "::", stringify!(KeyEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_TRANS_RECIPIENT_INFO>())).EncryptedKey as *const _ 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() { 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::null::<_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO>())).RecipientId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO), "::", stringify!(RecipientId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO>())).EncryptedKey as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO), "::", stringify!(EncryptedKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO>())).Date as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO), "::", stringify!(Date) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO>())).pOtherAttr as *const _ 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, _bindgen_union_align: [u64; 6usize], } #[test] fn bindgen_test_layout__CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1() { 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::null::<_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1>())) .OriginatorCertId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1), "::", stringify!(OriginatorCertId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1>())) .OriginatorPublicKeyInfo as *const _ 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() { 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::null::<_CMSG_KEY_AGREE_RECIPIENT_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_INFO>())).dwOriginatorChoice as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), "::", stringify!(dwOriginatorChoice) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_INFO>())).UserKeyingMaterial as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), "::", stringify!(UserKeyingMaterial) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_INFO>())).KeyEncryptionAlgorithm as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), "::", stringify!(KeyEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_INFO>())).cRecipientEncryptedKeys as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), "::", stringify!(cRecipientEncryptedKeys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_RECIPIENT_INFO>())).rgpRecipientEncryptedKeys as *const _ 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() { 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::null::<_CMSG_MAIL_LIST_RECIPIENT_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_RECIPIENT_INFO>())).KeyId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), "::", stringify!(KeyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_RECIPIENT_INFO>())).KeyEncryptionAlgorithm as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), "::", stringify!(KeyEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_RECIPIENT_INFO>())).EncryptedKey as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), "::", stringify!(EncryptedKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_RECIPIENT_INFO>())).Date as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), "::", stringify!(Date) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_RECIPIENT_INFO>())).pOtherAttr as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1() { 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::null::<_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1>())).pKeyTrans as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1), "::", stringify!(pKeyTrans) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1>())).pKeyAgree as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1), "::", stringify!(pKeyAgree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1>())).pMailList as *const _ 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() { 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::null::<_CMSG_CMS_RECIPIENT_INFO>())).dwRecipientChoice as *const _ 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() { 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::null::<_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA>())).hCryptProv as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA>())).dwSignerIndex as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA), "::", stringify!(dwSignerIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA>())).dwSignerType as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA), "::", stringify!(dwSignerType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA>())).pvSigner as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1() { 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::null::<_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1>())).hCryptProv as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1>())).hNCryptKey as *const _ 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() { 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::null::<_CMSG_CTRL_DECRYPT_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_DECRYPT_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_DECRYPT_PARA>())).dwKeySpec as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_DECRYPT_PARA), "::", stringify!(dwKeySpec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_DECRYPT_PARA>())).dwRecipientIndex as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1() { 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::null::<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1>())).hCryptProv as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1>())).hNCryptKey as *const _ 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() { 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::null::<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA>())).dwKeySpec as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA), "::", stringify!(dwKeySpec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA>())).pKeyTrans as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA), "::", stringify!(pKeyTrans) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA>())).dwRecipientIndex as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1() { 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::null::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1>())).hCryptProv as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1>())).hNCryptKey as *const _ 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() { 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::null::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA>())).dwKeySpec as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), "::", stringify!(dwKeySpec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA>())).pKeyAgree as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), "::", stringify!(pKeyAgree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA>())).dwRecipientIndex as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), "::", stringify!(dwRecipientIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA>())) .dwRecipientEncryptedKeyIndex as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), "::", stringify!(dwRecipientEncryptedKeyIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA>())).OriginatorPublicKey as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1() { 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::null::<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1>())) .hKeyEncryptionKey as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1), "::", stringify!(hKeyEncryptionKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1>())) .pvKeyEncryptionKey as *const _ 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() { 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::null::<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA>())).hCryptProv as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA>())).pMailList as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA), "::", stringify!(pMailList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA>())).dwRecipientIndex as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA), "::", stringify!(dwRecipientIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA>())).dwKeyChoice as *const _ 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() { 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::null::<_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA>())).dwSignerIndex as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA), "::", stringify!(dwSignerIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA>())).blob as *const _ 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() { 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::null::<_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA>())).dwSignerIndex as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA), "::", stringify!(dwSignerIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA>())).dwUnauthAttrIndex as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1() { 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::null::<_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1>())).hContentEncryptKey as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1), "::", stringify!(hContentEncryptKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1>())) .hCNGContentEncryptKey as *const _ 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() { 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::null::<_CMSG_CONTENT_ENCRYPT_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CONTENT_ENCRYPT_INFO>())).hCryptProv as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CONTENT_ENCRYPT_INFO>())).ContentEncryptionAlgorithm as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO), "::", stringify!(ContentEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CONTENT_ENCRYPT_INFO>())).pvEncryptionAuxInfo as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO), "::", stringify!(pvEncryptionAuxInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CONTENT_ENCRYPT_INFO>())).cRecipients as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO), "::", stringify!(cRecipients) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CONTENT_ENCRYPT_INFO>())).rgCmsRecipients as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO), "::", stringify!(rgCmsRecipients) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CONTENT_ENCRYPT_INFO>())).pfnAlloc as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO), "::", stringify!(pfnAlloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CONTENT_ENCRYPT_INFO>())).pfnFree as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO), "::", stringify!(pfnFree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CONTENT_ENCRYPT_INFO>())).dwEncryptFlags as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO), "::", stringify!(dwEncryptFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CONTENT_ENCRYPT_INFO>())).dwFlags as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CONTENT_ENCRYPT_INFO>())).fCNG as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO), "::", stringify!(fCNG) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CONTENT_ENCRYPT_INFO>())).pbCNGContentEncryptKeyObject as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO), "::", stringify!(pbCNGContentEncryptKeyObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CONTENT_ENCRYPT_INFO>())).pbContentEncryptKey as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO), "::", stringify!(pbContentEncryptKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CONTENT_ENCRYPT_INFO>())).cbContentEncryptKey as *const _ 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() { 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::null::<_CMSG_KEY_TRANS_ENCRYPT_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_TRANS_ENCRYPT_INFO>())).dwRecipientIndex as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO), "::", stringify!(dwRecipientIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_TRANS_ENCRYPT_INFO>())).KeyEncryptionAlgorithm as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO), "::", stringify!(KeyEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_TRANS_ENCRYPT_INFO>())).EncryptedKey as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO), "::", stringify!(EncryptedKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_TRANS_ENCRYPT_INFO>())).dwFlags as *const _ 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() { 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::null::<_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO>())).EncryptedKey as *const _ 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, _bindgen_union_align: [u64; 6usize], } #[test] fn bindgen_test_layout__CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1() { 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::null::<_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1>())).OriginatorCertId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1), "::", stringify!(OriginatorCertId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1>())) .OriginatorPublicKeyInfo as *const _ 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() { 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::null::<_CMSG_KEY_AGREE_ENCRYPT_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_ENCRYPT_INFO>())).dwRecipientIndex as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), "::", stringify!(dwRecipientIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_ENCRYPT_INFO>())).KeyEncryptionAlgorithm as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), "::", stringify!(KeyEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_ENCRYPT_INFO>())).UserKeyingMaterial as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), "::", stringify!(UserKeyingMaterial) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_ENCRYPT_INFO>())).dwOriginatorChoice as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), "::", stringify!(dwOriginatorChoice) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_ENCRYPT_INFO>())).cKeyAgreeKeyEncryptInfo as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), "::", stringify!(cKeyAgreeKeyEncryptInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_ENCRYPT_INFO>())).rgpKeyAgreeKeyEncryptInfo as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), "::", stringify!(rgpKeyAgreeKeyEncryptInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_KEY_AGREE_ENCRYPT_INFO>())).dwFlags as *const _ 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() { 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::null::<_CMSG_MAIL_LIST_ENCRYPT_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_ENCRYPT_INFO>())).dwRecipientIndex as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO), "::", stringify!(dwRecipientIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_ENCRYPT_INFO>())).KeyEncryptionAlgorithm as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO), "::", stringify!(KeyEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_ENCRYPT_INFO>())).EncryptedKey as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO), "::", stringify!(EncryptedKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_MAIL_LIST_ENCRYPT_INFO>())).dwFlags as *const _ 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() { 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::null::<_CMSG_CNG_CONTENT_DECRYPT_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CNG_CONTENT_DECRYPT_INFO>())).ContentEncryptionAlgorithm as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), "::", stringify!(ContentEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CNG_CONTENT_DECRYPT_INFO>())).pfnAlloc as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), "::", stringify!(pfnAlloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CNG_CONTENT_DECRYPT_INFO>())).pfnFree as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), "::", stringify!(pfnFree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CNG_CONTENT_DECRYPT_INFO>())).hNCryptKey as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), "::", stringify!(hNCryptKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CNG_CONTENT_DECRYPT_INFO>())).pbContentEncryptKey as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), "::", stringify!(pbContentEncryptKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CNG_CONTENT_DECRYPT_INFO>())).cbContentEncryptKey as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), "::", stringify!(cbContentEncryptKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CNG_CONTENT_DECRYPT_INFO>())).hCNGContentEncryptKey as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), "::", stringify!(hCNGContentEncryptKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CMSG_CNG_CONTENT_DECRYPT_INFO>())).pbCNGContentEncryptKeyObject as *const _ 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() { 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::null::<_CERT_CONTEXT>())).dwCertEncodingType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_CONTEXT), "::", stringify!(dwCertEncodingType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CONTEXT>())).pbCertEncoded as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_CONTEXT), "::", stringify!(pbCertEncoded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CONTEXT>())).cbCertEncoded as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_CONTEXT), "::", stringify!(cbCertEncoded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CONTEXT>())).pCertInfo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_CONTEXT), "::", stringify!(pCertInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CONTEXT>())).hCertStore as *const _ 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() { 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::null::<_CRL_CONTEXT>())).dwCertEncodingType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRL_CONTEXT), "::", stringify!(dwCertEncodingType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_CONTEXT>())).pbCrlEncoded as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRL_CONTEXT), "::", stringify!(pbCrlEncoded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_CONTEXT>())).cbCrlEncoded as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRL_CONTEXT), "::", stringify!(cbCrlEncoded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_CONTEXT>())).pCrlInfo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRL_CONTEXT), "::", stringify!(pCrlInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_CONTEXT>())).hCertStore as *const _ 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() { 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::null::<_CTL_CONTEXT>())).dwMsgAndCertEncodingType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CTL_CONTEXT), "::", stringify!(dwMsgAndCertEncodingType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_CONTEXT>())).pbCtlEncoded as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CTL_CONTEXT), "::", stringify!(pbCtlEncoded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_CONTEXT>())).cbCtlEncoded as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CTL_CONTEXT), "::", stringify!(cbCtlEncoded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_CONTEXT>())).pCtlInfo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CTL_CONTEXT), "::", stringify!(pCtlInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_CONTEXT>())).hCertStore as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CTL_CONTEXT), "::", stringify!(hCertStore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_CONTEXT>())).hCryptMsg as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CTL_CONTEXT), "::", stringify!(hCryptMsg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_CONTEXT>())).pbCtlContent as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CTL_CONTEXT), "::", stringify!(pbCtlContent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_CONTEXT>())).cbCtlContent as *const _ 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() { 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::null::<_CRYPT_KEY_PROV_PARAM>())).dwParam as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_PROV_PARAM), "::", stringify!(dwParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_PROV_PARAM>())).pbData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_PROV_PARAM), "::", stringify!(pbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_PROV_PARAM>())).cbData as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_PROV_PARAM), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_PROV_PARAM>())).dwFlags as *const _ 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() { 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::null::<_CRYPT_KEY_PROV_INFO>())).pwszContainerName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_PROV_INFO), "::", stringify!(pwszContainerName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_PROV_INFO>())).pwszProvName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_PROV_INFO), "::", stringify!(pwszProvName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_PROV_INFO>())).dwProvType as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_PROV_INFO), "::", stringify!(dwProvType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_PROV_INFO>())).dwFlags as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_PROV_INFO), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_PROV_INFO>())).cProvParam as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_PROV_INFO), "::", stringify!(cProvParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_PROV_INFO>())).rgProvParam as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_PROV_INFO), "::", stringify!(rgProvParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_PROV_INFO>())).dwKeySpec as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CERT_KEY_CONTEXT__bindgen_ty_1() { 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::null::<_CERT_KEY_CONTEXT__bindgen_ty_1>())).hCryptProv as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_KEY_CONTEXT__bindgen_ty_1), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_KEY_CONTEXT__bindgen_ty_1>())).hNCryptKey as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_KEY_CONTEXT__bindgen_ty_1), "::", stringify!(hNCryptKey) ) ); } #[test] fn bindgen_test_layout__CERT_KEY_CONTEXT() { 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::null::<_CERT_KEY_CONTEXT>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_KEY_CONTEXT), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_KEY_CONTEXT>())).dwKeySpec as *const _ 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() { 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::null::<_ROOT_INFO_LUID>())).LowPart as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ROOT_INFO_LUID), "::", stringify!(LowPart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ROOT_INFO_LUID>())).HighPart as *const _ 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() { 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::null::<_CRYPT_SMART_CARD_ROOT_INFO>())).rgbCardID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_SMART_CARD_ROOT_INFO), "::", stringify!(rgbCardID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SMART_CARD_ROOT_INFO>())).luid as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1() { 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::null::<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1>())).hKeyBase as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1), "::", stringify!(hKeyBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1>())).pvBase as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2() { 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::null::<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2>())).pvSystemStore as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2), "::", stringify!(pvSystemStore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2>())) .pszSystemStore as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2), "::", stringify!(pszSystemStore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2>())) .pwszSystemStore as *const _ 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() { 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::null::<_CERT_REGISTRY_STORE_CLIENT_GPT_PARA>())).hKeyBase as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_REGISTRY_STORE_CLIENT_GPT_PARA), "::", stringify!(hKeyBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REGISTRY_STORE_CLIENT_GPT_PARA>())).pwszRegPath as *const _ 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() { 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::null::<_CERT_REGISTRY_STORE_ROAMING_PARA>())).hKey as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_REGISTRY_STORE_ROAMING_PARA), "::", stringify!(hKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REGISTRY_STORE_ROAMING_PARA>())).pwszStoreDirectory as *const _ 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() { 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::null::<_CERT_LDAP_STORE_OPENED_PARA>())).pvLdapSessionHandle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_LDAP_STORE_OPENED_PARA), "::", stringify!(pvLdapSessionHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_LDAP_STORE_OPENED_PARA>())).pwszLdapUrl as *const _ 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() { 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::null::<_CERT_STORE_PROV_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_STORE_PROV_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_STORE_PROV_INFO>())).cStoreProvFunc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERT_STORE_PROV_INFO), "::", stringify!(cStoreProvFunc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_STORE_PROV_INFO>())).rgpvStoreProvFunc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_STORE_PROV_INFO), "::", stringify!(rgpvStoreProvFunc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_STORE_PROV_INFO>())).hStoreProv as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_STORE_PROV_INFO), "::", stringify!(hStoreProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_STORE_PROV_INFO>())).dwStoreProvFlags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_STORE_PROV_INFO), "::", stringify!(dwStoreProvFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_STORE_PROV_INFO>())).hStoreProvFuncAddr2 as *const _ 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() { 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::null::<_CERT_STORE_PROV_FIND_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_STORE_PROV_FIND_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_STORE_PROV_FIND_INFO>())).dwMsgAndCertEncodingType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERT_STORE_PROV_FIND_INFO), "::", stringify!(dwMsgAndCertEncodingType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_STORE_PROV_FIND_INFO>())).dwFindFlags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_STORE_PROV_FIND_INFO), "::", stringify!(dwFindFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_STORE_PROV_FIND_INFO>())).dwFindType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CERT_STORE_PROV_FIND_INFO), "::", stringify!(dwFindType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_STORE_PROV_FIND_INFO>())).pvFindPara as *const _ 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() { 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::null::<_CRL_FIND_ISSUED_FOR_PARA>())).pSubjectCert as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRL_FIND_ISSUED_FOR_PARA), "::", stringify!(pSubjectCert) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_FIND_ISSUED_FOR_PARA>())).pIssuerCert as *const _ 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() { 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::null::<_CTL_ANY_SUBJECT_INFO>())).SubjectAlgorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CTL_ANY_SUBJECT_INFO), "::", stringify!(SubjectAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_ANY_SUBJECT_INFO>())).SubjectIdentifier as *const _ 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() { 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::null::<_CTL_FIND_USAGE_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CTL_FIND_USAGE_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_FIND_USAGE_PARA>())).SubjectUsage as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CTL_FIND_USAGE_PARA), "::", stringify!(SubjectUsage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_FIND_USAGE_PARA>())).ListIdentifier as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CTL_FIND_USAGE_PARA), "::", stringify!(ListIdentifier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_FIND_USAGE_PARA>())).pSigner as *const _ 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() { 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::null::<_CTL_FIND_SUBJECT_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CTL_FIND_SUBJECT_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_FIND_SUBJECT_PARA>())).pUsagePara as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CTL_FIND_SUBJECT_PARA), "::", stringify!(pUsagePara) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_FIND_SUBJECT_PARA>())).dwSubjectType as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CTL_FIND_SUBJECT_PARA), "::", stringify!(dwSubjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_FIND_SUBJECT_PARA>())).pvSubject as *const _ 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() { 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::null::<_CERT_CREATE_CONTEXT_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_CREATE_CONTEXT_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CREATE_CONTEXT_PARA>())).pfnFree as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_CREATE_CONTEXT_PARA), "::", stringify!(pfnFree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CREATE_CONTEXT_PARA>())).pvFree as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_CREATE_CONTEXT_PARA), "::", stringify!(pvFree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CREATE_CONTEXT_PARA>())).pfnSort as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_CREATE_CONTEXT_PARA), "::", stringify!(pfnSort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CREATE_CONTEXT_PARA>())).pvSort as *const _ 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() { 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::null::<_CERT_SYSTEM_STORE_INFO>())).cbSize as *const _ 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() { 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::null::<_CERT_PHYSICAL_STORE_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_PHYSICAL_STORE_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_PHYSICAL_STORE_INFO>())).pszOpenStoreProvider as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_PHYSICAL_STORE_INFO), "::", stringify!(pszOpenStoreProvider) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_PHYSICAL_STORE_INFO>())).dwOpenEncodingType as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_PHYSICAL_STORE_INFO), "::", stringify!(dwOpenEncodingType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_PHYSICAL_STORE_INFO>())).dwOpenFlags as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_CERT_PHYSICAL_STORE_INFO), "::", stringify!(dwOpenFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_PHYSICAL_STORE_INFO>())).OpenParameters as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_PHYSICAL_STORE_INFO), "::", stringify!(OpenParameters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_PHYSICAL_STORE_INFO>())).dwFlags as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CERT_PHYSICAL_STORE_INFO), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_PHYSICAL_STORE_INFO>())).dwPriority as *const _ 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() { 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::null::<_CTL_VERIFY_USAGE_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CTL_VERIFY_USAGE_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_VERIFY_USAGE_PARA>())).ListIdentifier as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CTL_VERIFY_USAGE_PARA), "::", stringify!(ListIdentifier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_VERIFY_USAGE_PARA>())).cCtlStore as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CTL_VERIFY_USAGE_PARA), "::", stringify!(cCtlStore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_VERIFY_USAGE_PARA>())).rghCtlStore as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CTL_VERIFY_USAGE_PARA), "::", stringify!(rghCtlStore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_VERIFY_USAGE_PARA>())).cSignerStore as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CTL_VERIFY_USAGE_PARA), "::", stringify!(cSignerStore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_VERIFY_USAGE_PARA>())).rghSignerStore as *const _ 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() { 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::null::<_CTL_VERIFY_USAGE_STATUS>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CTL_VERIFY_USAGE_STATUS), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_VERIFY_USAGE_STATUS>())).dwError as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CTL_VERIFY_USAGE_STATUS), "::", stringify!(dwError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_VERIFY_USAGE_STATUS>())).dwFlags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CTL_VERIFY_USAGE_STATUS), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_VERIFY_USAGE_STATUS>())).ppCtl as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CTL_VERIFY_USAGE_STATUS), "::", stringify!(ppCtl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_VERIFY_USAGE_STATUS>())).dwCtlEntryIndex as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CTL_VERIFY_USAGE_STATUS), "::", stringify!(dwCtlEntryIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_VERIFY_USAGE_STATUS>())).ppSigner as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CTL_VERIFY_USAGE_STATUS), "::", stringify!(ppSigner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_VERIFY_USAGE_STATUS>())).dwSignerIndex as *const _ 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() { 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::null::<_CERT_REVOCATION_CRL_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_CRL_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_CRL_INFO>())).pBaseCrlContext as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_CRL_INFO), "::", stringify!(pBaseCrlContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_CRL_INFO>())).pDeltaCrlContext as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_CRL_INFO), "::", stringify!(pDeltaCrlContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_CRL_INFO>())).pCrlEntry as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_CRL_INFO), "::", stringify!(pCrlEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_CRL_INFO>())).fDeltaCrlEntry as *const _ 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() { 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::null::<_CERT_REVOCATION_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_PARA>())).pIssuerCert as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_PARA), "::", stringify!(pIssuerCert) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_PARA>())).cCertStore as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_PARA), "::", stringify!(cCertStore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_PARA>())).rgCertStore as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_PARA), "::", stringify!(rgCertStore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_PARA>())).hCrlStore as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_PARA), "::", stringify!(hCrlStore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_PARA>())).pftTimeToUse as *const _ 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() { 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::null::<_CERT_REVOCATION_STATUS>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_STATUS), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_STATUS>())).dwIndex as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_STATUS), "::", stringify!(dwIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_STATUS>())).dwError as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_STATUS), "::", stringify!(dwError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_STATUS>())).dwReason as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_STATUS), "::", stringify!(dwReason) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_STATUS>())).fHasFreshnessTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_STATUS), "::", stringify!(fHasFreshnessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_STATUS>())).dwFreshnessTime as *const _ 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() { 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::null::<_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO>())) .CertSignHashCNGAlgPropData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO), "::", stringify!(CertSignHashCNGAlgPropData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO>())) .CertIssuerPubKeyBitLengthPropData as *const _ 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() { 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::null::<_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO>())).cCNGHashAlgid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO), "::", stringify!(cCNGHashAlgid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO>())).rgpwszCNGHashAlgid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO), "::", stringify!(rgpwszCNGHashAlgid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO>())).dwWeakIndex as *const _ 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() { 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::null::<_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA>())).cOID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA), "::", stringify!(cOID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA>())).rgpszOID as *const _ 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() { 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::null::<_CRYPT_SIGN_MESSAGE_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SIGN_MESSAGE_PARA>())).dwMsgEncodingType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA), "::", stringify!(dwMsgEncodingType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SIGN_MESSAGE_PARA>())).pSigningCert as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA), "::", stringify!(pSigningCert) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SIGN_MESSAGE_PARA>())).HashAlgorithm as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA), "::", stringify!(HashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SIGN_MESSAGE_PARA>())).pvHashAuxInfo as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA), "::", stringify!(pvHashAuxInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SIGN_MESSAGE_PARA>())).cMsgCert as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA), "::", stringify!(cMsgCert) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SIGN_MESSAGE_PARA>())).rgpMsgCert as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA), "::", stringify!(rgpMsgCert) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SIGN_MESSAGE_PARA>())).cMsgCrl as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA), "::", stringify!(cMsgCrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SIGN_MESSAGE_PARA>())).rgpMsgCrl as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA), "::", stringify!(rgpMsgCrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SIGN_MESSAGE_PARA>())).cAuthAttr as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA), "::", stringify!(cAuthAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SIGN_MESSAGE_PARA>())).rgAuthAttr as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA), "::", stringify!(rgAuthAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SIGN_MESSAGE_PARA>())).cUnauthAttr as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA), "::", stringify!(cUnauthAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SIGN_MESSAGE_PARA>())).rgUnauthAttr as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA), "::", stringify!(rgUnauthAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SIGN_MESSAGE_PARA>())).dwFlags as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_SIGN_MESSAGE_PARA>())).dwInnerContentType as *const _ 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() { 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::null::<_CRYPT_VERIFY_MESSAGE_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_VERIFY_MESSAGE_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_VERIFY_MESSAGE_PARA>())).dwMsgAndCertEncodingType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPT_VERIFY_MESSAGE_PARA), "::", stringify!(dwMsgAndCertEncodingType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_VERIFY_MESSAGE_PARA>())).hCryptProv as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_VERIFY_MESSAGE_PARA), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_VERIFY_MESSAGE_PARA>())).pfnGetSignerCertificate as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_VERIFY_MESSAGE_PARA), "::", stringify!(pfnGetSignerCertificate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_VERIFY_MESSAGE_PARA>())).pvGetArg as *const _ 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() { 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::null::<_CRYPT_ENCRYPT_MESSAGE_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ENCRYPT_MESSAGE_PARA>())).dwMsgEncodingType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), "::", stringify!(dwMsgEncodingType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ENCRYPT_MESSAGE_PARA>())).hCryptProv as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ENCRYPT_MESSAGE_PARA>())).ContentEncryptionAlgorithm as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), "::", stringify!(ContentEncryptionAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ENCRYPT_MESSAGE_PARA>())).pvEncryptionAuxInfo as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), "::", stringify!(pvEncryptionAuxInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ENCRYPT_MESSAGE_PARA>())).dwFlags as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ENCRYPT_MESSAGE_PARA>())).dwInnerContentType as *const _ 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() { 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::null::<_CRYPT_DECRYPT_MESSAGE_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_DECRYPT_MESSAGE_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_DECRYPT_MESSAGE_PARA>())).dwMsgAndCertEncodingType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPT_DECRYPT_MESSAGE_PARA), "::", stringify!(dwMsgAndCertEncodingType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_DECRYPT_MESSAGE_PARA>())).cCertStore as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_DECRYPT_MESSAGE_PARA), "::", stringify!(cCertStore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_DECRYPT_MESSAGE_PARA>())).rghCertStore as *const _ 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() { 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::null::<_CRYPT_HASH_MESSAGE_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_HASH_MESSAGE_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_HASH_MESSAGE_PARA>())).dwMsgEncodingType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPT_HASH_MESSAGE_PARA), "::", stringify!(dwMsgEncodingType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_HASH_MESSAGE_PARA>())).hCryptProv as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_HASH_MESSAGE_PARA), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_HASH_MESSAGE_PARA>())).HashAlgorithm as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_HASH_MESSAGE_PARA), "::", stringify!(HashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_HASH_MESSAGE_PARA>())).pvHashAuxInfo as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1() { 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::null::<_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1>())).hCryptProv as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1), "::", stringify!(hCryptProv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1>())).hNCryptKey as *const _ 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() { 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::null::<_CRYPT_KEY_SIGN_MESSAGE_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_SIGN_MESSAGE_PARA>())).dwMsgAndCertEncodingType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), "::", stringify!(dwMsgAndCertEncodingType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_SIGN_MESSAGE_PARA>())).dwKeySpec as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), "::", stringify!(dwKeySpec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_SIGN_MESSAGE_PARA>())).HashAlgorithm as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), "::", stringify!(HashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_SIGN_MESSAGE_PARA>())).pvHashAuxInfo as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), "::", stringify!(pvHashAuxInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_SIGN_MESSAGE_PARA>())).PubKeyAlgorithm as *const _ 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() { 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::null::<_CRYPT_KEY_VERIFY_MESSAGE_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_VERIFY_MESSAGE_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_VERIFY_MESSAGE_PARA>())).dwMsgEncodingType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPT_KEY_VERIFY_MESSAGE_PARA), "::", stringify!(dwMsgEncodingType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_KEY_VERIFY_MESSAGE_PARA>())).hCryptProv as *const _ 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() { 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::null::<_CERT_CHAIN>())).cCerts as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN), "::", stringify!(cCerts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN>())).certs as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN), "::", stringify!(certs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN>())).keyLocatorInfo as *const _ 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() { 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::null::<_CRYPT_BLOB_ARRAY>())).cBlob as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_BLOB_ARRAY), "::", stringify!(cBlob) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_BLOB_ARRAY>())).rgBlob as *const _ 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() { 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::null::<_CRYPT_CREDENTIALS>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_CREDENTIALS), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_CREDENTIALS>())).pszCredentialsOid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_CREDENTIALS), "::", stringify!(pszCredentialsOid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_CREDENTIALS>())).pvCredentials as *const _ 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() { 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::null::<_CRYPT_PASSWORD_CREDENTIALSA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_PASSWORD_CREDENTIALSA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PASSWORD_CREDENTIALSA>())).pszUsername as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_PASSWORD_CREDENTIALSA), "::", stringify!(pszUsername) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PASSWORD_CREDENTIALSA>())).pszPassword as *const _ 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() { 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::null::<_CRYPT_PASSWORD_CREDENTIALSW>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_PASSWORD_CREDENTIALSW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PASSWORD_CREDENTIALSW>())).pszUsername as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_PASSWORD_CREDENTIALSW), "::", stringify!(pszUsername) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PASSWORD_CREDENTIALSW>())).pszPassword as *const _ 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() { 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::null::<_CRYPTNET_URL_CACHE_PRE_FETCH_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTNET_URL_CACHE_PRE_FETCH_INFO>())).dwObjectType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), "::", stringify!(dwObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTNET_URL_CACHE_PRE_FETCH_INFO>())).dwError as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), "::", stringify!(dwError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTNET_URL_CACHE_PRE_FETCH_INFO>())).dwReserved as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), "::", stringify!(dwReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTNET_URL_CACHE_PRE_FETCH_INFO>())).ThisUpdateTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), "::", stringify!(ThisUpdateTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTNET_URL_CACHE_PRE_FETCH_INFO>())).NextUpdateTime as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), "::", stringify!(NextUpdateTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTNET_URL_CACHE_PRE_FETCH_INFO>())).PublishTime as *const _ 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() { 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::null::<_CRYPTNET_URL_CACHE_FLUSH_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPTNET_URL_CACHE_FLUSH_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTNET_URL_CACHE_FLUSH_INFO>())).dwExemptSeconds as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPTNET_URL_CACHE_FLUSH_INFO), "::", stringify!(dwExemptSeconds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTNET_URL_CACHE_FLUSH_INFO>())).ExpireTime as *const _ 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() { 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::null::<_CRYPTNET_URL_CACHE_RESPONSE_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTNET_URL_CACHE_RESPONSE_INFO>())).wResponseType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), "::", stringify!(wResponseType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTNET_URL_CACHE_RESPONSE_INFO>())).wResponseFlags as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), "::", stringify!(wResponseFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTNET_URL_CACHE_RESPONSE_INFO>())).LastModifiedTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), "::", stringify!(LastModifiedTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTNET_URL_CACHE_RESPONSE_INFO>())).dwMaxAge as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), "::", stringify!(dwMaxAge) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTNET_URL_CACHE_RESPONSE_INFO>())).pwszETag as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), "::", stringify!(pwszETag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTNET_URL_CACHE_RESPONSE_INFO>())).dwProxyId as *const _ 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() { 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::null::<_CRYPT_RETRIEVE_AUX_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_RETRIEVE_AUX_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RETRIEVE_AUX_INFO>())).pLastSyncTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_RETRIEVE_AUX_INFO), "::", stringify!(pLastSyncTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RETRIEVE_AUX_INFO>())).dwMaxUrlRetrievalByteCount as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_RETRIEVE_AUX_INFO), "::", stringify!(dwMaxUrlRetrievalByteCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RETRIEVE_AUX_INFO>())).pPreFetchInfo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPT_RETRIEVE_AUX_INFO), "::", stringify!(pPreFetchInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RETRIEVE_AUX_INFO>())).pFlushInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CRYPT_RETRIEVE_AUX_INFO), "::", stringify!(pFlushInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RETRIEVE_AUX_INFO>())).ppResponseInfo as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CRYPT_RETRIEVE_AUX_INFO), "::", stringify!(ppResponseInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RETRIEVE_AUX_INFO>())).pwszCacheFileNamePrefix as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CRYPT_RETRIEVE_AUX_INFO), "::", stringify!(pwszCacheFileNamePrefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RETRIEVE_AUX_INFO>())).pftCacheResync as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_CRYPT_RETRIEVE_AUX_INFO), "::", stringify!(pftCacheResync) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RETRIEVE_AUX_INFO>())).fProxyCacheRetrieval as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_CRYPT_RETRIEVE_AUX_INFO), "::", stringify!(fProxyCacheRetrieval) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RETRIEVE_AUX_INFO>())).dwHttpStatusCode as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_CRYPT_RETRIEVE_AUX_INFO), "::", stringify!(dwHttpStatusCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RETRIEVE_AUX_INFO>())).ppwszErrorResponseHeaders as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CRYPT_RETRIEVE_AUX_INFO), "::", stringify!(ppwszErrorResponseHeaders) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_RETRIEVE_AUX_INFO>())).ppErrorContentBlob as *const _ 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() { 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::null::<_CRYPT_ASYNC_RETRIEVAL_COMPLETION>())).pfnCompletion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_ASYNC_RETRIEVAL_COMPLETION), "::", stringify!(pfnCompletion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_ASYNC_RETRIEVAL_COMPLETION>())).pvCompletion as *const _ 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() { 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::null::<_CRYPT_URL_ARRAY>())).cUrl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_URL_ARRAY), "::", stringify!(cUrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_URL_ARRAY>())).rgwszUrl as *const _ 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() { 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::null::<_CRYPT_URL_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_URL_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_URL_INFO>())).dwSyncDeltaTime as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPT_URL_INFO), "::", stringify!(dwSyncDeltaTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_URL_INFO>())).cGroup as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_URL_INFO), "::", stringify!(cGroup) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_URL_INFO>())).rgcGroupEntry as *const _ 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() { 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::null::<_CERT_CRL_CONTEXT_PAIR>())).pCertContext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_CRL_CONTEXT_PAIR), "::", stringify!(pCertContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CRL_CONTEXT_PAIR>())).pCrlContext as *const _ 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() { 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::null::<_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO>())).iDeltaCrlIndicator as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), "::", stringify!(iDeltaCrlIndicator) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO>())).pftCacheResync as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), "::", stringify!(pftCacheResync) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO>())).pLastSyncTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), "::", stringify!(pLastSyncTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO>())).pMaxAgeTime as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), "::", stringify!(pMaxAgeTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO>())).pChainPara as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), "::", stringify!(pChainPara) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO>())).pDeltaCrlIndicator as *const _ 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() { 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::null::<_CERT_CHAIN_ENGINE_CONFIG>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ENGINE_CONFIG), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ENGINE_CONFIG>())).hRestrictedRoot as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ENGINE_CONFIG), "::", stringify!(hRestrictedRoot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ENGINE_CONFIG>())).hRestrictedTrust as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ENGINE_CONFIG), "::", stringify!(hRestrictedTrust) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ENGINE_CONFIG>())).hRestrictedOther as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ENGINE_CONFIG), "::", stringify!(hRestrictedOther) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ENGINE_CONFIG>())).cAdditionalStore as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ENGINE_CONFIG), "::", stringify!(cAdditionalStore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ENGINE_CONFIG>())).rghAdditionalStore as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ENGINE_CONFIG), "::", stringify!(rghAdditionalStore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ENGINE_CONFIG>())).dwFlags as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ENGINE_CONFIG), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ENGINE_CONFIG>())).dwUrlRetrievalTimeout as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ENGINE_CONFIG), "::", stringify!(dwUrlRetrievalTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ENGINE_CONFIG>())).MaximumCachedCertificates as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ENGINE_CONFIG), "::", stringify!(MaximumCachedCertificates) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ENGINE_CONFIG>())).CycleDetectionModulus as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ENGINE_CONFIG), "::", stringify!(CycleDetectionModulus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ENGINE_CONFIG>())).hExclusiveRoot as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ENGINE_CONFIG), "::", stringify!(hExclusiveRoot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ENGINE_CONFIG>())).hExclusiveTrustedPeople as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ENGINE_CONFIG), "::", stringify!(hExclusiveTrustedPeople) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ENGINE_CONFIG>())).dwExclusiveFlags as *const _ 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() { 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::null::<_CERT_TRUST_STATUS>())).dwErrorStatus as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_TRUST_STATUS), "::", stringify!(dwErrorStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_TRUST_STATUS>())).dwInfoStatus as *const _ 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() { 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::null::<_CERT_REVOCATION_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_INFO>())).dwRevocationResult as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_INFO), "::", stringify!(dwRevocationResult) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_INFO>())).pszRevocationOid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_INFO), "::", stringify!(pszRevocationOid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_INFO>())).pvOidSpecificInfo as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_INFO), "::", stringify!(pvOidSpecificInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_INFO>())).fHasFreshnessTime as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_INFO), "::", stringify!(fHasFreshnessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_INFO>())).dwFreshnessTime as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_INFO), "::", stringify!(dwFreshnessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_INFO>())).pCrlInfo as *const _ 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() { 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::null::<_CERT_TRUST_LIST_INFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_TRUST_LIST_INFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_TRUST_LIST_INFO>())).pCtlEntry as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_TRUST_LIST_INFO), "::", stringify!(pCtlEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_TRUST_LIST_INFO>())).pCtlContext as *const _ 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() { 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::null::<_CERT_CHAIN_ELEMENT>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ELEMENT), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ELEMENT>())).pCertContext as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ELEMENT), "::", stringify!(pCertContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ELEMENT>())).TrustStatus as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ELEMENT), "::", stringify!(TrustStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ELEMENT>())).pRevocationInfo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ELEMENT), "::", stringify!(pRevocationInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ELEMENT>())).pIssuanceUsage as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ELEMENT), "::", stringify!(pIssuanceUsage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ELEMENT>())).pApplicationUsage as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_ELEMENT), "::", stringify!(pApplicationUsage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_ELEMENT>())).pwszExtendedErrorInfo as *const _ 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() { 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::null::<_CERT_SIMPLE_CHAIN>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_SIMPLE_CHAIN), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SIMPLE_CHAIN>())).TrustStatus as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERT_SIMPLE_CHAIN), "::", stringify!(TrustStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SIMPLE_CHAIN>())).cElement as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CERT_SIMPLE_CHAIN), "::", stringify!(cElement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SIMPLE_CHAIN>())).rgpElement as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_SIMPLE_CHAIN), "::", stringify!(rgpElement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SIMPLE_CHAIN>())).pTrustListInfo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_SIMPLE_CHAIN), "::", stringify!(pTrustListInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SIMPLE_CHAIN>())).fHasRevocationFreshnessTime as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CERT_SIMPLE_CHAIN), "::", stringify!(fHasRevocationFreshnessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SIMPLE_CHAIN>())).dwRevocationFreshnessTime as *const _ 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() { 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::null::<_CERT_CHAIN_CONTEXT>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_CONTEXT), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_CONTEXT>())).TrustStatus as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_CONTEXT), "::", stringify!(TrustStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_CONTEXT>())).cChain as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_CONTEXT), "::", stringify!(cChain) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_CONTEXT>())).rgpChain as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_CONTEXT), "::", stringify!(rgpChain) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_CONTEXT>())).cLowerQualityChainContext as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_CONTEXT), "::", stringify!(cLowerQualityChainContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_CONTEXT>())).rgpLowerQualityChainContext as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_CONTEXT), "::", stringify!(rgpLowerQualityChainContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_CONTEXT>())).fHasRevocationFreshnessTime as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_CONTEXT), "::", stringify!(fHasRevocationFreshnessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_CONTEXT>())).dwRevocationFreshnessTime as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_CONTEXT), "::", stringify!(dwRevocationFreshnessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_CONTEXT>())).dwCreateFlags as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_CONTEXT), "::", stringify!(dwCreateFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_CONTEXT>())).ChainId as *const _ 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() { 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::null::<_CERT_USAGE_MATCH>())).dwType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_USAGE_MATCH), "::", stringify!(dwType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_USAGE_MATCH>())).Usage as *const _ 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() { 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::null::<_CTL_USAGE_MATCH>())).dwType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CTL_USAGE_MATCH), "::", stringify!(dwType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CTL_USAGE_MATCH>())).Usage as *const _ 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() { 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::null::<_CERT_CHAIN_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_PARA>())).RequestedUsage as *const _ 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() { 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::null::<_CERT_REVOCATION_CHAIN_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_CHAIN_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_CHAIN_PARA>())).hChainEngine as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_CHAIN_PARA), "::", stringify!(hChainEngine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_CHAIN_PARA>())).hAdditionalStore as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_CHAIN_PARA), "::", stringify!(hAdditionalStore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_CHAIN_PARA>())).dwChainFlags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_CHAIN_PARA), "::", stringify!(dwChainFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_CHAIN_PARA>())).dwUrlRetrievalTimeout as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_CHAIN_PARA), "::", stringify!(dwUrlRetrievalTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_CHAIN_PARA>())).pftCurrentTime as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_CHAIN_PARA), "::", stringify!(pftCurrentTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_CHAIN_PARA>())).pftCacheResync as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CERT_REVOCATION_CHAIN_PARA), "::", stringify!(pftCacheResync) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_REVOCATION_CHAIN_PARA>())).cbMaxUrlRetrievalByteCount as *const _ 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() { 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::null::<_CRL_REVOCATION_INFO>())).pCrlEntry as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRL_REVOCATION_INFO), "::", stringify!(pCrlEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_REVOCATION_INFO>())).pCrlContext as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRL_REVOCATION_INFO), "::", stringify!(pCrlContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRL_REVOCATION_INFO>())).pCrlIssuerChain as *const _ 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() { 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::null::<_CERT_CHAIN_FIND_BY_ISSUER_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_FIND_BY_ISSUER_PARA>())).pszUsageIdentifier as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), "::", stringify!(pszUsageIdentifier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_FIND_BY_ISSUER_PARA>())).dwKeySpec as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), "::", stringify!(dwKeySpec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_FIND_BY_ISSUER_PARA>())).dwAcquirePrivateKeyFlags as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), "::", stringify!(dwAcquirePrivateKeyFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_FIND_BY_ISSUER_PARA>())).cIssuer as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), "::", stringify!(cIssuer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_FIND_BY_ISSUER_PARA>())).rgIssuer as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), "::", stringify!(rgIssuer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_FIND_BY_ISSUER_PARA>())).pfnFindCallback as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), "::", stringify!(pfnFindCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_FIND_BY_ISSUER_PARA>())).pvFindArg as *const _ 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() { 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::null::<_CERT_CHAIN_POLICY_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_POLICY_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_POLICY_PARA>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_POLICY_PARA), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_POLICY_PARA>())).pvExtraPolicyPara as *const _ 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() { 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::null::<_CERT_CHAIN_POLICY_STATUS>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_POLICY_STATUS), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_POLICY_STATUS>())).dwError as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_POLICY_STATUS), "::", stringify!(dwError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_POLICY_STATUS>())).lChainIndex as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_POLICY_STATUS), "::", stringify!(lChainIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_POLICY_STATUS>())).lElementIndex as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CERT_CHAIN_POLICY_STATUS), "::", stringify!(lElementIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_CHAIN_POLICY_STATUS>())).pvExtraPolicyStatus as *const _ 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() { 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::null::<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA>())) .dwRegPolicySettings as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA), "::", stringify!(dwRegPolicySettings) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA>())).pSignerInfo as *const _ 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() { 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::null::<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS>())).fCommercial as *const _ 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() { 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::null::<_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA>())) .dwRegPolicySettings as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA), "::", stringify!(dwRegPolicySettings) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA>())).fCommercial as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__HTTPSPolicyCallbackData__bindgen_ty_1() { 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::null::<_HTTPSPolicyCallbackData__bindgen_ty_1>())).cbStruct as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_HTTPSPolicyCallbackData__bindgen_ty_1), "::", stringify!(cbStruct) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HTTPSPolicyCallbackData__bindgen_ty_1>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_HTTPSPolicyCallbackData__bindgen_ty_1), "::", stringify!(cbSize) ) ); } #[test] fn bindgen_test_layout__HTTPSPolicyCallbackData() { 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::null::<_HTTPSPolicyCallbackData>())).dwAuthType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_HTTPSPolicyCallbackData), "::", stringify!(dwAuthType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HTTPSPolicyCallbackData>())).fdwChecks as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_HTTPSPolicyCallbackData), "::", stringify!(fdwChecks) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HTTPSPolicyCallbackData>())).pwszServerName as *const _ 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() { 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::null::<_EV_EXTRA_CERT_CHAIN_POLICY_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EV_EXTRA_CERT_CHAIN_POLICY_PARA>())).dwRootProgramQualifierFlags as *const _ 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() { 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::null::<_EV_EXTRA_CERT_CHAIN_POLICY_STATUS>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_STATUS), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EV_EXTRA_CERT_CHAIN_POLICY_STATUS>())).dwQualifiers as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_STATUS), "::", stringify!(dwQualifiers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EV_EXTRA_CERT_CHAIN_POLICY_STATUS>())).dwIssuanceUsageIndex as *const _ 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(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() { 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::null::<_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS>())).dwErrorLevel as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS), "::", stringify!(dwErrorLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS>())).dwErrorCategory as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS), "::", stringify!(dwErrorCategory) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS>())).dwReserved as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS), "::", stringify!(dwReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS>())).wszErrorText as *const _ 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() { 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::null::<_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA>())).dwReserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA), "::", stringify!(dwReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA>())).pwszServerName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA), "::", stringify!(pwszServerName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA>())).rgpszHpkpValue as *const _ 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() { 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::null::<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA>())).dwReserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA), "::", stringify!(dwReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA>())).pwszServerName as *const _ 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(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() { 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::null::<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS>())).lError as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS), "::", stringify!(lError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS>())).wszErrorText as *const _ 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() { 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::null::<_CRYPT_PKCS12_PBE_PARAMS>())).iIterations as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_PKCS12_PBE_PARAMS), "::", stringify!(iIterations) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_PKCS12_PBE_PARAMS>())).cbSalt as *const _ 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() { 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::null::<_PKCS12_PBES2_EXPORT_PARAMS>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PKCS12_PBES2_EXPORT_PARAMS), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PKCS12_PBES2_EXPORT_PARAMS>())).hNcryptDescriptor as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PKCS12_PBES2_EXPORT_PARAMS), "::", stringify!(hNcryptDescriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PKCS12_PBES2_EXPORT_PARAMS>())).pwszPbes2Alg as *const _ 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() { 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::null::<_CERT_SERVER_OCSP_RESPONSE_CONTEXT>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_SERVER_OCSP_RESPONSE_CONTEXT), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SERVER_OCSP_RESPONSE_CONTEXT>())).pbEncodedOcspResponse as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_SERVER_OCSP_RESPONSE_CONTEXT), "::", stringify!(pbEncodedOcspResponse) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SERVER_OCSP_RESPONSE_CONTEXT>())).cbEncodedOcspResponse as *const _ 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() { 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::null::<_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA>())).pcbUsedSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), "::", stringify!(pcbUsedSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA>())).pwszOcspDirectory as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), "::", stringify!(pwszOcspDirectory) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA>())).pfnUpdateCallback as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), "::", stringify!(pfnUpdateCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA>())).pvUpdateCallbackArg as *const _ 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() { 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::null::<_CERT_SELECT_CHAIN_PARA>())).hChainEngine as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_SELECT_CHAIN_PARA), "::", stringify!(hChainEngine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SELECT_CHAIN_PARA>())).pTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CERT_SELECT_CHAIN_PARA), "::", stringify!(pTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SELECT_CHAIN_PARA>())).hAdditionalStore as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CERT_SELECT_CHAIN_PARA), "::", stringify!(hAdditionalStore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SELECT_CHAIN_PARA>())).pChainPara as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CERT_SELECT_CHAIN_PARA), "::", stringify!(pChainPara) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SELECT_CHAIN_PARA>())).dwFlags as *const _ 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() { 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::null::<_CERT_SELECT_CRITERIA>())).dwType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERT_SELECT_CRITERIA), "::", stringify!(dwType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SELECT_CRITERIA>())).cPara as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERT_SELECT_CRITERIA), "::", stringify!(cPara) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERT_SELECT_CRITERIA>())).ppPara as *const _ 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() { 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::null::<_CRYPT_TIMESTAMP_REQUEST>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_REQUEST), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_REQUEST>())).HashAlgorithm as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_REQUEST), "::", stringify!(HashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_REQUEST>())).HashedMessage as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_REQUEST), "::", stringify!(HashedMessage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_REQUEST>())).pszTSAPolicyId as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_REQUEST), "::", stringify!(pszTSAPolicyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_REQUEST>())).Nonce as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_REQUEST), "::", stringify!(Nonce) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_REQUEST>())).fCertReq as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_REQUEST), "::", stringify!(fCertReq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_REQUEST>())).cExtension as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_REQUEST), "::", stringify!(cExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_REQUEST>())).rgExtension as *const _ 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() { 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::null::<_CRYPT_TIMESTAMP_RESPONSE>())).dwStatus as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_RESPONSE), "::", stringify!(dwStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_RESPONSE>())).cFreeText as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_RESPONSE), "::", stringify!(cFreeText) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_RESPONSE>())).rgFreeText as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_RESPONSE), "::", stringify!(rgFreeText) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_RESPONSE>())).FailureInfo as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_RESPONSE), "::", stringify!(FailureInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_RESPONSE>())).ContentInfo as *const _ 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() { 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::null::<_CRYPT_TIMESTAMP_ACCURACY>())).dwSeconds as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_ACCURACY), "::", stringify!(dwSeconds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_ACCURACY>())).dwMillis as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_ACCURACY), "::", stringify!(dwMillis) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_ACCURACY>())).dwMicros as *const _ 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() { 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::null::<_CRYPT_TIMESTAMP_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_INFO>())).pszTSAPolicyId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_INFO), "::", stringify!(pszTSAPolicyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_INFO>())).HashAlgorithm as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_INFO), "::", stringify!(HashAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_INFO>())).HashedMessage as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_INFO), "::", stringify!(HashedMessage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_INFO>())).SerialNumber as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_INFO), "::", stringify!(SerialNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_INFO>())).ftTime as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_INFO), "::", stringify!(ftTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_INFO>())).pvAccuracy as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_INFO), "::", stringify!(pvAccuracy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_INFO>())).fOrdering as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_INFO), "::", stringify!(fOrdering) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_INFO>())).Nonce as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_INFO), "::", stringify!(Nonce) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_INFO>())).Tsa as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_INFO), "::", stringify!(Tsa) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_INFO>())).cExtension as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_INFO), "::", stringify!(cExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_INFO>())).rgExtension as *const _ 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() { 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::null::<_CRYPT_TIMESTAMP_CONTEXT>())).cbEncoded as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_CONTEXT), "::", stringify!(cbEncoded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_CONTEXT>())).pbEncoded as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_CONTEXT), "::", stringify!(pbEncoded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_CONTEXT>())).pTimeStamp as *const _ 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() { 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::null::<_CRYPT_TIMESTAMP_PARA>())).pszTSAPolicyId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_PARA), "::", stringify!(pszTSAPolicyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_PARA>())).fRequestCerts as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_PARA), "::", stringify!(fRequestCerts) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_PARA>())).Nonce as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_PARA), "::", stringify!(Nonce) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_PARA>())).cExtension as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CRYPT_TIMESTAMP_PARA), "::", stringify!(cExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_TIMESTAMP_PARA>())).rgExtension as *const _ 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() { 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::null::<_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE>())).pfnGet as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), "::", stringify!(pfnGet) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE>())).pfnRelease as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), "::", stringify!(pfnRelease) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE>())).pfnFreePassword as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), "::", stringify!(pfnFreePassword) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE>())).pfnFree as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), "::", stringify!(pfnFree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE>())).pfnFreeIdentifier as *const _ 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() { 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::null::<_CRYPTPROTECT_PROMPTSTRUCT>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CRYPTPROTECT_PROMPTSTRUCT), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTPROTECT_PROMPTSTRUCT>())).dwPromptFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CRYPTPROTECT_PROMPTSTRUCT), "::", stringify!(dwPromptFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTPROTECT_PROMPTSTRUCT>())).hwndApp as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CRYPTPROTECT_PROMPTSTRUCT), "::", stringify!(hwndApp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CRYPTPROTECT_PROMPTSTRUCT>())).szPrompt as *const _ 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() { 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::null::<_CERTIFICATE_BLOB>())).dwCertEncodingType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CERTIFICATE_BLOB), "::", stringify!(dwCertEncodingType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERTIFICATE_BLOB>())).cbData as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CERTIFICATE_BLOB), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CERTIFICATE_BLOB>())).pbData as *const _ 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() { 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::null::<_EFS_HASH_BLOB>())).cbData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EFS_HASH_BLOB), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EFS_HASH_BLOB>())).pbData as *const _ 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() { 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::null::<_EFS_RPC_BLOB>())).cbData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EFS_RPC_BLOB), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EFS_RPC_BLOB>())).pbData as *const _ 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() { 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::null::<_EFS_PIN_BLOB>())).cbPadding as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EFS_PIN_BLOB), "::", stringify!(cbPadding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EFS_PIN_BLOB>())).cbData as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_EFS_PIN_BLOB), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EFS_PIN_BLOB>())).pbData as *const _ 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() { 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::null::<_EFS_KEY_INFO>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EFS_KEY_INFO), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EFS_KEY_INFO>())).Entropy as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_EFS_KEY_INFO), "::", stringify!(Entropy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EFS_KEY_INFO>())).Algorithm as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_EFS_KEY_INFO), "::", stringify!(Algorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EFS_KEY_INFO>())).KeyLength as *const _ 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() { 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::null::<_EFS_COMPATIBILITY_INFO>())).EfsVersion as *const _ 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() { 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::null::<_EFS_VERSION_INFO>())).EfsVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EFS_VERSION_INFO), "::", stringify!(EfsVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EFS_VERSION_INFO>())).SubVersion as *const _ 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() { 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::null::<_EFS_DECRYPTION_STATUS_INFO>())).dwDecryptionError as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EFS_DECRYPTION_STATUS_INFO), "::", stringify!(dwDecryptionError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EFS_DECRYPTION_STATUS_INFO>())).dwHashOffset as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_EFS_DECRYPTION_STATUS_INFO), "::", stringify!(dwHashOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EFS_DECRYPTION_STATUS_INFO>())).cbHash as *const _ 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() { 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::null::<_EFS_ENCRYPTION_STATUS_INFO>())).bHasCurrentKey as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EFS_ENCRYPTION_STATUS_INFO), "::", stringify!(bHasCurrentKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EFS_ENCRYPTION_STATUS_INFO>())).dwEncryptionError as *const _ 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() { 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::null::<_ENCRYPTION_CERTIFICATE>())).cbTotalLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_CERTIFICATE), "::", stringify!(cbTotalLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_CERTIFICATE>())).pUserSid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_CERTIFICATE), "::", stringify!(pUserSid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_CERTIFICATE>())).pCertBlob as *const _ 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() { 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::null::<_ENCRYPTION_CERTIFICATE_HASH>())).cbTotalLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_CERTIFICATE_HASH), "::", stringify!(cbTotalLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_CERTIFICATE_HASH>())).pUserSid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_CERTIFICATE_HASH), "::", stringify!(pUserSid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_CERTIFICATE_HASH>())).pHash as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_CERTIFICATE_HASH), "::", stringify!(pHash) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_CERTIFICATE_HASH>())).lpDisplayInformation as *const _ 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() { 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::null::<_ENCRYPTION_CERTIFICATE_HASH_LIST>())).nCert_Hash as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_CERTIFICATE_HASH_LIST), "::", stringify!(nCert_Hash) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_CERTIFICATE_HASH_LIST>())).pUsers as *const _ 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() { 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::null::<_ENCRYPTION_CERTIFICATE_LIST>())).nUsers as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_CERTIFICATE_LIST), "::", stringify!(nUsers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_CERTIFICATE_LIST>())).pUsers as *const _ 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() { 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::null::<_ENCRYPTED_FILE_METADATA_SIGNATURE>())).dwEfsAccessType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCRYPTED_FILE_METADATA_SIGNATURE), "::", stringify!(dwEfsAccessType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTED_FILE_METADATA_SIGNATURE>())).pCertificatesAdded as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ENCRYPTED_FILE_METADATA_SIGNATURE), "::", stringify!(pCertificatesAdded) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTED_FILE_METADATA_SIGNATURE>())).pEncryptionCertificate as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_ENCRYPTED_FILE_METADATA_SIGNATURE), "::", stringify!(pEncryptionCertificate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTED_FILE_METADATA_SIGNATURE>())).pEfsStreamSignature as *const _ 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() { 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::null::<_ENCRYPTION_PROTECTOR>())).cbTotalLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_PROTECTOR), "::", stringify!(cbTotalLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_PROTECTOR>())).pUserSid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_PROTECTOR), "::", stringify!(pUserSid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_PROTECTOR>())).lpProtectorDescriptor as *const _ 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() { 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::null::<_ENCRYPTION_PROTECTOR_LIST>())).nProtectors as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_PROTECTOR_LIST), "::", stringify!(nProtectors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_PROTECTOR_LIST>())).pProtectors as *const _ 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() { 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::null::())).LookupContext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(RPC_IMPORT_CONTEXT_P), "::", stringify!(LookupContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProposedHandle as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(RPC_IMPORT_CONTEXT_P), "::", stringify!(ProposedHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Bindings as *const _ 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: size_t) -> *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: size_t, RealAlloc: ::std::option::Option< unsafe extern "C" fn(arg1: size_t) -> *mut ::std::os::raw::c_void, >, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn I_RpcDefaultFree( bh: handle_t, arg1: *mut ::std::os::raw::c_void, RealFree: ::std::option::Option, ); } pub type NDR_CCONTEXT = *mut ::std::os::raw::c_void; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _bindgen_ty_2 { pub pad: [*mut ::std::os::raw::c_void; 2usize], pub userContext: *mut ::std::os::raw::c_void, } #[test] fn bindgen_test_layout__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::<_bindgen_ty_2>(), 24usize, concat!("Size of: ", stringify!(_bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::<_bindgen_ty_2>(), 8usize, concat!("Alignment of ", stringify!(_bindgen_ty_2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_bindgen_ty_2>())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_bindgen_ty_2), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_bindgen_ty_2>())).userContext as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_bindgen_ty_2), "::", stringify!(userContext) ) ); } pub type NDR_SCONTEXT = *mut _bindgen_ty_2; pub type NDR_RUNDOWN = ::std::option::Option; pub type NDR_NOTIFY_ROUTINE = ::std::option::Option; pub type NDR_NOTIFY2_ROUTINE = ::std::option::Option; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _SCONTEXT_QUEUE { pub NumberOfObjects: ::std::os::raw::c_ulong, pub ArrayOfObjects: *mut NDR_SCONTEXT, } #[test] fn bindgen_test_layout__SCONTEXT_QUEUE() { 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::null::<_SCONTEXT_QUEUE>())).NumberOfObjects as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCONTEXT_QUEUE), "::", stringify!(NumberOfObjects) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCONTEXT_QUEUE>())).ArrayOfObjects as *const _ 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() { 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::null::())).Dimension as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ARRAY_INFO), "::", stringify!(Dimension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BufferConformanceMark as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ARRAY_INFO), "::", stringify!(BufferConformanceMark) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BufferVarianceMark as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ARRAY_INFO), "::", stringify!(BufferVarianceMark) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxCountArray as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ARRAY_INFO), "::", stringify!(MaxCountArray) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OffsetArray as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ARRAY_INFO), "::", stringify!(OffsetArray) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ActualCountArray as *const _ 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_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, 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() { 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::null::<_MIDL_STUB_MESSAGE>())).RpcMsg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(RpcMsg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).Buffer as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(Buffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).BufferStart as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(BufferStart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).BufferEnd as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(BufferEnd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).BufferMark as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(BufferMark) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).BufferLength as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(BufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).MemorySize as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(MemorySize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).Memory as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(Memory) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).IsClient as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(IsClient) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).Pad as *const _ as usize }, 57usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(Pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).uFlags2 as *const _ as usize }, 58usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(uFlags2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).ReuseBuffer as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(ReuseBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pAllocAllNodesContext as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pAllocAllNodesContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pPointerQueueState as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pPointerQueueState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).IgnoreEmbeddedPointers as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(IgnoreEmbeddedPointers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).PointerBufferMark as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(PointerBufferMark) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).CorrDespIncrement as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(CorrDespIncrement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).uFlags as *const _ as usize }, 97usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(uFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).UniquePtrCount as *const _ as usize }, 98usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(UniquePtrCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).MaxCount as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(MaxCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).Offset as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).ActualCount as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(ActualCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pfnAllocate as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pfnAllocate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pfnFree as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pfnFree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).StackTop as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(StackTop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pPresentedType as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pPresentedType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pTransmitType as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pTransmitType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).SavedHandle as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(SavedHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).StubDesc as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(StubDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).FullPtrXlatTables as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(FullPtrXlatTables) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).FullPtrRefId as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(FullPtrRefId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).PointerLength as *const _ as usize }, 188usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(PointerLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).dwDestContext as *const _ as usize }, 196usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(dwDestContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pvDestContext as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pvDestContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).SavedContextHandles as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(SavedContextHandles) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).ParamNumber as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(ParamNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pRpcChannelBuffer as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pRpcChannelBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pArrayInfo as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pArrayInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).SizePtrCountArray as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(SizePtrCountArray) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).SizePtrOffsetArray as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(SizePtrOffsetArray) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).SizePtrLengthArray as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(SizePtrLengthArray) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pArgQueue as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pArgQueue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).dwStubPhase as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(dwStubPhase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).LowStackMark as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(LowStackMark) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pAsyncMsg as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pAsyncMsg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pCorrInfo as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pCorrInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pCorrMemory as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pCorrMemory) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pMemoryList as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pMemoryList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pCSInfo as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pCSInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).ConformanceMark as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(ConformanceMark) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).VarianceMark as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(VarianceMark) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).Unused as *const _ as usize }, 344usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(Unused) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pContext as *const _ as usize }, 352usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).ContextHandleHash as *const _ as usize }, 360usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(ContextHandleHash) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).pUserMarshalList as *const _ as usize }, 368usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(pUserMarshalList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).Reserved51_3 as *const _ as usize }, 376usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(Reserved51_3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).Reserved51_4 as *const _ as usize }, 384usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_MESSAGE), "::", stringify!(Reserved51_4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_MESSAGE>())).Reserved51_5 as *const _ 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], u16> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = 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() { 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::null::<_GENERIC_BINDING_ROUTINE_PAIR>())).pfnBind as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GENERIC_BINDING_ROUTINE_PAIR), "::", stringify!(pfnBind) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GENERIC_BINDING_ROUTINE_PAIR>())).pfnUnbind as *const _ 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() { 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::null::<__GENERIC_BINDING_INFO>())).pObj as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__GENERIC_BINDING_INFO), "::", stringify!(pObj) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__GENERIC_BINDING_INFO>())).Size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(__GENERIC_BINDING_INFO), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__GENERIC_BINDING_INFO>())).pfnBind as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(__GENERIC_BINDING_INFO), "::", stringify!(pfnBind) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__GENERIC_BINDING_INFO>())).pfnUnbind as *const _ 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() { 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::null::<_XMIT_ROUTINE_QUINTUPLE>())).pfnTranslateToXmit as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_XMIT_ROUTINE_QUINTUPLE), "::", stringify!(pfnTranslateToXmit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XMIT_ROUTINE_QUINTUPLE>())).pfnTranslateFromXmit as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_XMIT_ROUTINE_QUINTUPLE), "::", stringify!(pfnTranslateFromXmit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XMIT_ROUTINE_QUINTUPLE>())).pfnFreeXmit as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_XMIT_ROUTINE_QUINTUPLE), "::", stringify!(pfnFreeXmit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_XMIT_ROUTINE_QUINTUPLE>())).pfnFreeInst as *const _ 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() { 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::null::<_USER_MARSHAL_ROUTINE_QUADRUPLE>())).pfnBufferSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_USER_MARSHAL_ROUTINE_QUADRUPLE), "::", stringify!(pfnBufferSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_USER_MARSHAL_ROUTINE_QUADRUPLE>())).pfnMarshall as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_USER_MARSHAL_ROUTINE_QUADRUPLE), "::", stringify!(pfnMarshall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_USER_MARSHAL_ROUTINE_QUADRUPLE>())).pfnUnmarshall as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_USER_MARSHAL_ROUTINE_QUADRUPLE), "::", stringify!(pfnUnmarshall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_USER_MARSHAL_ROUTINE_QUADRUPLE>())).pfnFree as *const _ 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() { 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::null::<_USER_MARSHAL_CB>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_USER_MARSHAL_CB), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_USER_MARSHAL_CB>())).pStubMsg as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_USER_MARSHAL_CB), "::", stringify!(pStubMsg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_USER_MARSHAL_CB>())).pReserve as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_USER_MARSHAL_CB), "::", stringify!(pReserve) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_USER_MARSHAL_CB>())).Signature as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_USER_MARSHAL_CB), "::", stringify!(Signature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_USER_MARSHAL_CB>())).CBType as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_USER_MARSHAL_CB), "::", stringify!(CBType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_USER_MARSHAL_CB>())).pFormat as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_USER_MARSHAL_CB), "::", stringify!(pFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_USER_MARSHAL_CB>())).pTypeFormat as *const _ 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() { 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::null::<_MALLOC_FREE_STRUCT>())).pfnAllocate as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MALLOC_FREE_STRUCT), "::", stringify!(pfnAllocate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MALLOC_FREE_STRUCT>())).pfnFree as *const _ 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() { 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::null::<_COMM_FAULT_OFFSETS>())).CommOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_COMM_FAULT_OFFSETS), "::", stringify!(CommOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COMM_FAULT_OFFSETS>())).FaultOffset as *const _ 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() { 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::null::<_NDR_CS_SIZE_CONVERT_ROUTINES>())).pfnNetSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NDR_CS_SIZE_CONVERT_ROUTINES), "::", stringify!(pfnNetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NDR_CS_SIZE_CONVERT_ROUTINES>())).pfnToNetCs as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NDR_CS_SIZE_CONVERT_ROUTINES), "::", stringify!(pfnToNetCs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NDR_CS_SIZE_CONVERT_ROUTINES>())).pfnLocalSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NDR_CS_SIZE_CONVERT_ROUTINES), "::", stringify!(pfnLocalSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NDR_CS_SIZE_CONVERT_ROUTINES>())).pfnFromNetCs as *const _ 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() { 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::null::<_NDR_CS_ROUTINES>())).pSizeConvertRoutines as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NDR_CS_ROUTINES), "::", stringify!(pSizeConvertRoutines) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NDR_CS_ROUTINES>())).pTagGettingRoutines as *const _ 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() { 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::null::<_NDR_EXPR_DESC>())).pOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NDR_EXPR_DESC), "::", stringify!(pOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NDR_EXPR_DESC>())).pFormatExpr as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__MIDL_STUB_DESC__bindgen_ty_1() { 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::null::<_MIDL_STUB_DESC__bindgen_ty_1>())).pAutoHandle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC__bindgen_ty_1), "::", stringify!(pAutoHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC__bindgen_ty_1>())).pPrimitiveHandle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC__bindgen_ty_1), "::", stringify!(pPrimitiveHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC__bindgen_ty_1>())).pGenericBindingInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC__bindgen_ty_1), "::", stringify!(pGenericBindingInfo) ) ); } #[test] fn bindgen_test_layout__MIDL_STUB_DESC() { 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::null::<_MIDL_STUB_DESC>())).RpcInterfaceInformation as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(RpcInterfaceInformation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).pfnAllocate as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(pfnAllocate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).pfnFree as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(pfnFree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).IMPLICIT_HANDLE_INFO as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(IMPLICIT_HANDLE_INFO) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).apfnNdrRundownRoutines as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(apfnNdrRundownRoutines) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).aGenericBindingRoutinePairs as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(aGenericBindingRoutinePairs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).apfnExprEval as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(apfnExprEval) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).aXmitQuintuple as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(aXmitQuintuple) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).pFormatTypes as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(pFormatTypes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).fCheckBounds as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(fCheckBounds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).Version as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).pMallocFreeStruct as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(pMallocFreeStruct) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).MIDLVersion as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(MIDLVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).CommFaultOffsets as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(CommFaultOffsets) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).aUserMarshalQuadruple as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(aUserMarshalQuadruple) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).NotifyRoutineTable as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(NotifyRoutineTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).mFlags as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(mFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).CsRoutineTables as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(CsRoutineTables) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).ProxyServerInfo as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(_MIDL_STUB_DESC), "::", stringify!(ProxyServerInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUB_DESC>())).pExprInfo as *const _ 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() { 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::null::<_MIDL_FORMAT_STRING>())).Pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MIDL_FORMAT_STRING), "::", stringify!(Pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_FORMAT_STRING>())).Format as *const _ 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() { 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::null::<_MIDL_METHOD_PROPERTY>())).Id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MIDL_METHOD_PROPERTY), "::", stringify!(Id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_METHOD_PROPERTY>())).Value as *const _ 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() { 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::null::<_MIDL_METHOD_PROPERTY_MAP>())).Count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MIDL_METHOD_PROPERTY_MAP), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_METHOD_PROPERTY_MAP>())).Properties as *const _ 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() { 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::null::<_MIDL_INTERFACE_METHOD_PROPERTIES>())).MethodCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MIDL_INTERFACE_METHOD_PROPERTIES), "::", stringify!(MethodCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_INTERFACE_METHOD_PROPERTIES>())).MethodProperties as *const _ 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_() { 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::null::<_MIDL_SERVER_INFO_>())).pStubDesc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MIDL_SERVER_INFO_), "::", stringify!(pStubDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_SERVER_INFO_>())).DispatchTable as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MIDL_SERVER_INFO_), "::", stringify!(DispatchTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_SERVER_INFO_>())).ProcString as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MIDL_SERVER_INFO_), "::", stringify!(ProcString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_SERVER_INFO_>())).FmtStringOffset as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_MIDL_SERVER_INFO_), "::", stringify!(FmtStringOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_SERVER_INFO_>())).ThunkTable as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_MIDL_SERVER_INFO_), "::", stringify!(ThunkTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_SERVER_INFO_>())).pTransferSyntax as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_MIDL_SERVER_INFO_), "::", stringify!(pTransferSyntax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_SERVER_INFO_>())).nCount as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_MIDL_SERVER_INFO_), "::", stringify!(nCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_SERVER_INFO_>())).pSyntaxInfo as *const _ 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() { 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::null::<_MIDL_STUBLESS_PROXY_INFO>())).pStubDesc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MIDL_STUBLESS_PROXY_INFO), "::", stringify!(pStubDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUBLESS_PROXY_INFO>())).ProcFormatString as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MIDL_STUBLESS_PROXY_INFO), "::", stringify!(ProcFormatString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUBLESS_PROXY_INFO>())).FormatStringOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MIDL_STUBLESS_PROXY_INFO), "::", stringify!(FormatStringOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUBLESS_PROXY_INFO>())).pTransferSyntax as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_MIDL_STUBLESS_PROXY_INFO), "::", stringify!(pTransferSyntax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUBLESS_PROXY_INFO>())).nCount as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_MIDL_STUBLESS_PROXY_INFO), "::", stringify!(nCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_STUBLESS_PROXY_INFO>())).pSyntaxInfo as *const _ 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() { 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::null::<_MIDL_SYNTAX_INFO>())).TransferSyntax as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MIDL_SYNTAX_INFO), "::", stringify!(TransferSyntax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_SYNTAX_INFO>())).DispatchTable as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_MIDL_SYNTAX_INFO), "::", stringify!(DispatchTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_SYNTAX_INFO>())).ProcString as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_MIDL_SYNTAX_INFO), "::", stringify!(ProcString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_SYNTAX_INFO>())).FmtStringOffset as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_MIDL_SYNTAX_INFO), "::", stringify!(FmtStringOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_SYNTAX_INFO>())).TypeString as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_MIDL_SYNTAX_INFO), "::", stringify!(TypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_SYNTAX_INFO>())).aUserMarshalQuadruple as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_MIDL_SYNTAX_INFO), "::", stringify!(aUserMarshalQuadruple) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_SYNTAX_INFO>())).pMethodProperties as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_MIDL_SYNTAX_INFO), "::", stringify!(pMethodProperties) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_SYNTAX_INFO>())).pReserved2 as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__CLIENT_CALL_RETURN() { 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::null::<_CLIENT_CALL_RETURN>())).Pointer as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLIENT_CALL_RETURN), "::", stringify!(Pointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLIENT_CALL_RETURN>())).Simple as *const _ 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() { 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::null::<_FULL_PTR_XLAT_TABLES>())).RefIdToPointer as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FULL_PTR_XLAT_TABLES), "::", stringify!(RefIdToPointer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FULL_PTR_XLAT_TABLES>())).PointerToRefId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FULL_PTR_XLAT_TABLES), "::", stringify!(PointerToRefId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FULL_PTR_XLAT_TABLES>())).NextRefId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FULL_PTR_XLAT_TABLES), "::", stringify!(NextRefId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FULL_PTR_XLAT_TABLES>())).XlatSide as *const _ 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: ::std::os::raw::c_int = 1; pub type _bindgen_ty_3 = ::std::os::raw::c_int; pub const MidlWinrtTypeSerializationInfoVersionOne: ::std::os::raw::c_int = 1; pub type _bindgen_ty_4 = ::std::os::raw::c_int; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _MIDL_INTERCEPTION_INFO { pub Version: ::std::os::raw::c_ulong, pub ProcString: PFORMAT_STRING, pub ProcFormatOffsetTable: *const ::std::os::raw::c_ushort, pub ProcCount: ::std::os::raw::c_ulong, pub TypeString: PFORMAT_STRING, } #[test] fn bindgen_test_layout__MIDL_INTERCEPTION_INFO() { 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::null::<_MIDL_INTERCEPTION_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MIDL_INTERCEPTION_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_INTERCEPTION_INFO>())).ProcString as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MIDL_INTERCEPTION_INFO), "::", stringify!(ProcString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_INTERCEPTION_INFO>())).ProcFormatOffsetTable as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MIDL_INTERCEPTION_INFO), "::", stringify!(ProcFormatOffsetTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_INTERCEPTION_INFO>())).ProcCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_MIDL_INTERCEPTION_INFO), "::", stringify!(ProcCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_INTERCEPTION_INFO>())).TypeString as *const _ 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() { 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::null::<_MIDL_WINRT_TYPE_SERIALIZATION_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_WINRT_TYPE_SERIALIZATION_INFO>())).TypeFormatString as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO), "::", stringify!(TypeFormatString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_WINRT_TYPE_SERIALIZATION_INFO>())).FormatStringSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO), "::", stringify!(FormatStringSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_WINRT_TYPE_SERIALIZATION_INFO>())).TypeOffset as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO), "::", stringify!(TypeOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MIDL_WINRT_TYPE_SERIALIZATION_INFO>())).StubDesc as *const _ 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: size_t) -> *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: size_t) -> *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: size_t) -> *mut ::std::os::raw::c_void, >, ClientFree: ::std::option::Option, OldClientAlloc: *mut ::std::option::Option< unsafe extern "C" fn(arg1: size_t) -> *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: size_t, 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: size_t) -> *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: size_t) -> *mut ::std::os::raw::c_void, >, ClientFree: ::std::option::Option, OldClientAlloc: *mut ::std::option::Option< unsafe extern "C" fn(arg1: size_t) -> *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: size_t) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn NdrRpcSmClientFree(NodeToFree: *mut ::std::os::raw::c_void); } extern "C" { pub fn NdrRpcSsDefaultAllocate(Size: size_t) -> *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: size_t) -> *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: size_t) -> *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() { 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::null::<_NDR_USER_MARSHAL_INFO_LEVEL1>())).Buffer as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), "::", stringify!(Buffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NDR_USER_MARSHAL_INFO_LEVEL1>())).BufferSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), "::", stringify!(BufferSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NDR_USER_MARSHAL_INFO_LEVEL1>())).pfnAllocate as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), "::", stringify!(pfnAllocate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NDR_USER_MARSHAL_INFO_LEVEL1>())).pfnFree as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), "::", stringify!(pfnFree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NDR_USER_MARSHAL_INFO_LEVEL1>())).pRpcChannelBuffer as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), "::", stringify!(pRpcChannelBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NDR_USER_MARSHAL_INFO_LEVEL1>())).Reserved as *const _ 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, _bindgen_union_align: [u64; 10usize], } #[test] fn bindgen_test_layout__NDR_USER_MARSHAL_INFO__bindgen_ty_1() { 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::null::<_NDR_USER_MARSHAL_INFO__bindgen_ty_1>())).Level1 as *const _ 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() { 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::null::<_NDR_USER_MARSHAL_INFO>())).InformationLevel as *const _ 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() { 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::null::<_COAUTHIDENTITY>())).User as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_COAUTHIDENTITY), "::", stringify!(User) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COAUTHIDENTITY>())).UserLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_COAUTHIDENTITY), "::", stringify!(UserLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COAUTHIDENTITY>())).Domain as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_COAUTHIDENTITY), "::", stringify!(Domain) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COAUTHIDENTITY>())).DomainLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_COAUTHIDENTITY), "::", stringify!(DomainLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COAUTHIDENTITY>())).Password as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_COAUTHIDENTITY), "::", stringify!(Password) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COAUTHIDENTITY>())).PasswordLength as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_COAUTHIDENTITY), "::", stringify!(PasswordLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COAUTHIDENTITY>())).Flags as *const _ 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() { 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::null::<_COAUTHINFO>())).dwAuthnSvc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_COAUTHINFO), "::", stringify!(dwAuthnSvc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COAUTHINFO>())).dwAuthzSvc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_COAUTHINFO), "::", stringify!(dwAuthzSvc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COAUTHINFO>())).pwszServerPrincName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_COAUTHINFO), "::", stringify!(pwszServerPrincName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COAUTHINFO>())).dwAuthnLevel as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_COAUTHINFO), "::", stringify!(dwAuthnLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COAUTHINFO>())).dwImpersonationLevel as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_COAUTHINFO), "::", stringify!(dwImpersonationLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COAUTHINFO>())).pAuthIdentityData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_COAUTHINFO), "::", stringify!(pAuthIdentityData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COAUTHINFO>())).dwCapabilities as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_COAUTHINFO), "::", stringify!(dwCapabilities) ) ); } pub type COAUTHINFO = _COAUTHINFO; pub type SCODE = LONG; pub type PSCODE = *mut SCODE; pub const tagMEMCTX_MEMCTX_TASK: tagMEMCTX = 1; pub const tagMEMCTX_MEMCTX_SHARED: tagMEMCTX = 2; pub const tagMEMCTX_MEMCTX_MACSYSTEM: tagMEMCTX = 3; pub const tagMEMCTX_MEMCTX_UNKNOWN: tagMEMCTX = -1; pub const tagMEMCTX_MEMCTX_SAME: tagMEMCTX = -2; pub type tagMEMCTX = ::std::os::raw::c_int; pub use self::tagMEMCTX as MEMCTX; pub const tagCLSCTX_CLSCTX_INPROC_SERVER: tagCLSCTX = 1; pub const tagCLSCTX_CLSCTX_INPROC_HANDLER: tagCLSCTX = 2; pub const tagCLSCTX_CLSCTX_LOCAL_SERVER: tagCLSCTX = 4; pub const tagCLSCTX_CLSCTX_INPROC_SERVER16: tagCLSCTX = 8; pub const tagCLSCTX_CLSCTX_REMOTE_SERVER: tagCLSCTX = 16; pub const tagCLSCTX_CLSCTX_INPROC_HANDLER16: tagCLSCTX = 32; pub const tagCLSCTX_CLSCTX_RESERVED1: tagCLSCTX = 64; pub const tagCLSCTX_CLSCTX_RESERVED2: tagCLSCTX = 128; pub const tagCLSCTX_CLSCTX_RESERVED3: tagCLSCTX = 256; pub const tagCLSCTX_CLSCTX_RESERVED4: tagCLSCTX = 512; pub const tagCLSCTX_CLSCTX_NO_CODE_DOWNLOAD: tagCLSCTX = 1024; pub const tagCLSCTX_CLSCTX_RESERVED5: tagCLSCTX = 2048; pub const tagCLSCTX_CLSCTX_NO_CUSTOM_MARSHAL: tagCLSCTX = 4096; pub const tagCLSCTX_CLSCTX_ENABLE_CODE_DOWNLOAD: tagCLSCTX = 8192; pub const tagCLSCTX_CLSCTX_NO_FAILURE_LOG: tagCLSCTX = 16384; pub const tagCLSCTX_CLSCTX_DISABLE_AAA: tagCLSCTX = 32768; pub const tagCLSCTX_CLSCTX_ENABLE_AAA: tagCLSCTX = 65536; pub const tagCLSCTX_CLSCTX_FROM_DEFAULT_CONTEXT: tagCLSCTX = 131072; pub const tagCLSCTX_CLSCTX_ACTIVATE_X86_SERVER: tagCLSCTX = 262144; pub const tagCLSCTX_CLSCTX_ACTIVATE_32_BIT_SERVER: tagCLSCTX = 262144; pub const tagCLSCTX_CLSCTX_ACTIVATE_64_BIT_SERVER: tagCLSCTX = 524288; pub const tagCLSCTX_CLSCTX_ENABLE_CLOAKING: tagCLSCTX = 1048576; pub const tagCLSCTX_CLSCTX_APPCONTAINER: tagCLSCTX = 4194304; pub const tagCLSCTX_CLSCTX_ACTIVATE_AAA_AS_IU: tagCLSCTX = 8388608; pub const tagCLSCTX_CLSCTX_RESERVED6: tagCLSCTX = 16777216; pub const tagCLSCTX_CLSCTX_ACTIVATE_ARM32_SERVER: tagCLSCTX = 33554432; pub const tagCLSCTX_CLSCTX_PS_DLL: tagCLSCTX = -2147483648; pub type tagCLSCTX = ::std::os::raw::c_int; pub use self::tagCLSCTX as CLSCTX; pub const tagMSHLFLAGS_MSHLFLAGS_NORMAL: tagMSHLFLAGS = 0; pub const tagMSHLFLAGS_MSHLFLAGS_TABLESTRONG: tagMSHLFLAGS = 1; pub const tagMSHLFLAGS_MSHLFLAGS_TABLEWEAK: tagMSHLFLAGS = 2; pub const tagMSHLFLAGS_MSHLFLAGS_NOPING: tagMSHLFLAGS = 4; pub const tagMSHLFLAGS_MSHLFLAGS_RESERVED1: tagMSHLFLAGS = 8; pub const tagMSHLFLAGS_MSHLFLAGS_RESERVED2: tagMSHLFLAGS = 16; pub const tagMSHLFLAGS_MSHLFLAGS_RESERVED3: tagMSHLFLAGS = 32; pub const tagMSHLFLAGS_MSHLFLAGS_RESERVED4: tagMSHLFLAGS = 64; pub type tagMSHLFLAGS = ::std::os::raw::c_int; pub use self::tagMSHLFLAGS as MSHLFLAGS; pub const tagMSHCTX_MSHCTX_LOCAL: tagMSHCTX = 0; pub const tagMSHCTX_MSHCTX_NOSHAREDMEM: tagMSHCTX = 1; pub const tagMSHCTX_MSHCTX_DIFFERENTMACHINE: tagMSHCTX = 2; pub const tagMSHCTX_MSHCTX_INPROC: tagMSHCTX = 3; pub const tagMSHCTX_MSHCTX_CROSSCTX: tagMSHCTX = 4; pub const tagMSHCTX_MSHCTX_RESERVED1: tagMSHCTX = 5; pub type tagMSHCTX = ::std::os::raw::c_int; pub use self::tagMSHCTX as MSHCTX; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _BYTE_BLOB { pub clSize: ULONG, pub abData: [byte; 1usize], } #[test] fn bindgen_test_layout__BYTE_BLOB() { 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::null::<_BYTE_BLOB>())).clSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BYTE_BLOB), "::", stringify!(clSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BYTE_BLOB>())).abData as *const _ 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() { 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::null::<_WORD_BLOB>())).clSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WORD_BLOB), "::", stringify!(clSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WORD_BLOB>())).asData as *const _ 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() { 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::null::<_DWORD_BLOB>())).clSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DWORD_BLOB), "::", stringify!(clSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DWORD_BLOB>())).alData as *const _ 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() { 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::null::<_FLAGGED_BYTE_BLOB>())).fFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FLAGGED_BYTE_BLOB), "::", stringify!(fFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FLAGGED_BYTE_BLOB>())).clSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FLAGGED_BYTE_BLOB), "::", stringify!(clSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FLAGGED_BYTE_BLOB>())).abData as *const _ 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() { 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::null::<_FLAGGED_WORD_BLOB>())).fFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FLAGGED_WORD_BLOB), "::", stringify!(fFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FLAGGED_WORD_BLOB>())).clSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FLAGGED_WORD_BLOB), "::", stringify!(clSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FLAGGED_WORD_BLOB>())).asData as *const _ 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() { 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::null::<_BYTE_SIZEDARR>())).clSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BYTE_SIZEDARR), "::", stringify!(clSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BYTE_SIZEDARR>())).pData as *const _ 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() { 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::null::<_SHORT_SIZEDARR>())).clSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHORT_SIZEDARR), "::", stringify!(clSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHORT_SIZEDARR>())).pData as *const _ 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() { 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::null::<_LONG_SIZEDARR>())).clSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LONG_SIZEDARR), "::", stringify!(clSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LONG_SIZEDARR>())).pData as *const _ 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() { 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::null::<_HYPER_SIZEDARR>())).clSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_HYPER_SIZEDARR), "::", stringify!(clSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HYPER_SIZEDARR>())).pData as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagBLOB), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pBlobData as *const _ 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() { 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::null::())).fNullHGlobal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRemHGLOBAL), "::", stringify!(fNullHGlobal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbData as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRemHGLOBAL), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ 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() { 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::null::())).mm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRemHMETAFILEPICT), "::", stringify!(mm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xExt as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRemHMETAFILEPICT), "::", stringify!(xExt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).yExt as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRemHMETAFILEPICT), "::", stringify!(yExt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbData as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagRemHMETAFILEPICT), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ 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() { 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::null::())).cbData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRemHENHMETAFILE), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ 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() { 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::null::())).cbData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRemHBITMAP), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ 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() { 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::null::())).cbData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRemHPALETTE), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ 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() { 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::null::())).cbData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRemBRUSH), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__userCLIPFORMAT___MIDL_IWinTypes_0001() { 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::null::<_userCLIPFORMAT___MIDL_IWinTypes_0001>())).dwValue as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userCLIPFORMAT___MIDL_IWinTypes_0001), "::", stringify!(dwValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userCLIPFORMAT___MIDL_IWinTypes_0001>())).pwszName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userCLIPFORMAT___MIDL_IWinTypes_0001), "::", stringify!(pwszName) ) ); } #[test] fn bindgen_test_layout__userCLIPFORMAT() { 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::null::<_userCLIPFORMAT>())).fContext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userCLIPFORMAT), "::", stringify!(fContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userCLIPFORMAT>())).u as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__GDI_NONREMOTE___MIDL_IWinTypes_0002() { 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::null::<_GDI_NONREMOTE___MIDL_IWinTypes_0002>())).hInproc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GDI_NONREMOTE___MIDL_IWinTypes_0002), "::", stringify!(hInproc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GDI_NONREMOTE___MIDL_IWinTypes_0002>())).hRemote as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GDI_NONREMOTE___MIDL_IWinTypes_0002), "::", stringify!(hRemote) ) ); } #[test] fn bindgen_test_layout__GDI_NONREMOTE() { 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::null::<_GDI_NONREMOTE>())).fContext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GDI_NONREMOTE), "::", stringify!(fContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GDI_NONREMOTE>())).u as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__userHGLOBAL___MIDL_IWinTypes_0003() { 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::null::<_userHGLOBAL___MIDL_IWinTypes_0003>())).hInproc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHGLOBAL___MIDL_IWinTypes_0003), "::", stringify!(hInproc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHGLOBAL___MIDL_IWinTypes_0003>())).hRemote as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHGLOBAL___MIDL_IWinTypes_0003), "::", stringify!(hRemote) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHGLOBAL___MIDL_IWinTypes_0003>())).hInproc64 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHGLOBAL___MIDL_IWinTypes_0003), "::", stringify!(hInproc64) ) ); } #[test] fn bindgen_test_layout__userHGLOBAL() { 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::null::<_userHGLOBAL>())).fContext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHGLOBAL), "::", stringify!(fContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHGLOBAL>())).u as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__userHMETAFILE___MIDL_IWinTypes_0004() { 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::null::<_userHMETAFILE___MIDL_IWinTypes_0004>())).hInproc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHMETAFILE___MIDL_IWinTypes_0004), "::", stringify!(hInproc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHMETAFILE___MIDL_IWinTypes_0004>())).hRemote as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHMETAFILE___MIDL_IWinTypes_0004), "::", stringify!(hRemote) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHMETAFILE___MIDL_IWinTypes_0004>())).hInproc64 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHMETAFILE___MIDL_IWinTypes_0004), "::", stringify!(hInproc64) ) ); } #[test] fn bindgen_test_layout__userHMETAFILE() { 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::null::<_userHMETAFILE>())).fContext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHMETAFILE), "::", stringify!(fContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHMETAFILE>())).u as *const _ 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() { 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::null::<_remoteMETAFILEPICT>())).mm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_remoteMETAFILEPICT), "::", stringify!(mm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_remoteMETAFILEPICT>())).xExt as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_remoteMETAFILEPICT), "::", stringify!(xExt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_remoteMETAFILEPICT>())).yExt as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_remoteMETAFILEPICT), "::", stringify!(yExt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_remoteMETAFILEPICT>())).hMF as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__userHMETAFILEPICT___MIDL_IWinTypes_0005() { 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::null::<_userHMETAFILEPICT___MIDL_IWinTypes_0005>())).hInproc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHMETAFILEPICT___MIDL_IWinTypes_0005), "::", stringify!(hInproc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHMETAFILEPICT___MIDL_IWinTypes_0005>())).hRemote as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHMETAFILEPICT___MIDL_IWinTypes_0005), "::", stringify!(hRemote) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHMETAFILEPICT___MIDL_IWinTypes_0005>())).hInproc64 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHMETAFILEPICT___MIDL_IWinTypes_0005), "::", stringify!(hInproc64) ) ); } #[test] fn bindgen_test_layout__userHMETAFILEPICT() { 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::null::<_userHMETAFILEPICT>())).fContext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHMETAFILEPICT), "::", stringify!(fContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHMETAFILEPICT>())).u as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__userHENHMETAFILE___MIDL_IWinTypes_0006() { 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::null::<_userHENHMETAFILE___MIDL_IWinTypes_0006>())).hInproc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHENHMETAFILE___MIDL_IWinTypes_0006), "::", stringify!(hInproc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHENHMETAFILE___MIDL_IWinTypes_0006>())).hRemote as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHENHMETAFILE___MIDL_IWinTypes_0006), "::", stringify!(hRemote) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHENHMETAFILE___MIDL_IWinTypes_0006>())).hInproc64 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHENHMETAFILE___MIDL_IWinTypes_0006), "::", stringify!(hInproc64) ) ); } #[test] fn bindgen_test_layout__userHENHMETAFILE() { 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::null::<_userHENHMETAFILE>())).fContext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHENHMETAFILE), "::", stringify!(fContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHENHMETAFILE>())).u as *const _ 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() { 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::null::<_userBITMAP>())).bmType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userBITMAP), "::", stringify!(bmType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userBITMAP>())).bmWidth as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_userBITMAP), "::", stringify!(bmWidth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userBITMAP>())).bmHeight as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_userBITMAP), "::", stringify!(bmHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userBITMAP>())).bmWidthBytes as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_userBITMAP), "::", stringify!(bmWidthBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userBITMAP>())).bmPlanes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_userBITMAP), "::", stringify!(bmPlanes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userBITMAP>())).bmBitsPixel as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(_userBITMAP), "::", stringify!(bmBitsPixel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userBITMAP>())).cbSize as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_userBITMAP), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userBITMAP>())).pBuffer as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__userHBITMAP___MIDL_IWinTypes_0007() { 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::null::<_userHBITMAP___MIDL_IWinTypes_0007>())).hInproc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHBITMAP___MIDL_IWinTypes_0007), "::", stringify!(hInproc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHBITMAP___MIDL_IWinTypes_0007>())).hRemote as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHBITMAP___MIDL_IWinTypes_0007), "::", stringify!(hRemote) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHBITMAP___MIDL_IWinTypes_0007>())).hInproc64 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHBITMAP___MIDL_IWinTypes_0007), "::", stringify!(hInproc64) ) ); } #[test] fn bindgen_test_layout__userHBITMAP() { 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::null::<_userHBITMAP>())).fContext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHBITMAP), "::", stringify!(fContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHBITMAP>())).u as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__userHPALETTE___MIDL_IWinTypes_0008() { 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::null::<_userHPALETTE___MIDL_IWinTypes_0008>())).hInproc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHPALETTE___MIDL_IWinTypes_0008), "::", stringify!(hInproc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHPALETTE___MIDL_IWinTypes_0008>())).hRemote as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHPALETTE___MIDL_IWinTypes_0008), "::", stringify!(hRemote) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHPALETTE___MIDL_IWinTypes_0008>())).hInproc64 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHPALETTE___MIDL_IWinTypes_0008), "::", stringify!(hInproc64) ) ); } #[test] fn bindgen_test_layout__userHPALETTE() { 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::null::<_userHPALETTE>())).fContext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userHPALETTE), "::", stringify!(fContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userHPALETTE>())).u as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__RemotableHandle___MIDL_IWinTypes_0009() { 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::null::<_RemotableHandle___MIDL_IWinTypes_0009>())).hInproc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RemotableHandle___MIDL_IWinTypes_0009), "::", stringify!(hInproc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RemotableHandle___MIDL_IWinTypes_0009>())).hRemote as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RemotableHandle___MIDL_IWinTypes_0009), "::", stringify!(hRemote) ) ); } #[test] fn bindgen_test_layout__RemotableHandle() { 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::null::<_RemotableHandle>())).fContext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_RemotableHandle), "::", stringify!(fContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_RemotableHandle>())).u as *const _ 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, _bindgen_union_align: u64, } #[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() { 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::null::())).Lo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCY__bindgen_ty_1), "::", stringify!(Lo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Hi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagCY__bindgen_ty_1), "::", stringify!(Hi) ) ); } #[test] fn bindgen_test_layout_tagCY() { 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::null::())).int64 as *const _ 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, _bindgen_union_align: u16, } #[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() { 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::null::())).scale as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDEC__bindgen_ty_1__bindgen_ty_1), "::", stringify!(scale) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sign as *const _ 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() { 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::null::())).signscale as *const _ 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, _bindgen_union_align: u64, } #[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() { 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::null::())).Lo32 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDEC__bindgen_ty_2__bindgen_ty_1), "::", stringify!(Lo32) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Mid32 as *const _ 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() { 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::null::())).Lo64 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDEC__bindgen_ty_2), "::", stringify!(Lo64) ) ); } #[test] fn bindgen_test_layout_tagDEC() { 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::null::())).wReserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDEC), "::", stringify!(wReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Hi32 as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagBSTRBLOB), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pData as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCLIPDATA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulClipFmt as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagCLIPDATA), "::", stringify!(ulClipFmt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pClipData as *const _ 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() { 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::null::<_tagpropertykey>())).fmtid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_tagpropertykey), "::", stringify!(fmtid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagpropertykey>())).pid as *const _ 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() { 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::null::())).dwPlatformId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCSPLATFORM), "::", stringify!(dwPlatformId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwVersionHi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagCSPLATFORM), "::", stringify!(dwVersionHi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwVersionLo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCSPLATFORM), "::", stringify!(dwVersionLo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwProcessorArch as *const _ 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() { 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::null::())).dwContext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagQUERYCONTEXT), "::", stringify!(dwContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Platform as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagQUERYCONTEXT), "::", stringify!(Platform) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Locale as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagQUERYCONTEXT), "::", stringify!(Locale) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwVersionHi as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagQUERYCONTEXT), "::", stringify!(dwVersionHi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwVersionLo as *const _ 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 , _bindgen_union_align : [u64 ; 4usize] , } #[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( ) { 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 :: null :: < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1 > ())) . pPackageName as * const _ 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 :: null :: < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1 > ())) . PolicyId as * const _ 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( ) { 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 :: null :: < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2 > ())) . ObjectId as * const _ 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 :: null :: < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2 > ())) . PolicyId as * const _ 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( ) { 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::null::< __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005, >())) .clsid as *const _ 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::null::< __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005, >())) .pFileExt as *const _ 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::null::< __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005, >())) .pMimeType as *const _ 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::null::< __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005, >())) .pProgId as *const _ 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::null::< __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005, >())) .pFileName as *const _ 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::null::< __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005, >())) .ByName as *const _ 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::null::< __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005, >())) .ByObjectId as *const _ 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() { 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::null::<__MIDL___MIDL_itf_wtypes_0000_0001_0001>())).tyspec as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__MIDL___MIDL_itf_wtypes_0000_0001_0001), "::", stringify!(tyspec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__MIDL___MIDL_itf_wtypes_0000_0001_0001>())).tagged_union as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(__MIDL___MIDL_itf_wtypes_0000_0001_0001), "::", stringify!(tagged_union) ) ); } pub type uCLSSPEC = __MIDL___MIDL_itf_wtypes_0000_0001_0001; extern "C" { pub static mut __MIDL_itf_wtypes_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_wtypes_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub static GUID_DEVINTERFACE_DISK: GUID; } extern "C" { pub static GUID_DEVINTERFACE_CDROM: GUID; } extern "C" { pub static GUID_DEVINTERFACE_PARTITION: GUID; } extern "C" { pub static GUID_DEVINTERFACE_TAPE: GUID; } extern "C" { pub static GUID_DEVINTERFACE_WRITEONCEDISK: GUID; } extern "C" { pub static GUID_DEVINTERFACE_VOLUME: GUID; } extern "C" { pub static GUID_DEVINTERFACE_MEDIUMCHANGER: GUID; } extern "C" { pub static GUID_DEVINTERFACE_FLOPPY: GUID; } extern "C" { pub static GUID_DEVINTERFACE_CDCHANGER: GUID; } extern "C" { pub static GUID_DEVINTERFACE_STORAGEPORT: GUID; } extern "C" { pub static GUID_DEVINTERFACE_VMLUN: GUID; } extern "C" { pub static GUID_DEVINTERFACE_SES: GUID; } extern "C" { pub static GUID_DEVINTERFACE_SERVICE_VOLUME: GUID; } extern "C" { pub static GUID_DEVINTERFACE_HIDDEN_VOLUME: GUID; } extern "C" { pub static GUID_DEVINTERFACE_UNIFIED_ACCESS_RPMB: GUID; } extern "C" { pub static GUID_DEVINTERFACE_SCM_PHYSICAL_DEVICE: GUID; } extern "C" { pub static GUID_SCM_PD_HEALTH_NOTIFICATION: GUID; } extern "C" { pub static GUID_SCM_PD_PASSTHROUGH_INVDIMM: GUID; } extern "C" { pub static GUID_DEVINTERFACE_COMPORT: GUID; } extern "C" { pub static GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR: GUID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _STORAGE_HOTPLUG_INFO { pub Size: DWORD, pub MediaRemovable: BOOLEAN, pub MediaHotplug: BOOLEAN, pub DeviceHotplug: BOOLEAN, pub WriteCacheEnableOverride: BOOLEAN, } #[test] fn bindgen_test_layout__STORAGE_HOTPLUG_INFO() { 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::null::<_STORAGE_HOTPLUG_INFO>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_HOTPLUG_INFO), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HOTPLUG_INFO>())).MediaRemovable as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_HOTPLUG_INFO), "::", stringify!(MediaRemovable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HOTPLUG_INFO>())).MediaHotplug as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(_STORAGE_HOTPLUG_INFO), "::", stringify!(MediaHotplug) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HOTPLUG_INFO>())).DeviceHotplug as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_STORAGE_HOTPLUG_INFO), "::", stringify!(DeviceHotplug) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HOTPLUG_INFO>())).WriteCacheEnableOverride as *const _ 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() { 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::null::<_STORAGE_DEVICE_NUMBER>())).DeviceType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_NUMBER), "::", stringify!(DeviceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_NUMBER>())).DeviceNumber as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_NUMBER), "::", stringify!(DeviceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_NUMBER>())).PartitionNumber as *const _ 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() { 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::null::<_STORAGE_DEVICE_NUMBERS>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_NUMBERS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_NUMBERS>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_NUMBERS), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_NUMBERS>())).NumberOfDevices as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_NUMBERS), "::", stringify!(NumberOfDevices) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_NUMBERS>())).Devices as *const _ 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() { 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::null::<_STORAGE_DEVICE_NUMBER_EX>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_NUMBER_EX), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_NUMBER_EX>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_NUMBER_EX), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_NUMBER_EX>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_NUMBER_EX), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_NUMBER_EX>())).DeviceType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_NUMBER_EX), "::", stringify!(DeviceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_NUMBER_EX>())).DeviceNumber as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_NUMBER_EX), "::", stringify!(DeviceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_NUMBER_EX>())).DeviceGuid as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_NUMBER_EX), "::", stringify!(DeviceGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_NUMBER_EX>())).PartitionNumber as *const _ 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() { 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::null::<_STORAGE_BUS_RESET_REQUEST>())).PathId as *const _ 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() { 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::null::())).Length as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(STORAGE_BREAK_RESERVATION_REQUEST), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::()))._unused as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(STORAGE_BREAK_RESERVATION_REQUEST), "::", stringify!(_unused) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PathId as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(STORAGE_BREAK_RESERVATION_REQUEST), "::", stringify!(PathId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TargetId as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(STORAGE_BREAK_RESERVATION_REQUEST), "::", stringify!(TargetId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Lun as *const _ 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() { 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::null::<_PREVENT_MEDIA_REMOVAL>())).PreventMediaRemoval as *const _ 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() { 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::null::<_CLASS_MEDIA_CHANGE_CONTEXT>())).MediaChangeCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLASS_MEDIA_CHANGE_CONTEXT), "::", stringify!(MediaChangeCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLASS_MEDIA_CHANGE_CONTEXT>())).NewState as *const _ 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() { 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::null::<_TAPE_STATISTICS>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TAPE_STATISTICS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_STATISTICS>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TAPE_STATISTICS), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_STATISTICS>())).RecoveredWrites as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TAPE_STATISTICS), "::", stringify!(RecoveredWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_STATISTICS>())).UnrecoveredWrites as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TAPE_STATISTICS), "::", stringify!(UnrecoveredWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_STATISTICS>())).RecoveredReads as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_TAPE_STATISTICS), "::", stringify!(RecoveredReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_STATISTICS>())).UnrecoveredReads as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_TAPE_STATISTICS), "::", stringify!(UnrecoveredReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_STATISTICS>())).CompressionRatioReads as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_TAPE_STATISTICS), "::", stringify!(CompressionRatioReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TAPE_STATISTICS>())).CompressionRatioWrites as *const _ 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() { 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::null::<_TAPE_GET_STATISTICS>())).Operation as *const _ 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, _bindgen_union_align: [u64; 4usize], } #[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() { 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::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1>())).Cylinders as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Cylinders) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1>())).MediaType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), "::", stringify!(MediaType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1>())) .TracksPerCylinder as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), "::", stringify!(TracksPerCylinder) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1>())) .SectorsPerTrack as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), "::", stringify!(SectorsPerTrack) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1>())) .BytesPerSector as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), "::", stringify!(BytesPerSector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1>())) .NumberMediaSides as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), "::", stringify!(NumberMediaSides) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1>())) .MediaCharacteristics as *const _ 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() { 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::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2>())).Cylinders as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), "::", stringify!(Cylinders) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2>())).MediaType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), "::", stringify!(MediaType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2>())) .TracksPerCylinder as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), "::", stringify!(TracksPerCylinder) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2>())) .SectorsPerTrack as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), "::", stringify!(SectorsPerTrack) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2>())) .BytesPerSector as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), "::", stringify!(BytesPerSector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2>())) .NumberMediaSides as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), "::", stringify!(NumberMediaSides) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2>())) .MediaCharacteristics as *const _ 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, _bindgen_union_align: [u8; 2usize], } #[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() { 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::null::< _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, >())) .MediumType as *const _ 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::null::< _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, >())) .DensityCode as *const _ 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() { 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::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1>())) .ScsiInformation as *const _ 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() { 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::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3>())).MediaType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3), "::", stringify!(MediaType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3>())) .MediaCharacteristics as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3), "::", stringify!(MediaCharacteristics) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3>())) .CurrentBlockSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3), "::", stringify!(CurrentBlockSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3>())).BusType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3), "::", stringify!(BusType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3>())) .BusSpecificData as *const _ 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() { 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::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1>())).DiskInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1), "::", stringify!(DiskInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1>())).RemovableDiskInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1), "::", stringify!(RemovableDiskInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MEDIA_INFO__bindgen_ty_1>())).TapeInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1), "::", stringify!(TapeInfo) ) ); } #[test] fn bindgen_test_layout__DEVICE_MEDIA_INFO() { 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::null::<_DEVICE_MEDIA_INFO>())).DeviceSpecific as *const _ 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() { 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::null::<_GET_MEDIA_TYPES>())).DeviceType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GET_MEDIA_TYPES), "::", stringify!(DeviceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_MEDIA_TYPES>())).MediaInfoCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_GET_MEDIA_TYPES), "::", stringify!(MediaInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_MEDIA_TYPES>())).MediaInfo as *const _ 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(Copy, Clone)] pub struct _STORAGE_PREDICT_FAILURE { pub PredictFailure: DWORD, pub VendorSpecific: [BYTE; 512usize], } #[test] fn bindgen_test_layout__STORAGE_PREDICT_FAILURE() { 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::null::<_STORAGE_PREDICT_FAILURE>())).PredictFailure as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_PREDICT_FAILURE), "::", stringify!(PredictFailure) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PREDICT_FAILURE>())).VendorSpecific as *const _ 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() { 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::null::<_STORAGE_FAILURE_PREDICTION_CONFIG>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_FAILURE_PREDICTION_CONFIG>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_FAILURE_PREDICTION_CONFIG>())).Set as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG), "::", stringify!(Set) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_FAILURE_PREDICTION_CONFIG>())).Enabled as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG), "::", stringify!(Enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_FAILURE_PREDICTION_CONFIG>())).Reserved as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG), "::", stringify!(Reserved) ) ); } pub type STORAGE_FAILURE_PREDICTION_CONFIG = _STORAGE_FAILURE_PREDICTION_CONFIG; pub type PSTORAGE_FAILURE_PREDICTION_CONFIG = *mut _STORAGE_FAILURE_PREDICTION_CONFIG; pub const _STORAGE_QUERY_TYPE_PropertyStandardQuery: _STORAGE_QUERY_TYPE = 0; pub const _STORAGE_QUERY_TYPE_PropertyExistsQuery: _STORAGE_QUERY_TYPE = 1; pub const _STORAGE_QUERY_TYPE_PropertyMaskQuery: _STORAGE_QUERY_TYPE = 2; pub const _STORAGE_QUERY_TYPE_PropertyQueryMaxDefined: _STORAGE_QUERY_TYPE = 3; pub type _STORAGE_QUERY_TYPE = ::std::os::raw::c_int; pub use self::_STORAGE_QUERY_TYPE as STORAGE_QUERY_TYPE; pub type PSTORAGE_QUERY_TYPE = *mut _STORAGE_QUERY_TYPE; pub const _STORAGE_SET_TYPE_PropertyStandardSet: _STORAGE_SET_TYPE = 0; pub const _STORAGE_SET_TYPE_PropertyExistsSet: _STORAGE_SET_TYPE = 1; pub const _STORAGE_SET_TYPE_PropertySetMaxDefined: _STORAGE_SET_TYPE = 2; pub type _STORAGE_SET_TYPE = ::std::os::raw::c_int; pub use self::_STORAGE_SET_TYPE as STORAGE_SET_TYPE; pub type PSTORAGE_SET_TYPE = *mut _STORAGE_SET_TYPE; pub const _STORAGE_PROPERTY_ID_StorageDeviceProperty: _STORAGE_PROPERTY_ID = 0; pub const _STORAGE_PROPERTY_ID_StorageAdapterProperty: _STORAGE_PROPERTY_ID = 1; pub const _STORAGE_PROPERTY_ID_StorageDeviceIdProperty: _STORAGE_PROPERTY_ID = 2; pub const _STORAGE_PROPERTY_ID_StorageDeviceUniqueIdProperty: _STORAGE_PROPERTY_ID = 3; pub const _STORAGE_PROPERTY_ID_StorageDeviceWriteCacheProperty: _STORAGE_PROPERTY_ID = 4; pub const _STORAGE_PROPERTY_ID_StorageMiniportProperty: _STORAGE_PROPERTY_ID = 5; pub const _STORAGE_PROPERTY_ID_StorageAccessAlignmentProperty: _STORAGE_PROPERTY_ID = 6; pub const _STORAGE_PROPERTY_ID_StorageDeviceSeekPenaltyProperty: _STORAGE_PROPERTY_ID = 7; pub const _STORAGE_PROPERTY_ID_StorageDeviceTrimProperty: _STORAGE_PROPERTY_ID = 8; pub const _STORAGE_PROPERTY_ID_StorageDeviceWriteAggregationProperty: _STORAGE_PROPERTY_ID = 9; pub const _STORAGE_PROPERTY_ID_StorageDeviceDeviceTelemetryProperty: _STORAGE_PROPERTY_ID = 10; pub const _STORAGE_PROPERTY_ID_StorageDeviceLBProvisioningProperty: _STORAGE_PROPERTY_ID = 11; pub const _STORAGE_PROPERTY_ID_StorageDevicePowerProperty: _STORAGE_PROPERTY_ID = 12; pub const _STORAGE_PROPERTY_ID_StorageDeviceCopyOffloadProperty: _STORAGE_PROPERTY_ID = 13; pub const _STORAGE_PROPERTY_ID_StorageDeviceResiliencyProperty: _STORAGE_PROPERTY_ID = 14; pub const _STORAGE_PROPERTY_ID_StorageDeviceMediumProductType: _STORAGE_PROPERTY_ID = 15; pub const _STORAGE_PROPERTY_ID_StorageAdapterRpmbProperty: _STORAGE_PROPERTY_ID = 16; pub const _STORAGE_PROPERTY_ID_StorageAdapterCryptoProperty: _STORAGE_PROPERTY_ID = 17; pub const _STORAGE_PROPERTY_ID_StorageDeviceIoCapabilityProperty: _STORAGE_PROPERTY_ID = 48; pub const _STORAGE_PROPERTY_ID_StorageAdapterProtocolSpecificProperty: _STORAGE_PROPERTY_ID = 49; pub const _STORAGE_PROPERTY_ID_StorageDeviceProtocolSpecificProperty: _STORAGE_PROPERTY_ID = 50; pub const _STORAGE_PROPERTY_ID_StorageAdapterTemperatureProperty: _STORAGE_PROPERTY_ID = 51; pub const _STORAGE_PROPERTY_ID_StorageDeviceTemperatureProperty: _STORAGE_PROPERTY_ID = 52; pub const _STORAGE_PROPERTY_ID_StorageAdapterPhysicalTopologyProperty: _STORAGE_PROPERTY_ID = 53; pub const _STORAGE_PROPERTY_ID_StorageDevicePhysicalTopologyProperty: _STORAGE_PROPERTY_ID = 54; pub const _STORAGE_PROPERTY_ID_StorageDeviceAttributesProperty: _STORAGE_PROPERTY_ID = 55; pub const _STORAGE_PROPERTY_ID_StorageDeviceManagementStatus: _STORAGE_PROPERTY_ID = 56; pub const _STORAGE_PROPERTY_ID_StorageAdapterSerialNumberProperty: _STORAGE_PROPERTY_ID = 57; pub const _STORAGE_PROPERTY_ID_StorageDeviceLocationProperty: _STORAGE_PROPERTY_ID = 58; pub const _STORAGE_PROPERTY_ID_StorageDeviceNumaProperty: _STORAGE_PROPERTY_ID = 59; pub const _STORAGE_PROPERTY_ID_StorageDeviceZonedDeviceProperty: _STORAGE_PROPERTY_ID = 60; pub const _STORAGE_PROPERTY_ID_StorageDeviceUnsafeShutdownCount: _STORAGE_PROPERTY_ID = 61; pub const _STORAGE_PROPERTY_ID_StorageDeviceEnduranceProperty: _STORAGE_PROPERTY_ID = 62; pub type _STORAGE_PROPERTY_ID = ::std::os::raw::c_int; pub use self::_STORAGE_PROPERTY_ID as STORAGE_PROPERTY_ID; pub type PSTORAGE_PROPERTY_ID = *mut _STORAGE_PROPERTY_ID; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _STORAGE_PROPERTY_QUERY { pub PropertyId: STORAGE_PROPERTY_ID, pub QueryType: STORAGE_QUERY_TYPE, pub AdditionalParameters: [BYTE; 1usize], } #[test] fn bindgen_test_layout__STORAGE_PROPERTY_QUERY() { 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::null::<_STORAGE_PROPERTY_QUERY>())).PropertyId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROPERTY_QUERY), "::", stringify!(PropertyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROPERTY_QUERY>())).QueryType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROPERTY_QUERY), "::", stringify!(QueryType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROPERTY_QUERY>())).AdditionalParameters as *const _ 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() { 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::null::<_STORAGE_PROPERTY_SET>())).PropertyId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROPERTY_SET), "::", stringify!(PropertyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROPERTY_SET>())).SetType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROPERTY_SET), "::", stringify!(SetType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROPERTY_SET>())).AdditionalParameters as *const _ 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() { 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::null::<_STORAGE_DESCRIPTOR_HEADER>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DESCRIPTOR_HEADER), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DESCRIPTOR_HEADER>())).Size as *const _ 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() { 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::null::<_STORAGE_DEVICE_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_DESCRIPTOR>())).DeviceType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_DESCRIPTOR), "::", stringify!(DeviceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_DESCRIPTOR>())).DeviceTypeModifier as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_DESCRIPTOR), "::", stringify!(DeviceTypeModifier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_DESCRIPTOR>())).RemovableMedia as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_DESCRIPTOR), "::", stringify!(RemovableMedia) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_DESCRIPTOR>())).CommandQueueing as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_DESCRIPTOR), "::", stringify!(CommandQueueing) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_DESCRIPTOR>())).VendorIdOffset as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_DESCRIPTOR), "::", stringify!(VendorIdOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_DESCRIPTOR>())).ProductIdOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_DESCRIPTOR), "::", stringify!(ProductIdOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_DESCRIPTOR>())).ProductRevisionOffset as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_DESCRIPTOR), "::", stringify!(ProductRevisionOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_DESCRIPTOR>())).SerialNumberOffset as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_DESCRIPTOR), "::", stringify!(SerialNumberOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_DESCRIPTOR>())).BusType as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_DESCRIPTOR), "::", stringify!(BusType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_DESCRIPTOR>())).RawPropertiesLength as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_DESCRIPTOR), "::", stringify!(RawPropertiesLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_DESCRIPTOR>())).RawDeviceProperties as *const _ 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() { 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::null::<_STORAGE_ADAPTER_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ADAPTER_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ADAPTER_DESCRIPTOR>())).MaximumTransferLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR), "::", stringify!(MaximumTransferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ADAPTER_DESCRIPTOR>())).MaximumPhysicalPages as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR), "::", stringify!(MaximumPhysicalPages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ADAPTER_DESCRIPTOR>())).AlignmentMask as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR), "::", stringify!(AlignmentMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ADAPTER_DESCRIPTOR>())).AdapterUsesPio as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR), "::", stringify!(AdapterUsesPio) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ADAPTER_DESCRIPTOR>())).AdapterScansDown as *const _ as usize }, 21usize, concat!( "Offset of field: ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR), "::", stringify!(AdapterScansDown) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ADAPTER_DESCRIPTOR>())).CommandQueueing as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR), "::", stringify!(CommandQueueing) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ADAPTER_DESCRIPTOR>())).AcceleratedTransfer as *const _ as usize }, 23usize, concat!( "Offset of field: ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR), "::", stringify!(AcceleratedTransfer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ADAPTER_DESCRIPTOR>())).BusType as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR), "::", stringify!(BusType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ADAPTER_DESCRIPTOR>())).BusMajorVersion as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR), "::", stringify!(BusMajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ADAPTER_DESCRIPTOR>())).BusMinorVersion as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR), "::", stringify!(BusMinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ADAPTER_DESCRIPTOR>())).SrbType as *const _ as usize }, 30usize, concat!( "Offset of field: ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR), "::", stringify!(SrbType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ADAPTER_DESCRIPTOR>())).AddressType as *const _ 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() { 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::null::<_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR>())).BytesPerCacheLine as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), "::", stringify!(BytesPerCacheLine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR>())) .BytesOffsetForCacheAlignment as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), "::", stringify!(BytesOffsetForCacheAlignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR>())).BytesPerLogicalSector as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), "::", stringify!(BytesPerLogicalSector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR>())).BytesPerPhysicalSector as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), "::", stringify!(BytesPerPhysicalSector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR>())) .BytesOffsetForSectorAlignment as *const _ 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() { 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::null::<_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR>())).MediumProductType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR), "::", stringify!(MediumProductType) ) ); } pub type STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR = _STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR; pub type PSTORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR = *mut _STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR; pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetReserved: _STORAGE_PORT_CODE_SET = 0; pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetStorport: _STORAGE_PORT_CODE_SET = 1; pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetSCSIport: _STORAGE_PORT_CODE_SET = 2; pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetSpaceport: _STORAGE_PORT_CODE_SET = 3; pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetATAport: _STORAGE_PORT_CODE_SET = 4; pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetUSBport: _STORAGE_PORT_CODE_SET = 5; pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetSBP2port: _STORAGE_PORT_CODE_SET = 6; pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetSDport: _STORAGE_PORT_CODE_SET = 7; pub type _STORAGE_PORT_CODE_SET = ::std::os::raw::c_int; pub use self::_STORAGE_PORT_CODE_SET as STORAGE_PORT_CODE_SET; pub type PSTORAGE_PORT_CODE_SET = *mut _STORAGE_PORT_CODE_SET; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _STORAGE_MINIPORT_DESCRIPTOR { pub Version: DWORD, pub Size: DWORD, pub Portdriver: STORAGE_PORT_CODE_SET, pub LUNResetSupported: BOOLEAN, pub TargetResetSupported: BOOLEAN, pub IoTimeoutValue: WORD, pub ExtraIoInfoSupported: BOOLEAN, pub Reserved0: [BYTE; 3usize], pub Reserved1: DWORD, } #[test] fn bindgen_test_layout__STORAGE_MINIPORT_DESCRIPTOR() { 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::null::<_STORAGE_MINIPORT_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_MINIPORT_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_MINIPORT_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_MINIPORT_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_MINIPORT_DESCRIPTOR>())).Portdriver as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_MINIPORT_DESCRIPTOR), "::", stringify!(Portdriver) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_MINIPORT_DESCRIPTOR>())).LUNResetSupported as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_MINIPORT_DESCRIPTOR), "::", stringify!(LUNResetSupported) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_MINIPORT_DESCRIPTOR>())).TargetResetSupported as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(_STORAGE_MINIPORT_DESCRIPTOR), "::", stringify!(TargetResetSupported) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_MINIPORT_DESCRIPTOR>())).IoTimeoutValue as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_STORAGE_MINIPORT_DESCRIPTOR), "::", stringify!(IoTimeoutValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_MINIPORT_DESCRIPTOR>())).ExtraIoInfoSupported as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_MINIPORT_DESCRIPTOR), "::", stringify!(ExtraIoInfoSupported) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_MINIPORT_DESCRIPTOR>())).Reserved0 as *const _ as usize }, 17usize, concat!( "Offset of field: ", stringify!(_STORAGE_MINIPORT_DESCRIPTOR), "::", stringify!(Reserved0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_MINIPORT_DESCRIPTOR>())).Reserved1 as *const _ 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() { 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::null::<_STORAGE_IDENTIFIER>())).CodeSet as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_IDENTIFIER), "::", stringify!(CodeSet) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_IDENTIFIER>())).Type as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_IDENTIFIER), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_IDENTIFIER>())).IdentifierSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_IDENTIFIER), "::", stringify!(IdentifierSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_IDENTIFIER>())).NextOffset as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_STORAGE_IDENTIFIER), "::", stringify!(NextOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_IDENTIFIER>())).Association as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_IDENTIFIER), "::", stringify!(Association) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_IDENTIFIER>())).Identifier as *const _ 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() { 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::null::<_STORAGE_DEVICE_ID_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_ID_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_ID_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_ID_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_ID_DESCRIPTOR>())).NumberOfIdentifiers as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_ID_DESCRIPTOR), "::", stringify!(NumberOfIdentifiers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_ID_DESCRIPTOR>())).Identifiers as *const _ 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() { 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::null::<_DEVICE_SEEK_PENALTY_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_SEEK_PENALTY_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_SEEK_PENALTY_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_SEEK_PENALTY_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_SEEK_PENALTY_DESCRIPTOR>())).IncursSeekPenalty as *const _ 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() { 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::null::<_DEVICE_WRITE_AGGREGATION_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_WRITE_AGGREGATION_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_WRITE_AGGREGATION_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_WRITE_AGGREGATION_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_WRITE_AGGREGATION_DESCRIPTOR>())) .BenefitsFromWriteAggregation as *const _ 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() { 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::null::<_DEVICE_TRIM_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_TRIM_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_TRIM_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_TRIM_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_TRIM_DESCRIPTOR>())).TrimEnabled as *const _ 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_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, 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() { 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::null::<_DEVICE_LB_PROVISIONING_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_LB_PROVISIONING_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_LB_PROVISIONING_DESCRIPTOR>())).Reserved1 as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_LB_PROVISIONING_DESCRIPTOR>())).OptimalUnmapGranularity as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), "::", stringify!(OptimalUnmapGranularity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_LB_PROVISIONING_DESCRIPTOR>())).UnmapGranularityAlignment as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), "::", stringify!(UnmapGranularityAlignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_LB_PROVISIONING_DESCRIPTOR>())).MaxUnmapLbaCount as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), "::", stringify!(MaxUnmapLbaCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_LB_PROVISIONING_DESCRIPTOR>())) .MaxUnmapBlockDescriptorCount as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), "::", stringify!(MaxUnmapBlockDescriptorCount) ) ); } impl _DEVICE_LB_PROVISIONING_DESCRIPTOR { #[inline] pub fn ThinProvisioningEnabled(&self) -> BYTE { unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } } #[inline] pub fn set_ThinProvisioningEnabled(&mut self, val: BYTE) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(0usize, 1u8, val as u64) } } #[inline] pub fn ThinProvisioningReadZeros(&self) -> BYTE { unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } } #[inline] pub fn set_ThinProvisioningReadZeros(&mut self, val: BYTE) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(1usize, 1u8, val as u64) } } #[inline] pub fn AnchorSupported(&self) -> BYTE { unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 3u8) as u8) } } #[inline] pub fn set_AnchorSupported(&mut self, val: BYTE) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(2usize, 3u8, val as u64) } } #[inline] pub fn UnmapGranularityAlignmentValid(&self) -> BYTE { unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } } #[inline] pub fn set_UnmapGranularityAlignmentValid(&mut self, val: BYTE) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(5usize, 1u8, val as u64) } } #[inline] pub fn Reserved0(&self) -> BYTE { unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 2u8) as u8) } } #[inline] pub fn set_Reserved0(&mut self, val: BYTE) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(6usize, 2u8, val as u64) } } #[inline] pub fn new_bitfield_1( ThinProvisioningEnabled: BYTE, ThinProvisioningReadZeros: BYTE, AnchorSupported: BYTE, UnmapGranularityAlignmentValid: BYTE, Reserved0: BYTE, ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = Default::default(); __bindgen_bitfield_unit.set(0usize, 1u8, { let ThinProvisioningEnabled: u8 = unsafe { ::std::mem::transmute(ThinProvisioningEnabled) }; ThinProvisioningEnabled as u64 }); __bindgen_bitfield_unit.set(1usize, 1u8, { let ThinProvisioningReadZeros: u8 = unsafe { ::std::mem::transmute(ThinProvisioningReadZeros) }; ThinProvisioningReadZeros as u64 }); __bindgen_bitfield_unit.set(2usize, 3u8, { let AnchorSupported: u8 = unsafe { ::std::mem::transmute(AnchorSupported) }; AnchorSupported as u64 }); __bindgen_bitfield_unit.set(5usize, 1u8, { let UnmapGranularityAlignmentValid: u8 = unsafe { ::std::mem::transmute(UnmapGranularityAlignmentValid) }; UnmapGranularityAlignmentValid as u64 }); __bindgen_bitfield_unit.set(6usize, 2u8, { let Reserved0: u8 = unsafe { ::std::mem::transmute(Reserved0) }; Reserved0 as u64 }); __bindgen_bitfield_unit } } pub type DEVICE_LB_PROVISIONING_DESCRIPTOR = _DEVICE_LB_PROVISIONING_DESCRIPTOR; pub type PDEVICE_LB_PROVISIONING_DESCRIPTOR = *mut _DEVICE_LB_PROVISIONING_DESCRIPTOR; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _STORAGE_LB_PROVISIONING_MAP_RESOURCES { pub Size: DWORD, pub Version: DWORD, pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, pub Reserved1: [BYTE; 3usize], pub _bitfield_2: __BindgenBitfieldUnit<[u8; 1usize], u8>, pub Reserved3: [BYTE; 3usize], pub AvailableMappingResources: DWORDLONG, pub UsedMappingResources: DWORDLONG, } #[test] fn bindgen_test_layout__STORAGE_LB_PROVISIONING_MAP_RESOURCES() { 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::null::<_STORAGE_LB_PROVISIONING_MAP_RESOURCES>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_LB_PROVISIONING_MAP_RESOURCES>())).Version as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_LB_PROVISIONING_MAP_RESOURCES>())).Reserved1 as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_LB_PROVISIONING_MAP_RESOURCES>())).Reserved3 as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), "::", stringify!(Reserved3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_LB_PROVISIONING_MAP_RESOURCES>())) .AvailableMappingResources as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), "::", stringify!(AvailableMappingResources) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_LB_PROVISIONING_MAP_RESOURCES>())).UsedMappingResources as *const _ 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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = 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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = 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() { 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::null::<_DEVICE_POWER_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_POWER_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_POWER_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_POWER_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_POWER_DESCRIPTOR>())).DeviceAttentionSupported as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_POWER_DESCRIPTOR), "::", stringify!(DeviceAttentionSupported) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_POWER_DESCRIPTOR>())).AsynchronousNotificationSupported as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(_DEVICE_POWER_DESCRIPTOR), "::", stringify!(AsynchronousNotificationSupported) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_POWER_DESCRIPTOR>())).IdlePowerManagementEnabled as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_DEVICE_POWER_DESCRIPTOR), "::", stringify!(IdlePowerManagementEnabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_POWER_DESCRIPTOR>())).D3ColdEnabled as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(_DEVICE_POWER_DESCRIPTOR), "::", stringify!(D3ColdEnabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_POWER_DESCRIPTOR>())).D3ColdSupported as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DEVICE_POWER_DESCRIPTOR), "::", stringify!(D3ColdSupported) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_POWER_DESCRIPTOR>())).NoVerifyDuringIdlePower as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(_DEVICE_POWER_DESCRIPTOR), "::", stringify!(NoVerifyDuringIdlePower) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_POWER_DESCRIPTOR>())).Reserved as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_DEVICE_POWER_DESCRIPTOR), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_POWER_DESCRIPTOR>())).IdleTimeoutInMS as *const _ 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() { 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::null::<_DEVICE_COPY_OFFLOAD_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_COPY_OFFLOAD_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_COPY_OFFLOAD_DESCRIPTOR>())).MaximumTokenLifetime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), "::", stringify!(MaximumTokenLifetime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_COPY_OFFLOAD_DESCRIPTOR>())).DefaultTokenLifetime as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), "::", stringify!(DefaultTokenLifetime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_COPY_OFFLOAD_DESCRIPTOR>())).MaximumTransferSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), "::", stringify!(MaximumTransferSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_COPY_OFFLOAD_DESCRIPTOR>())).OptimalTransferCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), "::", stringify!(OptimalTransferCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_COPY_OFFLOAD_DESCRIPTOR>())).MaximumDataDescriptors as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), "::", stringify!(MaximumDataDescriptors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_COPY_OFFLOAD_DESCRIPTOR>())) .MaximumTransferLengthPerDescriptor as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), "::", stringify!(MaximumTransferLengthPerDescriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_COPY_OFFLOAD_DESCRIPTOR>())) .OptimalTransferLengthPerDescriptor as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), "::", stringify!(OptimalTransferLengthPerDescriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_COPY_OFFLOAD_DESCRIPTOR>())) .OptimalTransferLengthGranularity as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), "::", stringify!(OptimalTransferLengthGranularity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_COPY_OFFLOAD_DESCRIPTOR>())).Reserved as *const _ 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() { 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::null::<_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR>())).NameOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), "::", stringify!(NameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR>())).NumberOfLogicalCopies as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), "::", stringify!(NumberOfLogicalCopies) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR>())).NumberOfPhysicalCopies as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), "::", stringify!(NumberOfPhysicalCopies) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR>())).PhysicalDiskRedundancy as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), "::", stringify!(PhysicalDiskRedundancy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR>())).NumberOfColumns as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), "::", stringify!(NumberOfColumns) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR>())).Interleave as *const _ 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() { 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::null::<_STORAGE_RPMB_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_RPMB_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_RPMB_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_RPMB_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_RPMB_DESCRIPTOR>())).SizeInBytes as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_RPMB_DESCRIPTOR), "::", stringify!(SizeInBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_RPMB_DESCRIPTOR>())).MaxReliableWriteSizeInBytes as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_RPMB_DESCRIPTOR), "::", stringify!(MaxReliableWriteSizeInBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_RPMB_DESCRIPTOR>())).FrameFormat as *const _ 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() { 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::null::<_STORAGE_CRYPTO_CAPABILITY>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_CRYPTO_CAPABILITY), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_CRYPTO_CAPABILITY>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_CRYPTO_CAPABILITY), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_CRYPTO_CAPABILITY>())).CryptoCapabilityIndex as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_CRYPTO_CAPABILITY), "::", stringify!(CryptoCapabilityIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_CRYPTO_CAPABILITY>())).AlgorithmId as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_CRYPTO_CAPABILITY), "::", stringify!(AlgorithmId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_CRYPTO_CAPABILITY>())).KeySize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_CRYPTO_CAPABILITY), "::", stringify!(KeySize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_CRYPTO_CAPABILITY>())).DataUnitSizeBitmask as *const _ 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() { 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::null::<_STORAGE_CRYPTO_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_CRYPTO_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_CRYPTO_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_CRYPTO_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_CRYPTO_DESCRIPTOR>())).NumKeysSupported as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_CRYPTO_DESCRIPTOR), "::", stringify!(NumKeysSupported) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_CRYPTO_DESCRIPTOR>())).NumCryptoCapabilities as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_CRYPTO_DESCRIPTOR), "::", stringify!(NumCryptoCapabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_CRYPTO_DESCRIPTOR>())).CryptoCapabilities as *const _ 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(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() { 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::null::<_STORAGE_TIER>())).Id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_TIER), "::", stringify!(Id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TIER>())).Name as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_TIER), "::", stringify!(Name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TIER>())).Description as *const _ as usize }, 528usize, concat!( "Offset of field: ", stringify!(_STORAGE_TIER), "::", stringify!(Description) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TIER>())).Flags as *const _ as usize }, 1040usize, concat!( "Offset of field: ", stringify!(_STORAGE_TIER), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TIER>())).ProvisionedCapacity as *const _ as usize }, 1048usize, concat!( "Offset of field: ", stringify!(_STORAGE_TIER), "::", stringify!(ProvisionedCapacity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TIER>())).MediaType as *const _ as usize }, 1056usize, concat!( "Offset of field: ", stringify!(_STORAGE_TIER), "::", stringify!(MediaType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TIER>())).Class as *const _ 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(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() { 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::null::<_STORAGE_DEVICE_TIERING_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_TIERING_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_TIERING_DESCRIPTOR>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_TIERING_DESCRIPTOR>())).TotalNumberOfTiers as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), "::", stringify!(TotalNumberOfTiers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_TIERING_DESCRIPTOR>())).NumberOfTiersReturned as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), "::", stringify!(NumberOfTiersReturned) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_TIERING_DESCRIPTOR>())).Tiers as *const _ 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() { 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::null::<_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR>())).NumberOfFaultDomains as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR), "::", stringify!(NumberOfFaultDomains) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR>())).FaultDomainIds as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR), "::", stringify!(FaultDomainIds) ) ); } pub type STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR = _STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR; pub type PSTORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR = *mut _STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR; pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeUnknown: _STORAGE_PROTOCOL_TYPE = 0; pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeScsi: _STORAGE_PROTOCOL_TYPE = 1; pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeAta: _STORAGE_PROTOCOL_TYPE = 2; pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeNvme: _STORAGE_PROTOCOL_TYPE = 3; pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeSd: _STORAGE_PROTOCOL_TYPE = 4; pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeUfs: _STORAGE_PROTOCOL_TYPE = 5; pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeProprietary: _STORAGE_PROTOCOL_TYPE = 126; pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeMaxReserved: _STORAGE_PROTOCOL_TYPE = 127; pub type _STORAGE_PROTOCOL_TYPE = ::std::os::raw::c_int; pub use self::_STORAGE_PROTOCOL_TYPE as STORAGE_PROTOCOL_TYPE; pub type PSTORAGE_PROTOCOL_TYPE = *mut _STORAGE_PROTOCOL_TYPE; pub const _STORAGE_PROTOCOL_NVME_DATA_TYPE_NVMeDataTypeUnknown: _STORAGE_PROTOCOL_NVME_DATA_TYPE = 0; pub const _STORAGE_PROTOCOL_NVME_DATA_TYPE_NVMeDataTypeIdentify: _STORAGE_PROTOCOL_NVME_DATA_TYPE = 1; pub const _STORAGE_PROTOCOL_NVME_DATA_TYPE_NVMeDataTypeLogPage: _STORAGE_PROTOCOL_NVME_DATA_TYPE = 2; pub const _STORAGE_PROTOCOL_NVME_DATA_TYPE_NVMeDataTypeFeature: _STORAGE_PROTOCOL_NVME_DATA_TYPE = 3; pub type _STORAGE_PROTOCOL_NVME_DATA_TYPE = ::std::os::raw::c_int; pub use self::_STORAGE_PROTOCOL_NVME_DATA_TYPE as STORAGE_PROTOCOL_NVME_DATA_TYPE; pub type PSTORAGE_PROTOCOL_NVME_DATA_TYPE = *mut _STORAGE_PROTOCOL_NVME_DATA_TYPE; pub const _STORAGE_PROTOCOL_ATA_DATA_TYPE_AtaDataTypeUnknown: _STORAGE_PROTOCOL_ATA_DATA_TYPE = 0; pub const _STORAGE_PROTOCOL_ATA_DATA_TYPE_AtaDataTypeIdentify: _STORAGE_PROTOCOL_ATA_DATA_TYPE = 1; pub const _STORAGE_PROTOCOL_ATA_DATA_TYPE_AtaDataTypeLogPage: _STORAGE_PROTOCOL_ATA_DATA_TYPE = 2; pub type _STORAGE_PROTOCOL_ATA_DATA_TYPE = ::std::os::raw::c_int; pub use self::_STORAGE_PROTOCOL_ATA_DATA_TYPE as STORAGE_PROTOCOL_ATA_DATA_TYPE; pub type PSTORAGE_PROTOCOL_ATA_DATA_TYPE = *mut _STORAGE_PROTOCOL_ATA_DATA_TYPE; pub const _STORAGE_PROTOCOL_UFS_DATA_TYPE_UfsDataTypeUnknown: _STORAGE_PROTOCOL_UFS_DATA_TYPE = 0; pub const _STORAGE_PROTOCOL_UFS_DATA_TYPE_UfsDataTypeQueryDescriptor: _STORAGE_PROTOCOL_UFS_DATA_TYPE = 1; pub const _STORAGE_PROTOCOL_UFS_DATA_TYPE_UfsDataTypeMax: _STORAGE_PROTOCOL_UFS_DATA_TYPE = 2; pub type _STORAGE_PROTOCOL_UFS_DATA_TYPE = ::std::os::raw::c_int; pub use self::_STORAGE_PROTOCOL_UFS_DATA_TYPE as STORAGE_PROTOCOL_UFS_DATA_TYPE; pub type PSTORAGE_PROTOCOL_UFS_DATA_TYPE = *mut _STORAGE_PROTOCOL_UFS_DATA_TYPE; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _STORAGE_PROTOCOL_SPECIFIC_DATA { pub ProtocolType: STORAGE_PROTOCOL_TYPE, pub DataType: DWORD, pub ProtocolDataRequestValue: DWORD, pub ProtocolDataRequestSubValue: DWORD, pub ProtocolDataOffset: DWORD, pub ProtocolDataLength: DWORD, pub FixedProtocolReturnData: DWORD, pub ProtocolDataRequestSubValue2: DWORD, pub ProtocolDataRequestSubValue3: DWORD, pub Reserved: DWORD, } #[test] fn bindgen_test_layout__STORAGE_PROTOCOL_SPECIFIC_DATA() { 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::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA>())).ProtocolType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), "::", stringify!(ProtocolType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA>())).DataType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), "::", stringify!(DataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA>())).ProtocolDataRequestValue as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), "::", stringify!(ProtocolDataRequestValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA>())).ProtocolDataRequestSubValue as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), "::", stringify!(ProtocolDataRequestSubValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA>())).ProtocolDataOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), "::", stringify!(ProtocolDataOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA>())).ProtocolDataLength as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), "::", stringify!(ProtocolDataLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA>())).FixedProtocolReturnData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), "::", stringify!(FixedProtocolReturnData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA>())).ProtocolDataRequestSubValue2 as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), "::", stringify!(ProtocolDataRequestSubValue2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA>())).ProtocolDataRequestSubValue3 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), "::", stringify!(ProtocolDataRequestSubValue3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA>())).Reserved as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), "::", stringify!(Reserved) ) ); } pub type STORAGE_PROTOCOL_SPECIFIC_DATA = _STORAGE_PROTOCOL_SPECIFIC_DATA; pub type PSTORAGE_PROTOCOL_SPECIFIC_DATA = *mut _STORAGE_PROTOCOL_SPECIFIC_DATA; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _STORAGE_PROTOCOL_SPECIFIC_DATA_EXT { pub ProtocolType: STORAGE_PROTOCOL_TYPE, pub DataType: DWORD, pub ProtocolDataValue: DWORD, pub ProtocolDataSubValue: DWORD, pub ProtocolDataOffset: DWORD, pub ProtocolDataLength: DWORD, pub FixedProtocolReturnData: DWORD, pub ProtocolDataSubValue2: DWORD, pub ProtocolDataSubValue3: DWORD, pub ProtocolDataSubValue4: DWORD, pub ProtocolDataSubValue5: DWORD, pub Reserved: [DWORD; 5usize], } #[test] fn bindgen_test_layout__STORAGE_PROTOCOL_SPECIFIC_DATA_EXT() { 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::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>())).ProtocolType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), "::", stringify!(ProtocolType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>())).DataType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), "::", stringify!(DataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>())).ProtocolDataValue as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), "::", stringify!(ProtocolDataValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>())).ProtocolDataSubValue as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), "::", stringify!(ProtocolDataSubValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>())).ProtocolDataOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), "::", stringify!(ProtocolDataOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>())).ProtocolDataLength as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), "::", stringify!(ProtocolDataLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>())).FixedProtocolReturnData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), "::", stringify!(FixedProtocolReturnData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>())).ProtocolDataSubValue2 as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), "::", stringify!(ProtocolDataSubValue2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>())).ProtocolDataSubValue3 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), "::", stringify!(ProtocolDataSubValue3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>())).ProtocolDataSubValue4 as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), "::", stringify!(ProtocolDataSubValue4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>())).ProtocolDataSubValue5 as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), "::", stringify!(ProtocolDataSubValue5) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>())).Reserved as *const _ 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() { 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::null::<_STORAGE_PROTOCOL_DATA_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_DATA_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_DATA_DESCRIPTOR>())).ProtocolSpecificData as *const _ 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() { 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::null::<_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT>())).ProtocolSpecificData as *const _ 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() { 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::null::<_STORAGE_TEMPERATURE_INFO>())).Index as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_INFO), "::", stringify!(Index) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_INFO>())).Temperature as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_INFO), "::", stringify!(Temperature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_INFO>())).OverThreshold as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_INFO), "::", stringify!(OverThreshold) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_INFO>())).UnderThreshold as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_INFO), "::", stringify!(UnderThreshold) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_INFO>())).OverThresholdChangable as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_INFO), "::", stringify!(OverThresholdChangable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_INFO>())).UnderThresholdChangable as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_INFO), "::", stringify!(UnderThresholdChangable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_INFO>())).EventGenerated as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_INFO), "::", stringify!(EventGenerated) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_INFO>())).Reserved0 as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_INFO), "::", stringify!(Reserved0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_INFO>())).Reserved1 as *const _ 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() { 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::null::<_STORAGE_TEMPERATURE_DATA_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_DATA_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_DATA_DESCRIPTOR>())).CriticalTemperature as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), "::", stringify!(CriticalTemperature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_DATA_DESCRIPTOR>())).WarningTemperature as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), "::", stringify!(WarningTemperature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_DATA_DESCRIPTOR>())).InfoCount as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), "::", stringify!(InfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_DATA_DESCRIPTOR>())).Reserved0 as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), "::", stringify!(Reserved0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_DATA_DESCRIPTOR>())).Reserved1 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_DATA_DESCRIPTOR>())).TemperatureInfo as *const _ 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() { 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::null::<_STORAGE_TEMPERATURE_THRESHOLD>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_THRESHOLD), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_THRESHOLD>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_THRESHOLD), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_THRESHOLD>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_THRESHOLD), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_THRESHOLD>())).Index as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_THRESHOLD), "::", stringify!(Index) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_THRESHOLD>())).Threshold as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_THRESHOLD), "::", stringify!(Threshold) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_THRESHOLD>())).OverThreshold as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_STORAGE_TEMPERATURE_THRESHOLD), "::", stringify!(OverThreshold) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TEMPERATURE_THRESHOLD>())).Reserved as *const _ 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, _bindgen_union_align: u32, } #[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, _bindgen_union_align: u16, } #[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() { 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::null::<_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>( ))) .SubMinor as *const _ 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::null::<_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>( ))) .Minor as *const _ 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() { 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::null::<_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1>())).AsUshort as *const _ 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() { 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::null::<_STORAGE_SPEC_VERSION__bindgen_ty_1>())).MinorVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1), "::", stringify!(MinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_SPEC_VERSION__bindgen_ty_1>())).MajorVersion as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1), "::", stringify!(MajorVersion) ) ); } #[test] fn bindgen_test_layout__STORAGE_SPEC_VERSION() { 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::null::<_STORAGE_SPEC_VERSION>())).AsUlong as *const _ 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() { 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::null::<_STORAGE_PHYSICAL_DEVICE_DATA>())).DeviceId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), "::", stringify!(DeviceId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_DEVICE_DATA>())).Role as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), "::", stringify!(Role) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_DEVICE_DATA>())).HealthStatus as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), "::", stringify!(HealthStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_DEVICE_DATA>())).CommandProtocol as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), "::", stringify!(CommandProtocol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_DEVICE_DATA>())).SpecVersion as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), "::", stringify!(SpecVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_DEVICE_DATA>())).FormFactor as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), "::", stringify!(FormFactor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_DEVICE_DATA>())).Vendor as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), "::", stringify!(Vendor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_DEVICE_DATA>())).Model as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), "::", stringify!(Model) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_DEVICE_DATA>())).FirmwareRevision as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), "::", stringify!(FirmwareRevision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_DEVICE_DATA>())).Capacity as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), "::", stringify!(Capacity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_DEVICE_DATA>())).PhysicalLocation as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), "::", stringify!(PhysicalLocation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_DEVICE_DATA>())).Reserved as *const _ 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() { 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::null::<_STORAGE_PHYSICAL_ADAPTER_DATA>())).AdapterId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), "::", stringify!(AdapterId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_ADAPTER_DATA>())).HealthStatus as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), "::", stringify!(HealthStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_ADAPTER_DATA>())).CommandProtocol as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), "::", stringify!(CommandProtocol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_ADAPTER_DATA>())).SpecVersion as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), "::", stringify!(SpecVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_ADAPTER_DATA>())).Vendor as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), "::", stringify!(Vendor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_ADAPTER_DATA>())).Model as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), "::", stringify!(Model) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_ADAPTER_DATA>())).FirmwareRevision as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), "::", stringify!(FirmwareRevision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_ADAPTER_DATA>())).PhysicalLocation as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), "::", stringify!(PhysicalLocation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_ADAPTER_DATA>())).ExpanderConnected as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), "::", stringify!(ExpanderConnected) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_ADAPTER_DATA>())).Reserved0 as *const _ as usize }, 113usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), "::", stringify!(Reserved0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_ADAPTER_DATA>())).Reserved1 as *const _ 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() { 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::null::<_STORAGE_PHYSICAL_NODE_DATA>())).NodeId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_NODE_DATA), "::", stringify!(NodeId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_NODE_DATA>())).AdapterCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_NODE_DATA), "::", stringify!(AdapterCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_NODE_DATA>())).AdapterDataLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_NODE_DATA), "::", stringify!(AdapterDataLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_NODE_DATA>())).AdapterDataOffset as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_NODE_DATA), "::", stringify!(AdapterDataOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_NODE_DATA>())).DeviceCount as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_NODE_DATA), "::", stringify!(DeviceCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_NODE_DATA>())).DeviceDataLength as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_NODE_DATA), "::", stringify!(DeviceDataLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_NODE_DATA>())).DeviceDataOffset as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_NODE_DATA), "::", stringify!(DeviceDataOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_NODE_DATA>())).Reserved as *const _ 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() { 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::null::<_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR>())).NodeCount as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR), "::", stringify!(NodeCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR>())).Reserved as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR>())).Node as *const _ 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() { 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::null::<_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR>())).LunMaxIoCount as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR), "::", stringify!(LunMaxIoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR>())).AdapterMaxIoCount as *const _ 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() { 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::null::<_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR>())).Attributes as *const _ 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, _bindgen_union_align: u32, } #[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() { 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::null::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1>())) .SenseKey as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1), "::", stringify!(SenseKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1>())).ASC as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1), "::", stringify!(ASC) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1>())).ASCQ as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1), "::", stringify!(ASCQ) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1>())) .Reserved as *const _ 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() { 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::null::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2>())) .CriticalHealth as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2), "::", stringify!(CriticalHealth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2>())) .ModuleHealth as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2), "::", stringify!(ModuleHealth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2>())) .ErrorThresholdStatus as *const _ 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() { 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::null::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1>())).ScsiSenseKey as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1), "::", stringify!(ScsiSenseKey) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1>())).NVDIMM_N as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1), "::", stringify!(NVDIMM_N) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1>())).AsUlong as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1), "::", stringify!(AsUlong) ) ); } #[test] fn bindgen_test_layout__STORAGE_OPERATIONAL_REASON() { 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::null::<_STORAGE_OPERATIONAL_REASON>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_OPERATIONAL_REASON), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OPERATIONAL_REASON>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_OPERATIONAL_REASON), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OPERATIONAL_REASON>())).Reason as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_OPERATIONAL_REASON), "::", stringify!(Reason) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OPERATIONAL_REASON>())).RawBytes as *const _ 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() { 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::null::<_STORAGE_DEVICE_MANAGEMENT_STATUS>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_MANAGEMENT_STATUS>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_MANAGEMENT_STATUS>())).Health as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), "::", stringify!(Health) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_MANAGEMENT_STATUS>())).NumberOfOperationalStatus as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), "::", stringify!(NumberOfOperationalStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_MANAGEMENT_STATUS>())).NumberOfAdditionalReasons as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), "::", stringify!(NumberOfAdditionalReasons) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_MANAGEMENT_STATUS>())).OperationalStatus as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), "::", stringify!(OperationalStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_MANAGEMENT_STATUS>())).AdditionalReasons as *const _ 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(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() { 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::null::<_STORAGE_ADAPTER_SERIAL_NUMBER>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_ADAPTER_SERIAL_NUMBER), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ADAPTER_SERIAL_NUMBER>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_ADAPTER_SERIAL_NUMBER), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ADAPTER_SERIAL_NUMBER>())).SerialNumber as *const _ 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() { 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::null::<_STORAGE_ZONE_GROUP>())).ZoneCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_ZONE_GROUP), "::", stringify!(ZoneCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ZONE_GROUP>())).ZoneType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_ZONE_GROUP), "::", stringify!(ZoneType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ZONE_GROUP>())).ZoneSize as *const _ 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, _bindgen_union_align: [u32; 2usize], } #[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() { 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::null::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1>())) .MaxOpenZoneCount as *const _ 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::null::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1>())) .UnrestrictedRead as *const _ 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::null::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1>())) .Reserved as *const _ 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() { 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::null::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2>())) .OptimalOpenZoneCount as *const _ 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::null::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2>())) .Reserved as *const _ 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() { 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::null::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1>())) .SequentialRequiredZone as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1), "::", stringify!(SequentialRequiredZone) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1>())) .SequentialPreferredZone as *const _ 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() { 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::null::<_STORAGE_ZONED_DEVICE_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ZONED_DEVICE_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ZONED_DEVICE_DESCRIPTOR>())).DeviceType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), "::", stringify!(DeviceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ZONED_DEVICE_DESCRIPTOR>())).ZoneCount as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), "::", stringify!(ZoneCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ZONED_DEVICE_DESCRIPTOR>())).ZoneAttributes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), "::", stringify!(ZoneAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ZONED_DEVICE_DESCRIPTOR>())).ZoneGroupCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), "::", stringify!(ZoneGroupCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ZONED_DEVICE_DESCRIPTOR>())).ZoneGroup as *const _ 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, _bindgen_union_align: [u32; 2usize], } #[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() { 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::null::<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1>())).Channel as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Channel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1>())).Device as *const _ 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() { 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::null::<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2>())).Target as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2), "::", stringify!(Target) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2>())).Lun as *const _ 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() { 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::null::<_DEVICE_LOCATION>())).Socket as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_LOCATION), "::", stringify!(Socket) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_LOCATION>())).Slot as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_LOCATION), "::", stringify!(Slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_LOCATION>())).Adapter as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_LOCATION), "::", stringify!(Adapter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_LOCATION>())).Port as *const _ 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() { 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::null::<_STORAGE_DEVICE_LOCATION_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_LOCATION_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_LOCATION_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_LOCATION_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_LOCATION_DESCRIPTOR>())).Location as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_LOCATION_DESCRIPTOR), "::", stringify!(Location) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_LOCATION_DESCRIPTOR>())).StringOffset as *const _ 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() { 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::null::<_STORAGE_DEVICE_NUMA_PROPERTY>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_NUMA_PROPERTY), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_NUMA_PROPERTY>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_NUMA_PROPERTY), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_NUMA_PROPERTY>())).NumaNode as *const _ 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() { 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::null::<_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT>())).UnsafeShutdownCount as *const _ 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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } #[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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_STORAGE_HW_ENDURANCE_INFO>())).ValidFields as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_ENDURANCE_INFO), "::", stringify!(ValidFields) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_ENDURANCE_INFO>())).GroupId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_ENDURANCE_INFO), "::", stringify!(GroupId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_ENDURANCE_INFO>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_ENDURANCE_INFO), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_ENDURANCE_INFO>())).LifePercentage as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_ENDURANCE_INFO), "::", stringify!(LifePercentage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_ENDURANCE_INFO>())).BytesReadCount as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_ENDURANCE_INFO), "::", stringify!(BytesReadCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_ENDURANCE_INFO>())).ByteWriteCount as *const _ 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() { 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::null::<_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR>())).EnduranceInfo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR), "::", stringify!(EnduranceInfo) ) ); } pub type STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR = _STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR; pub type PSTORAGE_HW_ENDURANCE_DATA_DESCRIPTOR = *mut _STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR; pub type DEVICE_DATA_MANAGEMENT_SET_ACTION = DWORD; pub type DEVICE_DSM_ACTION = DWORD; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _DEVICE_DATA_SET_RANGE { pub StartingOffset: LONGLONG, pub LengthInBytes: DWORDLONG, } #[test] fn bindgen_test_layout__DEVICE_DATA_SET_RANGE() { 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::null::<_DEVICE_DATA_SET_RANGE>())).StartingOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_RANGE), "::", stringify!(StartingOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_RANGE>())).LengthInBytes as *const _ 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() { 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::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES>())).Action as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), "::", stringify!(Action) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES>())).ParameterBlockOffset as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), "::", stringify!(ParameterBlockOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES>())).ParameterBlockLength as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), "::", stringify!(ParameterBlockLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES>())).DataSetRangesOffset as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), "::", stringify!(DataSetRangesOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES>())).DataSetRangesLength as *const _ 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() { 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::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT>())).Action as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), "::", stringify!(Action) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT>())).OperationStatus as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), "::", stringify!(OperationStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT>())).ExtendedError as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), "::", stringify!(ExtendedError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT>())) .TargetDetailedError as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), "::", stringify!(TargetDetailedError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT>())).ReservedStatus as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), "::", stringify!(ReservedStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT>())).OutputBlockOffset as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), "::", stringify!(OutputBlockOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT>())).OutputBlockLength as *const _ 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() { 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::null::<_DEVICE_DSM_DEFINITION>())).Action as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_DEFINITION), "::", stringify!(Action) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_DEFINITION>())).SingleRange as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_DEFINITION), "::", stringify!(SingleRange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_DEFINITION>())).ParameterBlockAlignment as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_DEFINITION), "::", stringify!(ParameterBlockAlignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_DEFINITION>())).ParameterBlockLength as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_DEFINITION), "::", stringify!(ParameterBlockLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_DEFINITION>())).HasOutput as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_DEFINITION), "::", stringify!(HasOutput) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_DEFINITION>())).OutputBlockAlignment as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_DEFINITION), "::", stringify!(OutputBlockAlignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_DEFINITION>())).OutputBlockLength as *const _ 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() { 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::null::<_DEVICE_DSM_NOTIFICATION_PARAMETERS>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_NOTIFICATION_PARAMETERS), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_NOTIFICATION_PARAMETERS>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_NOTIFICATION_PARAMETERS), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_NOTIFICATION_PARAMETERS>())).NumFileTypeIDs as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_NOTIFICATION_PARAMETERS), "::", stringify!(NumFileTypeIDs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_NOTIFICATION_PARAMETERS>())).FileTypeID as *const _ 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], _bindgen_union_align: [u8; 504usize], } #[repr(C)] #[derive(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() { 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::null::<_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1>())).Reserved2 as *const _ 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() { 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::null::<_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1>())) .StorageOffloadZeroDataToken as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1), "::", stringify!(StorageOffloadZeroDataToken) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1>())).Token as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1), "::", stringify!(Token) ) ); } #[test] fn bindgen_test_layout__STORAGE_OFFLOAD_TOKEN() { 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::null::<_STORAGE_OFFLOAD_TOKEN>())).TokenType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_OFFLOAD_TOKEN), "::", stringify!(TokenType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OFFLOAD_TOKEN>())).Reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_OFFLOAD_TOKEN), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OFFLOAD_TOKEN>())).TokenIdLength as *const _ 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() { 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::null::<_DEVICE_DSM_OFFLOAD_READ_PARAMETERS>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_OFFLOAD_READ_PARAMETERS), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_OFFLOAD_READ_PARAMETERS>())).TimeToLive as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_OFFLOAD_READ_PARAMETERS), "::", stringify!(TimeToLive) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_OFFLOAD_READ_PARAMETERS>())).Reserved as *const _ 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() { 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::null::<_STORAGE_OFFLOAD_READ_OUTPUT>())).OffloadReadFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_OFFLOAD_READ_OUTPUT), "::", stringify!(OffloadReadFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OFFLOAD_READ_OUTPUT>())).Reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_OFFLOAD_READ_OUTPUT), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OFFLOAD_READ_OUTPUT>())).LengthProtected as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_OFFLOAD_READ_OUTPUT), "::", stringify!(LengthProtected) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OFFLOAD_READ_OUTPUT>())).TokenLength as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_OFFLOAD_READ_OUTPUT), "::", stringify!(TokenLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OFFLOAD_READ_OUTPUT>())).Token as *const _ 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() { 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::null::<_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS>())).Reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS>())).TokenOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS), "::", stringify!(TokenOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS>())).Token as *const _ 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() { 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::null::<_STORAGE_OFFLOAD_WRITE_OUTPUT>())).OffloadWriteFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_OFFLOAD_WRITE_OUTPUT), "::", stringify!(OffloadWriteFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OFFLOAD_WRITE_OUTPUT>())).Reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_OFFLOAD_WRITE_OUTPUT), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_OFFLOAD_WRITE_OUTPUT>())).LengthCopied as *const _ 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() { 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::null::<_DEVICE_DATA_SET_LBP_STATE_PARAMETERS>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_LBP_STATE_PARAMETERS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_LBP_STATE_PARAMETERS>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_LBP_STATE_PARAMETERS), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_LBP_STATE_PARAMETERS>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_LBP_STATE_PARAMETERS), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_LBP_STATE_PARAMETERS>())).OutputVersion as *const _ 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() { 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::null::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE>())).Version as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE>())).SlabSizeInBytes as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), "::", stringify!(SlabSizeInBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE>())) .SlabOffsetDeltaInBytes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), "::", stringify!(SlabOffsetDeltaInBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE>())) .SlabAllocationBitMapBitCount as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), "::", stringify!(SlabAllocationBitMapBitCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE>())) .SlabAllocationBitMapLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), "::", stringify!(SlabAllocationBitMapLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE>())).SlabAllocationBitMap as *const _ 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() { 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::null::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2>())).Version as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2>())).SlabSizeInBytes as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), "::", stringify!(SlabSizeInBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2>())) .SlabOffsetDeltaInBytes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), "::", stringify!(SlabOffsetDeltaInBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2>())) .SlabAllocationBitMapBitCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), "::", stringify!(SlabAllocationBitMapBitCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2>())) .SlabAllocationBitMapLength as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), "::", stringify!(SlabAllocationBitMapLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2>())) .SlabAllocationBitMap as *const _ 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() { 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::null::<_DEVICE_DATA_SET_REPAIR_PARAMETERS>())).NumberOfRepairCopies as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_REPAIR_PARAMETERS), "::", stringify!(NumberOfRepairCopies) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_REPAIR_PARAMETERS>())).SourceCopy as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_REPAIR_PARAMETERS), "::", stringify!(SourceCopy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_REPAIR_PARAMETERS>())).RepairCopies as *const _ 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() { 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::null::<_DEVICE_DATA_SET_REPAIR_OUTPUT>())).ParityExtent as *const _ 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() { 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::null::<_DEVICE_DATA_SET_SCRUB_OUTPUT>())).BytesProcessed as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_SCRUB_OUTPUT), "::", stringify!(BytesProcessed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_SCRUB_OUTPUT>())).BytesRepaired as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_SCRUB_OUTPUT), "::", stringify!(BytesRepaired) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_SCRUB_OUTPUT>())).BytesFailed as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_SCRUB_OUTPUT), "::", stringify!(BytesFailed) ) ); } pub type DEVICE_DATA_SET_SCRUB_OUTPUT = _DEVICE_DATA_SET_SCRUB_OUTPUT; pub type PDEVICE_DATA_SET_SCRUB_OUTPUT = *mut _DEVICE_DATA_SET_SCRUB_OUTPUT; pub type DEVICE_DSM_SCRUB_OUTPUT = _DEVICE_DATA_SET_SCRUB_OUTPUT; pub type PDEVICE_DSM_SCRUB_OUTPUT = *mut _DEVICE_DATA_SET_SCRUB_OUTPUT; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _DEVICE_DATA_SET_SCRUB_EX_OUTPUT { pub BytesProcessed: DWORDLONG, pub BytesRepaired: DWORDLONG, pub BytesFailed: DWORDLONG, pub ParityExtent: DEVICE_DSM_RANGE, } #[test] fn bindgen_test_layout__DEVICE_DATA_SET_SCRUB_EX_OUTPUT() { assert_eq!( ::std::mem::size_of::<_DEVICE_DATA_SET_SCRUB_EX_OUTPUT>(), 40usize, concat!("Size of: ", stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT)) ); assert_eq!( ::std::mem::align_of::<_DEVICE_DATA_SET_SCRUB_EX_OUTPUT>(), 8usize, concat!( "Alignment of ", stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_SCRUB_EX_OUTPUT>())).BytesProcessed as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT), "::", stringify!(BytesProcessed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_SCRUB_EX_OUTPUT>())).BytesRepaired as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT), "::", stringify!(BytesRepaired) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_SCRUB_EX_OUTPUT>())).BytesFailed as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT), "::", stringify!(BytesFailed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_SCRUB_EX_OUTPUT>())).ParityExtent as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT), "::", stringify!(ParityExtent) ) ); } pub type DEVICE_DATA_SET_SCRUB_EX_OUTPUT = _DEVICE_DATA_SET_SCRUB_EX_OUTPUT; pub type PDEVICE_DATA_SET_SCRUB_EX_OUTPUT = *mut _DEVICE_DATA_SET_SCRUB_EX_OUTPUT; pub type DEVICE_DSM_SCRUB_OUTPUT2 = _DEVICE_DATA_SET_SCRUB_EX_OUTPUT; pub type PDEVICE_DSM_SCRUB_OUTPUT2 = *mut _DEVICE_DATA_SET_SCRUB_EX_OUTPUT; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _DEVICE_DSM_TIERING_QUERY_INPUT { pub Version: DWORD, pub Size: DWORD, pub Flags: DWORD, pub NumberOfTierIds: DWORD, pub TierIds: [GUID; 1usize], } #[test] fn bindgen_test_layout__DEVICE_DSM_TIERING_QUERY_INPUT() { 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::null::<_DEVICE_DSM_TIERING_QUERY_INPUT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_TIERING_QUERY_INPUT>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_TIERING_QUERY_INPUT>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_TIERING_QUERY_INPUT>())).NumberOfTierIds as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT), "::", stringify!(NumberOfTierIds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_TIERING_QUERY_INPUT>())).TierIds as *const _ 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() { 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::null::<_STORAGE_TIER_REGION>())).TierId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_TIER_REGION), "::", stringify!(TierId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TIER_REGION>())).Offset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_TIER_REGION), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_TIER_REGION>())).Length as *const _ 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() { 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::null::<_DEVICE_DSM_TIERING_QUERY_OUTPUT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_TIERING_QUERY_OUTPUT>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_TIERING_QUERY_OUTPUT>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_TIERING_QUERY_OUTPUT>())).Reserved as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_TIERING_QUERY_OUTPUT>())).Alignment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), "::", stringify!(Alignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_TIERING_QUERY_OUTPUT>())).TotalNumberOfRegions as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), "::", stringify!(TotalNumberOfRegions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_TIERING_QUERY_OUTPUT>())).NumberOfRegionsReturned as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), "::", stringify!(NumberOfRegionsReturned) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_TIERING_QUERY_OUTPUT>())).Regions as *const _ 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() { 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::null::<_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS>())) .TargetPriority as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS), "::", stringify!(TargetPriority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS>())).Reserved as *const _ 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() { 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::null::<_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT>())).TopologyRangeBytes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT), "::", stringify!(TopologyRangeBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT>())).TopologyId as *const _ 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() { 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::null::<_DEVICE_STORAGE_ADDRESS_RANGE>())).StartAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_STORAGE_ADDRESS_RANGE), "::", stringify!(StartAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_STORAGE_ADDRESS_RANGE>())).LengthInBytes as *const _ 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() { 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::null::<_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT>())).TotalNumberOfRanges as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT), "::", stringify!(TotalNumberOfRanges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT>())).NumberOfRangesReturned as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT), "::", stringify!(NumberOfRangesReturned) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT>())).Ranges as *const _ 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() { 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::null::<_DEVICE_DSM_REPORT_ZONES_PARAMETERS>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_REPORT_ZONES_PARAMETERS), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_REPORT_ZONES_PARAMETERS>())).ReportOption as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_REPORT_ZONES_PARAMETERS), "::", stringify!(ReportOption) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_REPORT_ZONES_PARAMETERS>())).Partial as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_REPORT_ZONES_PARAMETERS), "::", stringify!(Partial) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_REPORT_ZONES_PARAMETERS>())).Reserved as *const _ 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() { 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::null::<_STORAGE_ZONE_DESCRIPTOR>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_ZONE_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ZONE_DESCRIPTOR>())).ZoneType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_ZONE_DESCRIPTOR), "::", stringify!(ZoneType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ZONE_DESCRIPTOR>())).ZoneCondition as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_ZONE_DESCRIPTOR), "::", stringify!(ZoneCondition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ZONE_DESCRIPTOR>())).ResetWritePointerRecommend as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_ZONE_DESCRIPTOR), "::", stringify!(ResetWritePointerRecommend) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ZONE_DESCRIPTOR>())).Reserved0 as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(_STORAGE_ZONE_DESCRIPTOR), "::", stringify!(Reserved0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ZONE_DESCRIPTOR>())).ZoneSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_ZONE_DESCRIPTOR), "::", stringify!(ZoneSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ZONE_DESCRIPTOR>())).WritePointerOffset as *const _ 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() { 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::null::<_DEVICE_DSM_REPORT_ZONES_DATA>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_REPORT_ZONES_DATA), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_REPORT_ZONES_DATA>())).ZoneCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_REPORT_ZONES_DATA), "::", stringify!(ZoneCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_REPORT_ZONES_DATA>())).Attributes as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_REPORT_ZONES_DATA), "::", stringify!(Attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_REPORT_ZONES_DATA>())).Reserved0 as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_REPORT_ZONES_DATA), "::", stringify!(Reserved0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_REPORT_ZONES_DATA>())).ZoneDescriptors as *const _ 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, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] pub struct _DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, 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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = 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() { 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::null::<_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1>())).AllFlags as *const _ 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() { 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::null::<_DEVICE_STORAGE_RANGE_ATTRIBUTES>())).LengthInBytes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES), "::", stringify!(LengthInBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_STORAGE_RANGE_ATTRIBUTES>())).Reserved as *const _ 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() { 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::null::<_DEVICE_DSM_RANGE_ERROR_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_RANGE_ERROR_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_RANGE_ERROR_INFO>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_RANGE_ERROR_INFO), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_RANGE_ERROR_INFO>())).TotalNumberOfRanges as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_RANGE_ERROR_INFO), "::", stringify!(TotalNumberOfRanges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_RANGE_ERROR_INFO>())).NumberOfRangesReturned as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_RANGE_ERROR_INFO), "::", stringify!(NumberOfRangesReturned) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_RANGE_ERROR_INFO>())).Ranges as *const _ 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() { 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::null::<_DEVICE_DSM_LOST_QUERY_PARAMETERS>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_LOST_QUERY_PARAMETERS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_LOST_QUERY_PARAMETERS>())).Granularity as *const _ 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() { 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::null::<_DEVICE_DSM_LOST_QUERY_OUTPUT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_LOST_QUERY_OUTPUT>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_LOST_QUERY_OUTPUT>())).Alignment as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT), "::", stringify!(Alignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_LOST_QUERY_OUTPUT>())).NumberOfBits as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT), "::", stringify!(NumberOfBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_LOST_QUERY_OUTPUT>())).BitMap as *const _ 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() { 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::null::<_DEVICE_DSM_FREE_SPACE_OUTPUT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_FREE_SPACE_OUTPUT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_FREE_SPACE_OUTPUT>())).FreeSpace as *const _ 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() { 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::null::<_DEVICE_DSM_CONVERSION_OUTPUT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICE_DSM_CONVERSION_OUTPUT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICE_DSM_CONVERSION_OUTPUT>())).Source as *const _ 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() { 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::null::<_STORAGE_GET_BC_PROPERTIES_OUTPUT>())).MaximumRequestsPerPeriod as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), "::", stringify!(MaximumRequestsPerPeriod) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_GET_BC_PROPERTIES_OUTPUT>())).MinimumPeriod as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), "::", stringify!(MinimumPeriod) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_GET_BC_PROPERTIES_OUTPUT>())).MaximumRequestSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), "::", stringify!(MaximumRequestSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_GET_BC_PROPERTIES_OUTPUT>())).EstimatedTimePerRequest as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), "::", stringify!(EstimatedTimePerRequest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_GET_BC_PROPERTIES_OUTPUT>())).NumOutStandingRequests as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), "::", stringify!(NumOutStandingRequests) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_GET_BC_PROPERTIES_OUTPUT>())).RequestSize as *const _ 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() { 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::null::<_STORAGE_ALLOCATE_BC_STREAM_INPUT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ALLOCATE_BC_STREAM_INPUT>())).RequestsPerPeriod as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), "::", stringify!(RequestsPerPeriod) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ALLOCATE_BC_STREAM_INPUT>())).Period as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), "::", stringify!(Period) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ALLOCATE_BC_STREAM_INPUT>())).RetryFailures as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), "::", stringify!(RetryFailures) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ALLOCATE_BC_STREAM_INPUT>())).Discardable as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), "::", stringify!(Discardable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ALLOCATE_BC_STREAM_INPUT>())).Reserved1 as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ALLOCATE_BC_STREAM_INPUT>())).AccessType as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), "::", stringify!(AccessType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ALLOCATE_BC_STREAM_INPUT>())).AccessMode as *const _ 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() { 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::null::<_STORAGE_ALLOCATE_BC_STREAM_OUTPUT>())).RequestSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_ALLOCATE_BC_STREAM_OUTPUT), "::", stringify!(RequestSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ALLOCATE_BC_STREAM_OUTPUT>())).NumOutStandingRequests as *const _ 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() { 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::null::<_STORAGE_PRIORITY_HINT_SUPPORT>())).SupportFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_PRIORITY_HINT_SUPPORT), "::", stringify!(SupportFlags) ) ); } pub type STORAGE_PRIORITY_HINT_SUPPORT = _STORAGE_PRIORITY_HINT_SUPPORT; pub type PSTORAGE_PRIORITY_HINT_SUPPORT = *mut _STORAGE_PRIORITY_HINT_SUPPORT; pub const _STORAGE_DIAGNOSTIC_LEVEL_StorageDiagnosticLevelDefault: _STORAGE_DIAGNOSTIC_LEVEL = 0; pub const _STORAGE_DIAGNOSTIC_LEVEL_StorageDiagnosticLevelMax: _STORAGE_DIAGNOSTIC_LEVEL = 1; pub type _STORAGE_DIAGNOSTIC_LEVEL = ::std::os::raw::c_int; pub use self::_STORAGE_DIAGNOSTIC_LEVEL as STORAGE_DIAGNOSTIC_LEVEL; pub type PSTORAGE_DIAGNOSTIC_LEVEL = *mut _STORAGE_DIAGNOSTIC_LEVEL; pub const _STORAGE_DIAGNOSTIC_TARGET_TYPE_StorageDiagnosticTargetTypeUndefined: _STORAGE_DIAGNOSTIC_TARGET_TYPE = 0; pub const _STORAGE_DIAGNOSTIC_TARGET_TYPE_StorageDiagnosticTargetTypePort: _STORAGE_DIAGNOSTIC_TARGET_TYPE = 1; pub const _STORAGE_DIAGNOSTIC_TARGET_TYPE_StorageDiagnosticTargetTypeMiniport: _STORAGE_DIAGNOSTIC_TARGET_TYPE = 2; pub const _STORAGE_DIAGNOSTIC_TARGET_TYPE_StorageDiagnosticTargetTypeHbaFirmware: _STORAGE_DIAGNOSTIC_TARGET_TYPE = 3; pub const _STORAGE_DIAGNOSTIC_TARGET_TYPE_StorageDiagnosticTargetTypeMax: _STORAGE_DIAGNOSTIC_TARGET_TYPE = 4; pub type _STORAGE_DIAGNOSTIC_TARGET_TYPE = ::std::os::raw::c_int; pub use self::_STORAGE_DIAGNOSTIC_TARGET_TYPE as STORAGE_DIAGNOSTIC_TARGET_TYPE; pub type PSTORAGE_DIAGNOSTIC_TARGET_TYPE = *mut _STORAGE_DIAGNOSTIC_TARGET_TYPE; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _STORAGE_DIAGNOSTIC_REQUEST { pub Version: DWORD, pub Size: DWORD, pub Reserved: DWORD, pub TargetType: STORAGE_DIAGNOSTIC_TARGET_TYPE, pub Level: STORAGE_DIAGNOSTIC_LEVEL, } #[test] fn bindgen_test_layout__STORAGE_DIAGNOSTIC_REQUEST() { 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::null::<_STORAGE_DIAGNOSTIC_REQUEST>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DIAGNOSTIC_REQUEST), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DIAGNOSTIC_REQUEST>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DIAGNOSTIC_REQUEST), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DIAGNOSTIC_REQUEST>())).Reserved as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_DIAGNOSTIC_REQUEST), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DIAGNOSTIC_REQUEST>())).TargetType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_DIAGNOSTIC_REQUEST), "::", stringify!(TargetType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DIAGNOSTIC_REQUEST>())).Level as *const _ 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() { 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::null::<_STORAGE_DIAGNOSTIC_DATA>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DIAGNOSTIC_DATA), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DIAGNOSTIC_DATA>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DIAGNOSTIC_DATA), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DIAGNOSTIC_DATA>())).ProviderId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_DIAGNOSTIC_DATA), "::", stringify!(ProviderId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DIAGNOSTIC_DATA>())).BufferSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STORAGE_DIAGNOSTIC_DATA), "::", stringify!(BufferSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DIAGNOSTIC_DATA>())).Reserved as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_STORAGE_DIAGNOSTIC_DATA), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DIAGNOSTIC_DATA>())).DiagnosticDataBuffer as *const _ 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() { 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::null::<_PHYSICAL_ELEMENT_STATUS_REQUEST>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS_REQUEST>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS_REQUEST>())).StartingElement as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), "::", stringify!(StartingElement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS_REQUEST>())).Filter as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), "::", stringify!(Filter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS_REQUEST>())).ReportType as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), "::", stringify!(ReportType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS_REQUEST>())).Reserved as *const _ 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() { 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::null::<_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR>())).ElementIdentifier as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), "::", stringify!(ElementIdentifier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR>())).PhysicalElementType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), "::", stringify!(PhysicalElementType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR>())).PhysicalElementHealth as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), "::", stringify!(PhysicalElementHealth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR>())).Reserved1 as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR>())).AssociatedCapacity as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), "::", stringify!(AssociatedCapacity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR>())).Reserved2 as *const _ 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() { 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::null::<_PHYSICAL_ELEMENT_STATUS>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS>())).DescriptorCount as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS), "::", stringify!(DescriptorCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS>())).ReturnedDescriptorCount as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS), "::", stringify!(ReturnedDescriptorCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS>())).ElementIdentifierBeingDepoped as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS), "::", stringify!(ElementIdentifierBeingDepoped) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS>())).Reserved as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_PHYSICAL_ELEMENT_STATUS), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PHYSICAL_ELEMENT_STATUS>())).Descriptors as *const _ 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() { 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::null::<_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST>())).RequestCapacity as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST), "::", stringify!(RequestCapacity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST>())).ElementIdentifier as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST), "::", stringify!(ElementIdentifier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST>())).Reserved as *const _ 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; #[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() { 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::null::<_STORAGE_MEDIA_SERIAL_NUMBER_DATA>())).Reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_MEDIA_SERIAL_NUMBER_DATA), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_MEDIA_SERIAL_NUMBER_DATA>())).SerialNumberLength as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_STORAGE_MEDIA_SERIAL_NUMBER_DATA), "::", stringify!(SerialNumberLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_MEDIA_SERIAL_NUMBER_DATA>())).SerialNumber as *const _ 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() { 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::null::<_STORAGE_READ_CAPACITY>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_READ_CAPACITY), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_READ_CAPACITY>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_READ_CAPACITY), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_READ_CAPACITY>())).BlockLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_READ_CAPACITY), "::", stringify!(BlockLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_READ_CAPACITY>())).NumberOfBlocks as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_READ_CAPACITY), "::", stringify!(NumberOfBlocks) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_READ_CAPACITY>())).DiskLength as *const _ 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() { 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::null::<_STORAGE_WRITE_CACHE_PROPERTY>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_WRITE_CACHE_PROPERTY), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_WRITE_CACHE_PROPERTY>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_WRITE_CACHE_PROPERTY), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_WRITE_CACHE_PROPERTY>())).WriteCacheType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_WRITE_CACHE_PROPERTY), "::", stringify!(WriteCacheType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_WRITE_CACHE_PROPERTY>())).WriteCacheEnabled as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_WRITE_CACHE_PROPERTY), "::", stringify!(WriteCacheEnabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_WRITE_CACHE_PROPERTY>())).WriteCacheChangeable as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_WRITE_CACHE_PROPERTY), "::", stringify!(WriteCacheChangeable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_WRITE_CACHE_PROPERTY>())).WriteThroughSupported as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_STORAGE_WRITE_CACHE_PROPERTY), "::", stringify!(WriteThroughSupported) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_WRITE_CACHE_PROPERTY>())).FlushCacheSupported as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STORAGE_WRITE_CACHE_PROPERTY), "::", stringify!(FlushCacheSupported) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_WRITE_CACHE_PROPERTY>())).UserDefinedPowerProtection as *const _ as usize }, 25usize, concat!( "Offset of field: ", stringify!(_STORAGE_WRITE_CACHE_PROPERTY), "::", stringify!(UserDefinedPowerProtection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_WRITE_CACHE_PROPERTY>())).NVCacheEnabled as *const _ 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_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, pub AllocationLength: WORD, } #[test] fn bindgen_test_layout__PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1() { 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::null::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1>())) .AllocationLength as *const _ 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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = 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_1: __BindgenBitfieldUnit<[u8; 2usize], u8>, pub ParameterList: __IncompleteArrayField, } #[test] fn bindgen_test_layout__PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2() { 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::null::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2>())) .ParameterList as *const _ 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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u8> = 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() { 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::null::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1>())).PR_IN as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1), "::", stringify!(PR_IN) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1>())).PR_OUT as *const _ 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() { 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::null::<_PERSISTENT_RESERVE_COMMAND>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PERSISTENT_RESERVE_COMMAND), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERSISTENT_RESERVE_COMMAND>())).Size as *const _ 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() { 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::null::<_DEVICEDUMP_SUBSECTION_POINTER>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_SUBSECTION_POINTER), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_SUBSECTION_POINTER>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_SUBSECTION_POINTER), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_SUBSECTION_POINTER>())).dwOffset as *const _ 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() { 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::null::<_DEVICEDUMP_STRUCTURE_VERSION>())).dwSignature as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STRUCTURE_VERSION), "::", stringify!(dwSignature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STRUCTURE_VERSION>())).dwVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STRUCTURE_VERSION), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STRUCTURE_VERSION>())).dwSize as *const _ 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(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() { 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::null::<_DEVICEDUMP_SECTION_HEADER>())).guidDeviceDataId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_SECTION_HEADER), "::", stringify!(guidDeviceDataId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_SECTION_HEADER>())).sOrganizationID as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_SECTION_HEADER), "::", stringify!(sOrganizationID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_SECTION_HEADER>())).dwFirmwareRevision as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_SECTION_HEADER), "::", stringify!(dwFirmwareRevision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_SECTION_HEADER>())).sModelNumber as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_SECTION_HEADER), "::", stringify!(sModelNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_SECTION_HEADER>())).szDeviceManufacturingID as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_SECTION_HEADER), "::", stringify!(szDeviceManufacturingID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_SECTION_HEADER>())).dwFlags as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_SECTION_HEADER), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_SECTION_HEADER>())).bRestrictedPrivateDataVersion as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_SECTION_HEADER), "::", stringify!(bRestrictedPrivateDataVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_SECTION_HEADER>())).dwFirmwareIssueId as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_SECTION_HEADER), "::", stringify!(dwFirmwareIssueId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_SECTION_HEADER>())).szIssueDescriptionString as *const _ 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() { 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::null::<_GP_LOG_PAGE_DESCRIPTOR>())).LogAddress as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GP_LOG_PAGE_DESCRIPTOR), "::", stringify!(LogAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GP_LOG_PAGE_DESCRIPTOR>())).LogSectors as *const _ 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() { 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::null::<_DEVICEDUMP_PUBLIC_SUBSECTION>())).dwFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_PUBLIC_SUBSECTION), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_PUBLIC_SUBSECTION>())).GPLogTable as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_PUBLIC_SUBSECTION), "::", stringify!(GPLogTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_PUBLIC_SUBSECTION>())).szDescription as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_PUBLIC_SUBSECTION), "::", stringify!(szDescription) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_PUBLIC_SUBSECTION>())).bData as *const _ 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() { 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::null::<_DEVICEDUMP_RESTRICTED_SUBSECTION>())).bData as *const _ 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() { 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::null::<_DEVICEDUMP_PRIVATE_SUBSECTION>())).dwFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_PRIVATE_SUBSECTION), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_PRIVATE_SUBSECTION>())).GPLogId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_PRIVATE_SUBSECTION), "::", stringify!(GPLogId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_PRIVATE_SUBSECTION>())).bData as *const _ 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(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() { 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::null::<_DEVICEDUMP_STORAGEDEVICE_DATA>())).Descriptor as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), "::", stringify!(Descriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGEDEVICE_DATA>())).SectionHeader as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), "::", stringify!(SectionHeader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGEDEVICE_DATA>())).dwBufferSize as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), "::", stringify!(dwBufferSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGEDEVICE_DATA>())).dwReasonForCollection as *const _ as usize }, 260usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), "::", stringify!(dwReasonForCollection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGEDEVICE_DATA>())).PublicData as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), "::", stringify!(PublicData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGEDEVICE_DATA>())).RestrictedData as *const _ as usize }, 276usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), "::", stringify!(RestrictedData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGEDEVICE_DATA>())).PrivateData as *const _ 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, _bindgen_union_align: [u8; 4usize], } #[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() { 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::null::< _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1, >())) .dwReserved as *const _ 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() { 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::null::< _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2, >())) .dwAtaPortSpecific as *const _ 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() { 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::null::< _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3, >())) .SrbTag as *const _ 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() { 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::null::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1>())) .ExternalStack as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1), "::", stringify!(ExternalStack) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1>())) .AtaPort as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1), "::", stringify!(AtaPort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1>())) .StorPort as *const _ 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() { 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::null::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD>())).Cdb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), "::", stringify!(Cdb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD>())).Command as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), "::", stringify!(Command) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD>())).StartTime as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), "::", stringify!(StartTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD>())).EndTime as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), "::", stringify!(EndTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD>())).OperationStatus as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), "::", stringify!(OperationStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD>())).OperationError as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), "::", stringify!(OperationError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD>())).StackSpecific as *const _ 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() { 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::null::<_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP>())).Descriptor as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP), "::", stringify!(Descriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP>())).dwReasonForCollection as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP), "::", stringify!(dwReasonForCollection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP>())).cDriverName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP), "::", stringify!(cDriverName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP>())).uiNumRecords as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP), "::", stringify!(uiNumRecords) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP>())).RecordArray as *const _ 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_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, pub D3IdleTimeout: DWORD, } #[test] fn bindgen_test_layout__STORAGE_IDLE_POWER() { 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::null::<_STORAGE_IDLE_POWER>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_IDLE_POWER), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_IDLE_POWER>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_IDLE_POWER), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_IDLE_POWER>())).D3IdleTimeout as *const _ 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], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = 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() { 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::null::<_STORAGE_IDLE_POWERUP_REASON>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_IDLE_POWERUP_REASON), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_IDLE_POWERUP_REASON>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_IDLE_POWERUP_REASON), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_IDLE_POWERUP_REASON>())).PowerupReason as *const _ 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() { 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::null::<_STORAGE_DEVICE_POWER_CAP>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_POWER_CAP), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_POWER_CAP>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_POWER_CAP), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_POWER_CAP>())).Units as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_DEVICE_POWER_CAP), "::", stringify!(Units) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_DEVICE_POWER_CAP>())).MaxPower as *const _ 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(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() { 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::null::<_STORAGE_RPMB_DATA_FRAME>())).Stuff as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_RPMB_DATA_FRAME), "::", stringify!(Stuff) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_RPMB_DATA_FRAME>())).KeyOrMAC as *const _ as usize }, 196usize, concat!( "Offset of field: ", stringify!(_STORAGE_RPMB_DATA_FRAME), "::", stringify!(KeyOrMAC) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_RPMB_DATA_FRAME>())).Data as *const _ as usize }, 228usize, concat!( "Offset of field: ", stringify!(_STORAGE_RPMB_DATA_FRAME), "::", stringify!(Data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_RPMB_DATA_FRAME>())).Nonce as *const _ as usize }, 484usize, concat!( "Offset of field: ", stringify!(_STORAGE_RPMB_DATA_FRAME), "::", stringify!(Nonce) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_RPMB_DATA_FRAME>())).WriteCounter as *const _ as usize }, 500usize, concat!( "Offset of field: ", stringify!(_STORAGE_RPMB_DATA_FRAME), "::", stringify!(WriteCounter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_RPMB_DATA_FRAME>())).Address as *const _ as usize }, 504usize, concat!( "Offset of field: ", stringify!(_STORAGE_RPMB_DATA_FRAME), "::", stringify!(Address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_RPMB_DATA_FRAME>())).BlockCount as *const _ as usize }, 506usize, concat!( "Offset of field: ", stringify!(_STORAGE_RPMB_DATA_FRAME), "::", stringify!(BlockCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_RPMB_DATA_FRAME>())).OperationResult as *const _ as usize }, 508usize, concat!( "Offset of field: ", stringify!(_STORAGE_RPMB_DATA_FRAME), "::", stringify!(OperationResult) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_RPMB_DATA_FRAME>())).RequestOrResponseType as *const _ 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() { 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::null::<_STORAGE_EVENT_NOTIFICATION>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_EVENT_NOTIFICATION), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_EVENT_NOTIFICATION>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_EVENT_NOTIFICATION), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_EVENT_NOTIFICATION>())).Events as *const _ 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, _bindgen_union_align: u64, } #[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() { 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::null::<_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1>())).Week as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Week) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1>())).Year as *const _ 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() { 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::null::<_STORAGE_COUNTER__bindgen_ty_1>())).ManufactureDate as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_COUNTER__bindgen_ty_1), "::", stringify!(ManufactureDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_COUNTER__bindgen_ty_1>())).AsUlonglong as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_COUNTER__bindgen_ty_1), "::", stringify!(AsUlonglong) ) ); } #[test] fn bindgen_test_layout__STORAGE_COUNTER() { 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::null::<_STORAGE_COUNTER>())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_COUNTER), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_COUNTER>())).Value as *const _ 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() { 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::null::<_STORAGE_COUNTERS>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_COUNTERS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_COUNTERS>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_COUNTERS), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_COUNTERS>())).NumberOfCounters as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_COUNTERS), "::", stringify!(NumberOfCounters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_COUNTERS>())).Counters as *const _ 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() { 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::null::<_STORAGE_HW_FIRMWARE_INFO_QUERY>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_INFO_QUERY), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_INFO_QUERY>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_INFO_QUERY), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_INFO_QUERY>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_INFO_QUERY), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_INFO_QUERY>())).Reserved as *const _ 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_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, pub Reserved1: [BYTE; 6usize], pub Revision: [BYTE; 16usize], } #[test] fn bindgen_test_layout__STORAGE_HW_FIRMWARE_SLOT_INFO() { 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::null::<_STORAGE_HW_FIRMWARE_SLOT_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_SLOT_INFO>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_SLOT_INFO>())).SlotNumber as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO), "::", stringify!(SlotNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_SLOT_INFO>())).Reserved1 as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_SLOT_INFO>())).Revision as *const _ 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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = 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_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, 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() { 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::null::<_STORAGE_HW_FIRMWARE_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_INFO>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_INFO), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_INFO>())).SlotCount as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_INFO), "::", stringify!(SlotCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_INFO>())).ActiveSlot as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_INFO), "::", stringify!(ActiveSlot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_INFO>())).PendingActivateSlot as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_INFO), "::", stringify!(PendingActivateSlot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_INFO>())).FirmwareShared as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_INFO), "::", stringify!(FirmwareShared) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_INFO>())).Reserved as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_INFO), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_INFO>())).ImagePayloadAlignment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_INFO), "::", stringify!(ImagePayloadAlignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_INFO>())).ImagePayloadMaxSize as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_INFO), "::", stringify!(ImagePayloadMaxSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_INFO>())).Slot as *const _ 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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = 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() { 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::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD>())).Slot as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), "::", stringify!(Slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD>())).Reserved as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD>())).Offset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD>())).BufferSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), "::", stringify!(BufferSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD>())).ImageBuffer as *const _ 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() { 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::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2>())).Slot as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), "::", stringify!(Slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2>())).Reserved as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2>())).Offset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2>())).BufferSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), "::", stringify!(BufferSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2>())).ImageSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), "::", stringify!(ImageSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2>())).Reserved2 as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), "::", stringify!(Reserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2>())).ImageBuffer as *const _ 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() { 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::null::<_STORAGE_HW_FIRMWARE_ACTIVATE>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_ACTIVATE>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_ACTIVATE>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_ACTIVATE>())).Slot as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE), "::", stringify!(Slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_HW_FIRMWARE_ACTIVATE>())).Reserved0 as *const _ 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() { 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::null::<_STORAGE_PROTOCOL_COMMAND>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).Length as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).ProtocolType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(ProtocolType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).Flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).ReturnStatus as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(ReturnStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).ErrorCode as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(ErrorCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).CommandLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(CommandLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).ErrorInfoLength as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(ErrorInfoLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).DataToDeviceTransferLength as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(DataToDeviceTransferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).DataFromDeviceTransferLength as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(DataFromDeviceTransferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).TimeOutValue as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(TimeOutValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).ErrorInfoOffset as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(ErrorInfoOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).DataToDeviceBufferOffset as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(DataToDeviceBufferOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).DataFromDeviceBufferOffset as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(DataFromDeviceBufferOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).CommandSpecific as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(CommandSpecific) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).Reserved0 as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(Reserved0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).FixedProtocolReturnData as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(FixedProtocolReturnData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).Reserved1 as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_STORAGE_PROTOCOL_COMMAND), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_PROTOCOL_COMMAND>())).Command as *const _ 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() { 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::null::<_STORAGE_ATTRIBUTE_MGMT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_ATTRIBUTE_MGMT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ATTRIBUTE_MGMT>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_ATTRIBUTE_MGMT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ATTRIBUTE_MGMT>())).Action as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_ATTRIBUTE_MGMT), "::", stringify!(Action) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_ATTRIBUTE_MGMT>())).Attribute as *const _ 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() { 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::null::<_SCM_PD_HEALTH_NOTIFICATION_DATA>())).DeviceGuid as *const _ 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(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() { 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::null::<_SCM_LOGICAL_DEVICE_INSTANCE>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_LOGICAL_DEVICE_INSTANCE), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_LOGICAL_DEVICE_INSTANCE>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_LOGICAL_DEVICE_INSTANCE), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_LOGICAL_DEVICE_INSTANCE>())).DeviceGuid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_LOGICAL_DEVICE_INSTANCE), "::", stringify!(DeviceGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_LOGICAL_DEVICE_INSTANCE>())).SymbolicLink as *const _ 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(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() { 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::null::<_SCM_LOGICAL_DEVICES>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_LOGICAL_DEVICES), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_LOGICAL_DEVICES>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_LOGICAL_DEVICES), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_LOGICAL_DEVICES>())).DeviceCount as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_LOGICAL_DEVICES), "::", stringify!(DeviceCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_LOGICAL_DEVICES>())).Devices as *const _ 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(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() { 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::null::<_SCM_PHYSICAL_DEVICE_INSTANCE>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PHYSICAL_DEVICE_INSTANCE), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PHYSICAL_DEVICE_INSTANCE>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PHYSICAL_DEVICE_INSTANCE), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PHYSICAL_DEVICE_INSTANCE>())).NfitHandle as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_PHYSICAL_DEVICE_INSTANCE), "::", stringify!(NfitHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PHYSICAL_DEVICE_INSTANCE>())).SymbolicLink as *const _ 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(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() { 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::null::<_SCM_PHYSICAL_DEVICES>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PHYSICAL_DEVICES), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PHYSICAL_DEVICES>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PHYSICAL_DEVICES), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PHYSICAL_DEVICES>())).DeviceCount as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_PHYSICAL_DEVICES), "::", stringify!(DeviceCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PHYSICAL_DEVICES>())).Devices as *const _ 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() { 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::null::<_SCM_REGION>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_REGION), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_REGION>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_REGION), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_REGION>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_REGION), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_REGION>())).NfitHandle as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SCM_REGION), "::", stringify!(NfitHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_REGION>())).LogicalDeviceGuid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SCM_REGION), "::", stringify!(LogicalDeviceGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_REGION>())).AddressRangeType as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_SCM_REGION), "::", stringify!(AddressRangeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_REGION>())).AssociatedId as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_SCM_REGION), "::", stringify!(AssociatedId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_REGION>())).Length as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_SCM_REGION), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_REGION>())).StartingDPA as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_SCM_REGION), "::", stringify!(StartingDPA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_REGION>())).BaseSPA as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_SCM_REGION), "::", stringify!(BaseSPA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_REGION>())).SPAOffset as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_SCM_REGION), "::", stringify!(SPAOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_REGION>())).RegionOffset as *const _ 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() { 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::null::<_SCM_REGIONS>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_REGIONS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_REGIONS>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_REGIONS), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_REGIONS>())).RegionCount as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_REGIONS), "::", stringify!(RegionCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_REGIONS>())).Regions as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SCM_REGIONS), "::", stringify!(Regions) ) ); } pub type SCM_REGIONS = _SCM_REGIONS; pub type PSCM_REGIONS = *mut _SCM_REGIONS; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _SCM_INTERLEAVED_PD_INFO { pub DeviceHandle: DWORD, pub DeviceGuid: GUID, } #[test] fn bindgen_test_layout__SCM_INTERLEAVED_PD_INFO() { 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::null::<_SCM_INTERLEAVED_PD_INFO>())).DeviceHandle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_INTERLEAVED_PD_INFO), "::", stringify!(DeviceHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_INTERLEAVED_PD_INFO>())).DeviceGuid as *const _ 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() { 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::null::<_SCM_LD_INTERLEAVE_SET_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_LD_INTERLEAVE_SET_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_LD_INTERLEAVE_SET_INFO>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_LD_INTERLEAVE_SET_INFO), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_LD_INTERLEAVE_SET_INFO>())).InterleaveSetSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_LD_INTERLEAVE_SET_INFO), "::", stringify!(InterleaveSetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_LD_INTERLEAVE_SET_INFO>())).InterleaveSet as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SCM_LD_INTERLEAVE_SET_INFO), "::", stringify!(InterleaveSet) ) ); } pub type SCM_LD_INTERLEAVE_SET_INFO = _SCM_LD_INTERLEAVE_SET_INFO; pub type PSCM_LD_INTERLEAVE_SET_INFO = *mut _SCM_LD_INTERLEAVE_SET_INFO; pub const _SCM_PD_QUERY_TYPE_ScmPhysicalDeviceQuery_Descriptor: _SCM_PD_QUERY_TYPE = 0; pub const _SCM_PD_QUERY_TYPE_ScmPhysicalDeviceQuery_IsSupported: _SCM_PD_QUERY_TYPE = 1; pub const _SCM_PD_QUERY_TYPE_ScmPhysicalDeviceQuery_Max: _SCM_PD_QUERY_TYPE = 2; pub type _SCM_PD_QUERY_TYPE = ::std::os::raw::c_int; pub use self::_SCM_PD_QUERY_TYPE as SCM_PD_QUERY_TYPE; pub type PSCM_PD_QUERY_TYPE = *mut _SCM_PD_QUERY_TYPE; pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_DeviceInfo: _SCM_PD_PROPERTY_ID = 0; pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_ManagementStatus: _SCM_PD_PROPERTY_ID = 1; pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_FirmwareInfo: _SCM_PD_PROPERTY_ID = 2; pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_LocationString: _SCM_PD_PROPERTY_ID = 3; pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_DeviceSpecificInfo: _SCM_PD_PROPERTY_ID = 4; pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_DeviceHandle: _SCM_PD_PROPERTY_ID = 5; pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_Max: _SCM_PD_PROPERTY_ID = 6; pub type _SCM_PD_PROPERTY_ID = ::std::os::raw::c_int; pub use self::_SCM_PD_PROPERTY_ID as SCM_PD_PROPERTY_ID; pub type PSCM_PD_PROPERTY_ID = *mut _SCM_PD_PROPERTY_ID; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _SCM_PD_PROPERTY_QUERY { pub Version: DWORD, pub Size: DWORD, pub PropertyId: SCM_PD_PROPERTY_ID, pub QueryType: SCM_PD_QUERY_TYPE, pub AdditionalParameters: [BYTE; 1usize], } #[test] fn bindgen_test_layout__SCM_PD_PROPERTY_QUERY() { 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::null::<_SCM_PD_PROPERTY_QUERY>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PROPERTY_QUERY), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PROPERTY_QUERY>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PROPERTY_QUERY), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PROPERTY_QUERY>())).PropertyId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PROPERTY_QUERY), "::", stringify!(PropertyId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PROPERTY_QUERY>())).QueryType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PROPERTY_QUERY), "::", stringify!(QueryType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PROPERTY_QUERY>())).AdditionalParameters as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PROPERTY_QUERY), "::", stringify!(AdditionalParameters) ) ); } pub type SCM_PD_PROPERTY_QUERY = _SCM_PD_PROPERTY_QUERY; pub type PSCM_PD_PROPERTY_QUERY = *mut _SCM_PD_PROPERTY_QUERY; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _SCM_PD_DESCRIPTOR_HEADER { pub Version: DWORD, pub Size: DWORD, } #[test] fn bindgen_test_layout__SCM_PD_DESCRIPTOR_HEADER() { 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::null::<_SCM_PD_DESCRIPTOR_HEADER>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DESCRIPTOR_HEADER), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DESCRIPTOR_HEADER>())).Size as *const _ 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() { 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::null::<_SCM_PD_DEVICE_HANDLE>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_HANDLE), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_HANDLE>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_HANDLE), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_HANDLE>())).DeviceGuid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_HANDLE), "::", stringify!(DeviceGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_HANDLE>())).DeviceHandle as *const _ 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() { 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::null::<_SCM_PD_DEVICE_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).DeviceGuid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(DeviceGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).UnsafeShutdownCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(UnsafeShutdownCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).PersistentMemorySizeInBytes as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(PersistentMemorySizeInBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).VolatileMemorySizeInBytes as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(VolatileMemorySizeInBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).TotalMemorySizeInBytes as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(TotalMemorySizeInBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).SlotNumber as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(SlotNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).DeviceHandle as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(DeviceHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).PhysicalId as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(PhysicalId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).NumberOfFormatInterfaceCodes as *const _ as usize }, 66usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(NumberOfFormatInterfaceCodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).FormatInterfaceCodes as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(FormatInterfaceCodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).VendorId as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(VendorId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).ProductId as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(ProductId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).SubsystemDeviceId as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(SubsystemDeviceId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).SubsystemVendorId as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(SubsystemVendorId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).ManufacturingLocation as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(ManufacturingLocation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).ManufacturingWeek as *const _ as usize }, 101usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(ManufacturingWeek) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).ManufacturingYear as *const _ as usize }, 102usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(ManufacturingYear) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).SerialNumber4Byte as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(SerialNumber4Byte) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).SerialNumberLengthInChars as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_INFO), "::", stringify!(SerialNumberLengthInChars) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_INFO>())).SerialNumber as *const _ 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(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() { 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::null::<_SCM_PD_DEVICE_SPECIFIC_PROPERTY>())).Name as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_SPECIFIC_PROPERTY), "::", stringify!(Name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_SPECIFIC_PROPERTY>())).Value as *const _ 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(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() { 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::null::<_SCM_PD_DEVICE_SPECIFIC_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_SPECIFIC_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_SPECIFIC_INFO>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_SPECIFIC_INFO), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_SPECIFIC_INFO>())).NumberOfProperties as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_PD_DEVICE_SPECIFIC_INFO), "::", stringify!(NumberOfProperties) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_DEVICE_SPECIFIC_INFO>())).DeviceSpecificProperties as *const _ 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_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, pub Reserved1: [BYTE; 6usize], pub Revision: [BYTE; 32usize], } #[test] fn bindgen_test_layout__SCM_PD_FIRMWARE_SLOT_INFO() { 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::null::<_SCM_PD_FIRMWARE_SLOT_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_SLOT_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_SLOT_INFO>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_SLOT_INFO), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_SLOT_INFO>())).SlotNumber as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_SLOT_INFO), "::", stringify!(SlotNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_SLOT_INFO>())).Reserved1 as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_SLOT_INFO), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_SLOT_INFO>())).Revision as *const _ 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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = 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() { 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::null::<_SCM_PD_FIRMWARE_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_INFO>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_INFO), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_INFO>())).ActiveSlot as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_INFO), "::", stringify!(ActiveSlot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_INFO>())).NextActiveSlot as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_INFO), "::", stringify!(NextActiveSlot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_INFO>())).SlotCount as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_INFO), "::", stringify!(SlotCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_INFO>())).Slots as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_INFO), "::", stringify!(Slots) ) ); } pub type SCM_PD_FIRMWARE_INFO = _SCM_PD_FIRMWARE_INFO; pub type PSCM_PD_FIRMWARE_INFO = *mut _SCM_PD_FIRMWARE_INFO; pub const _SCM_PD_HEALTH_STATUS_ScmPhysicalDeviceHealth_Unknown: _SCM_PD_HEALTH_STATUS = 0; pub const _SCM_PD_HEALTH_STATUS_ScmPhysicalDeviceHealth_Unhealthy: _SCM_PD_HEALTH_STATUS = 1; pub const _SCM_PD_HEALTH_STATUS_ScmPhysicalDeviceHealth_Warning: _SCM_PD_HEALTH_STATUS = 2; pub const _SCM_PD_HEALTH_STATUS_ScmPhysicalDeviceHealth_Healthy: _SCM_PD_HEALTH_STATUS = 3; pub const _SCM_PD_HEALTH_STATUS_ScmPhysicalDeviceHealth_Max: _SCM_PD_HEALTH_STATUS = 4; pub type _SCM_PD_HEALTH_STATUS = ::std::os::raw::c_int; pub use self::_SCM_PD_HEALTH_STATUS as SCM_PD_HEALTH_STATUS; pub type PSCM_PD_HEALTH_STATUS = *mut _SCM_PD_HEALTH_STATUS; pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_Unknown: _SCM_PD_OPERATIONAL_STATUS = 0; pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_Ok: _SCM_PD_OPERATIONAL_STATUS = 1; pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_PredictingFailure: _SCM_PD_OPERATIONAL_STATUS = 2; pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_InService: _SCM_PD_OPERATIONAL_STATUS = 3; pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_HardwareError: _SCM_PD_OPERATIONAL_STATUS = 4; pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_NotUsable: _SCM_PD_OPERATIONAL_STATUS = 5; pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_TransientError: _SCM_PD_OPERATIONAL_STATUS = 6; pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_Missing: _SCM_PD_OPERATIONAL_STATUS = 7; pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_Max: _SCM_PD_OPERATIONAL_STATUS = 8; pub type _SCM_PD_OPERATIONAL_STATUS = ::std::os::raw::c_int; pub use self::_SCM_PD_OPERATIONAL_STATUS as SCM_PD_OPERATIONAL_STATUS; pub type PSCM_PD_OPERATIONAL_STATUS = *mut _SCM_PD_OPERATIONAL_STATUS; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_Unknown: _SCM_PD_OPERATIONAL_STATUS_REASON = 0; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_Media: _SCM_PD_OPERATIONAL_STATUS_REASON = 1; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_ThresholdExceeded: _SCM_PD_OPERATIONAL_STATUS_REASON = 2; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_LostData: _SCM_PD_OPERATIONAL_STATUS_REASON = 3; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_EnergySource: _SCM_PD_OPERATIONAL_STATUS_REASON = 4; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_Configuration: _SCM_PD_OPERATIONAL_STATUS_REASON = 5; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_DeviceController: _SCM_PD_OPERATIONAL_STATUS_REASON = 6; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_MediaController: _SCM_PD_OPERATIONAL_STATUS_REASON = 7; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_Component: _SCM_PD_OPERATIONAL_STATUS_REASON = 8; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_BackgroundOperation: _SCM_PD_OPERATIONAL_STATUS_REASON = 9; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_InvalidFirmware: _SCM_PD_OPERATIONAL_STATUS_REASON = 10; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_HealthCheck: _SCM_PD_OPERATIONAL_STATUS_REASON = 11; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_LostDataPersistence: _SCM_PD_OPERATIONAL_STATUS_REASON = 12; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_DisabledByPlatform: _SCM_PD_OPERATIONAL_STATUS_REASON = 13; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_PermanentError: _SCM_PD_OPERATIONAL_STATUS_REASON = 14; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_LostWritePersistence: _SCM_PD_OPERATIONAL_STATUS_REASON = 15; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_FatalError: _SCM_PD_OPERATIONAL_STATUS_REASON = 16; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_DataPersistenceLossImminent : _SCM_PD_OPERATIONAL_STATUS_REASON = 17 ; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_WritePersistenceLossImminent : _SCM_PD_OPERATIONAL_STATUS_REASON = 18 ; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_MediaRemainingSpareBlock: _SCM_PD_OPERATIONAL_STATUS_REASON = 19; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_PerformanceDegradation: _SCM_PD_OPERATIONAL_STATUS_REASON = 20; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_ExcessiveTemperature: _SCM_PD_OPERATIONAL_STATUS_REASON = 21; pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_Max: _SCM_PD_OPERATIONAL_STATUS_REASON = 22; pub type _SCM_PD_OPERATIONAL_STATUS_REASON = ::std::os::raw::c_int; pub use self::_SCM_PD_OPERATIONAL_STATUS_REASON as SCM_PD_OPERATIONAL_STATUS_REASON; pub type PSCM_PD_OPERATIONAL_STATUS_REASON = *mut _SCM_PD_OPERATIONAL_STATUS_REASON; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _SCM_PD_MANAGEMENT_STATUS { pub Version: DWORD, pub Size: DWORD, pub Health: SCM_PD_HEALTH_STATUS, pub NumberOfOperationalStatus: DWORD, pub NumberOfAdditionalReasons: DWORD, pub OperationalStatus: [SCM_PD_OPERATIONAL_STATUS; 16usize], pub AdditionalReasons: [SCM_PD_OPERATIONAL_STATUS_REASON; 1usize], } #[test] fn bindgen_test_layout__SCM_PD_MANAGEMENT_STATUS() { 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::null::<_SCM_PD_MANAGEMENT_STATUS>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_MANAGEMENT_STATUS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_MANAGEMENT_STATUS>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_MANAGEMENT_STATUS), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_MANAGEMENT_STATUS>())).Health as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_PD_MANAGEMENT_STATUS), "::", stringify!(Health) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_MANAGEMENT_STATUS>())).NumberOfOperationalStatus as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SCM_PD_MANAGEMENT_STATUS), "::", stringify!(NumberOfOperationalStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_MANAGEMENT_STATUS>())).NumberOfAdditionalReasons as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SCM_PD_MANAGEMENT_STATUS), "::", stringify!(NumberOfAdditionalReasons) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_MANAGEMENT_STATUS>())).OperationalStatus as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_SCM_PD_MANAGEMENT_STATUS), "::", stringify!(OperationalStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_MANAGEMENT_STATUS>())).AdditionalReasons as *const _ 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() { 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::null::<_SCM_PD_LOCATION_STRING>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_LOCATION_STRING), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_LOCATION_STRING>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_LOCATION_STRING), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_LOCATION_STRING>())).Location as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_PD_LOCATION_STRING), "::", stringify!(Location) ) ); } pub type SCM_PD_LOCATION_STRING = _SCM_PD_LOCATION_STRING; pub type PSCM_PD_LOCATION_STRING = *mut _SCM_PD_LOCATION_STRING; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _SCM_PD_FIRMWARE_DOWNLOAD { pub Version: DWORD, pub Size: DWORD, pub Flags: DWORD, pub Slot: BYTE, pub Reserved: [BYTE; 3usize], pub Offset: DWORD64, pub FirmwareImageSizeInBytes: DWORD, pub FirmwareImage: [BYTE; 1usize], } #[test] fn bindgen_test_layout__SCM_PD_FIRMWARE_DOWNLOAD() { 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::null::<_SCM_PD_FIRMWARE_DOWNLOAD>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_DOWNLOAD>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_DOWNLOAD>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_DOWNLOAD>())).Slot as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), "::", stringify!(Slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_DOWNLOAD>())).Reserved as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_DOWNLOAD>())).Offset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_DOWNLOAD>())).FirmwareImageSizeInBytes as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), "::", stringify!(FirmwareImageSizeInBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_DOWNLOAD>())).FirmwareImage as *const _ 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() { 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::null::<_SCM_PD_FIRMWARE_ACTIVATE>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_ACTIVATE), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_ACTIVATE>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_ACTIVATE), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_ACTIVATE>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_ACTIVATE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_FIRMWARE_ACTIVATE>())).Slot as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SCM_PD_FIRMWARE_ACTIVATE), "::", stringify!(Slot) ) ); } pub type SCM_PD_FIRMWARE_ACTIVATE = _SCM_PD_FIRMWARE_ACTIVATE; pub type PSCM_PD_FIRMWARE_ACTIVATE = *mut _SCM_PD_FIRMWARE_ACTIVATE; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _SCM_PD_PASSTHROUGH_INPUT { pub Version: DWORD, pub Size: DWORD, pub ProtocolGuid: GUID, pub DataSize: DWORD, pub Data: [BYTE; 1usize], } #[test] fn bindgen_test_layout__SCM_PD_PASSTHROUGH_INPUT() { 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::null::<_SCM_PD_PASSTHROUGH_INPUT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PASSTHROUGH_INPUT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PASSTHROUGH_INPUT>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PASSTHROUGH_INPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PASSTHROUGH_INPUT>())).ProtocolGuid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PASSTHROUGH_INPUT), "::", stringify!(ProtocolGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PASSTHROUGH_INPUT>())).DataSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PASSTHROUGH_INPUT), "::", stringify!(DataSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PASSTHROUGH_INPUT>())).Data as *const _ 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() { 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::null::<_SCM_PD_PASSTHROUGH_OUTPUT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PASSTHROUGH_OUTPUT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PASSTHROUGH_OUTPUT>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PASSTHROUGH_OUTPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PASSTHROUGH_OUTPUT>())).ProtocolGuid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PASSTHROUGH_OUTPUT), "::", stringify!(ProtocolGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PASSTHROUGH_OUTPUT>())).DataSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PASSTHROUGH_OUTPUT), "::", stringify!(DataSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PASSTHROUGH_OUTPUT>())).Data as *const _ 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() { 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::null::<_SCM_PD_PASSTHROUGH_INVDIMM_INPUT>())).Opcode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_INPUT), "::", stringify!(Opcode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PASSTHROUGH_INVDIMM_INPUT>())).OpcodeParametersLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_INPUT), "::", stringify!(OpcodeParametersLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PASSTHROUGH_INVDIMM_INPUT>())).OpcodeParameters as *const _ 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() { 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::null::<_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT>())).GeneralStatus as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT), "::", stringify!(GeneralStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT>())).ExtendedStatus as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT), "::", stringify!(ExtendedStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT>())).OutputDataLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT), "::", stringify!(OutputDataLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT>())).OutputData as *const _ 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_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, 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], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = 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() { 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::null::<_SCM_PD_REINITIALIZE_MEDIA_INPUT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_REINITIALIZE_MEDIA_INPUT>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_REINITIALIZE_MEDIA_INPUT>())).Options as *const _ 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() { 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::null::<_SCM_PD_REINITIALIZE_MEDIA_OUTPUT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCM_PD_REINITIALIZE_MEDIA_OUTPUT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_REINITIALIZE_MEDIA_OUTPUT>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCM_PD_REINITIALIZE_MEDIA_OUTPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCM_PD_REINITIALIZE_MEDIA_OUTPUT>())).Status as *const _ 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() { 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::null::<_FORMAT_PARAMETERS>())).MediaType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FORMAT_PARAMETERS), "::", stringify!(MediaType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORMAT_PARAMETERS>())).StartCylinderNumber as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FORMAT_PARAMETERS), "::", stringify!(StartCylinderNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORMAT_PARAMETERS>())).EndCylinderNumber as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FORMAT_PARAMETERS), "::", stringify!(EndCylinderNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORMAT_PARAMETERS>())).StartHeadNumber as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_FORMAT_PARAMETERS), "::", stringify!(StartHeadNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORMAT_PARAMETERS>())).EndHeadNumber as *const _ 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() { 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::null::<_FORMAT_EX_PARAMETERS>())).MediaType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FORMAT_EX_PARAMETERS), "::", stringify!(MediaType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORMAT_EX_PARAMETERS>())).StartCylinderNumber as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FORMAT_EX_PARAMETERS), "::", stringify!(StartCylinderNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORMAT_EX_PARAMETERS>())).EndCylinderNumber as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FORMAT_EX_PARAMETERS), "::", stringify!(EndCylinderNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORMAT_EX_PARAMETERS>())).StartHeadNumber as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_FORMAT_EX_PARAMETERS), "::", stringify!(StartHeadNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORMAT_EX_PARAMETERS>())).EndHeadNumber as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FORMAT_EX_PARAMETERS), "::", stringify!(EndHeadNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORMAT_EX_PARAMETERS>())).FormatGapLength as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_FORMAT_EX_PARAMETERS), "::", stringify!(FormatGapLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORMAT_EX_PARAMETERS>())).SectorsPerTrack as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(_FORMAT_EX_PARAMETERS), "::", stringify!(SectorsPerTrack) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORMAT_EX_PARAMETERS>())).SectorNumber as *const _ 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() { 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::null::<_DISK_GEOMETRY>())).Cylinders as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_GEOMETRY), "::", stringify!(Cylinders) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_GEOMETRY>())).MediaType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DISK_GEOMETRY), "::", stringify!(MediaType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_GEOMETRY>())).TracksPerCylinder as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DISK_GEOMETRY), "::", stringify!(TracksPerCylinder) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_GEOMETRY>())).SectorsPerTrack as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DISK_GEOMETRY), "::", stringify!(SectorsPerTrack) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_GEOMETRY>())).BytesPerSector as *const _ 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() { 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::null::<_PARTITION_INFORMATION>())).StartingOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION), "::", stringify!(StartingOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION>())).PartitionLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION), "::", stringify!(PartitionLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION>())).HiddenSectors as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION), "::", stringify!(HiddenSectors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION>())).PartitionNumber as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION), "::", stringify!(PartitionNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION>())).PartitionType as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION), "::", stringify!(PartitionType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION>())).BootIndicator as *const _ as usize }, 25usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION), "::", stringify!(BootIndicator) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION>())).RecognizedPartition as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION), "::", stringify!(RecognizedPartition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION>())).RewritePartition as *const _ 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() { 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::null::<_SET_PARTITION_INFORMATION>())).PartitionType as *const _ 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() { 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::null::<_DRIVE_LAYOUT_INFORMATION>())).PartitionCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVE_LAYOUT_INFORMATION), "::", stringify!(PartitionCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVE_LAYOUT_INFORMATION>())).Signature as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DRIVE_LAYOUT_INFORMATION), "::", stringify!(Signature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVE_LAYOUT_INFORMATION>())).PartitionEntry as *const _ 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() { 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::null::<_VERIFY_INFORMATION>())).StartingOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_VERIFY_INFORMATION), "::", stringify!(StartingOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VERIFY_INFORMATION>())).Length as *const _ 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() { 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::null::<_REASSIGN_BLOCKS>())).Reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REASSIGN_BLOCKS), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REASSIGN_BLOCKS>())).Count as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_REASSIGN_BLOCKS), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REASSIGN_BLOCKS>())).BlockNumber as *const _ 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() { 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::null::<_REASSIGN_BLOCKS_EX>())).Reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REASSIGN_BLOCKS_EX), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REASSIGN_BLOCKS_EX>())).Count as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_REASSIGN_BLOCKS_EX), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REASSIGN_BLOCKS_EX>())).BlockNumber as *const _ 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(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() { 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::null::<_PARTITION_INFORMATION_GPT>())).PartitionType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION_GPT), "::", stringify!(PartitionType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION_GPT>())).PartitionId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION_GPT), "::", stringify!(PartitionId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION_GPT>())).Attributes as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION_GPT), "::", stringify!(Attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION_GPT>())).Name as *const _ 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() { 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::null::<_PARTITION_INFORMATION_MBR>())).PartitionType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION_MBR), "::", stringify!(PartitionType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION_MBR>())).BootIndicator as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION_MBR), "::", stringify!(BootIndicator) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION_MBR>())).RecognizedPartition as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION_MBR), "::", stringify!(RecognizedPartition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION_MBR>())).HiddenSectors as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION_MBR), "::", stringify!(HiddenSectors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION_MBR>())).PartitionId as *const _ 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, _bindgen_union_align: [u64; 14usize], } #[test] fn bindgen_test_layout__SET_PARTITION_INFORMATION_EX__bindgen_ty_1() { 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::null::<_SET_PARTITION_INFORMATION_EX__bindgen_ty_1>())).Mbr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SET_PARTITION_INFORMATION_EX__bindgen_ty_1), "::", stringify!(Mbr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SET_PARTITION_INFORMATION_EX__bindgen_ty_1>())).Gpt as *const _ 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() { 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::null::<_SET_PARTITION_INFORMATION_EX>())).PartitionStyle as *const _ 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() { 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::null::<_CREATE_DISK_GPT>())).DiskId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CREATE_DISK_GPT), "::", stringify!(DiskId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATE_DISK_GPT>())).MaxPartitionCount as *const _ 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() { 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::null::<_CREATE_DISK_MBR>())).Signature as *const _ 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, _bindgen_union_align: [u32; 5usize], } #[test] fn bindgen_test_layout__CREATE_DISK__bindgen_ty_1() { 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::null::<_CREATE_DISK__bindgen_ty_1>())).Mbr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CREATE_DISK__bindgen_ty_1), "::", stringify!(Mbr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CREATE_DISK__bindgen_ty_1>())).Gpt as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CREATE_DISK__bindgen_ty_1), "::", stringify!(Gpt) ) ); } #[test] fn bindgen_test_layout__CREATE_DISK() { 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::null::<_CREATE_DISK>())).PartitionStyle as *const _ 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() { 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::null::<_GET_LENGTH_INFORMATION>())).Length as *const _ 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, _bindgen_union_align: [u64; 14usize], } #[test] fn bindgen_test_layout__PARTITION_INFORMATION_EX__bindgen_ty_1() { 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::null::<_PARTITION_INFORMATION_EX__bindgen_ty_1>())).Mbr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION_EX__bindgen_ty_1), "::", stringify!(Mbr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION_EX__bindgen_ty_1>())).Gpt as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION_EX__bindgen_ty_1), "::", stringify!(Gpt) ) ); } #[test] fn bindgen_test_layout__PARTITION_INFORMATION_EX() { 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::null::<_PARTITION_INFORMATION_EX>())).PartitionStyle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION_EX), "::", stringify!(PartitionStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION_EX>())).StartingOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION_EX), "::", stringify!(StartingOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION_EX>())).PartitionLength as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION_EX), "::", stringify!(PartitionLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION_EX>())).PartitionNumber as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION_EX), "::", stringify!(PartitionNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION_EX>())).RewritePartition as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_PARTITION_INFORMATION_EX), "::", stringify!(RewritePartition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PARTITION_INFORMATION_EX>())).IsServicePartition as *const _ 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() { 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::null::<_DRIVE_LAYOUT_INFORMATION_GPT>())).DiskId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVE_LAYOUT_INFORMATION_GPT), "::", stringify!(DiskId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVE_LAYOUT_INFORMATION_GPT>())).StartingUsableOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRIVE_LAYOUT_INFORMATION_GPT), "::", stringify!(StartingUsableOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVE_LAYOUT_INFORMATION_GPT>())).UsableLength as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DRIVE_LAYOUT_INFORMATION_GPT), "::", stringify!(UsableLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVE_LAYOUT_INFORMATION_GPT>())).MaxPartitionCount as *const _ 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() { 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::null::<_DRIVE_LAYOUT_INFORMATION_MBR>())).Signature as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVE_LAYOUT_INFORMATION_MBR), "::", stringify!(Signature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVE_LAYOUT_INFORMATION_MBR>())).CheckSum as *const _ 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, _bindgen_union_align: [u64; 5usize], } #[test] fn bindgen_test_layout__DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1() { 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::null::<_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1>())).Mbr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1), "::", stringify!(Mbr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1>())).Gpt as *const _ 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() { 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::null::<_DRIVE_LAYOUT_INFORMATION_EX>())).PartitionStyle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVE_LAYOUT_INFORMATION_EX), "::", stringify!(PartitionStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVE_LAYOUT_INFORMATION_EX>())).PartitionCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DRIVE_LAYOUT_INFORMATION_EX), "::", stringify!(PartitionCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVE_LAYOUT_INFORMATION_EX>())).PartitionEntry as *const _ 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() { 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::null::<_DISK_INT13_INFO>())).DriveSelect as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_INT13_INFO), "::", stringify!(DriveSelect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_INT13_INFO>())).MaxCylinders as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DISK_INT13_INFO), "::", stringify!(MaxCylinders) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_INT13_INFO>())).SectorsPerTrack as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DISK_INT13_INFO), "::", stringify!(SectorsPerTrack) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_INT13_INFO>())).MaxHeads as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_DISK_INT13_INFO), "::", stringify!(MaxHeads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_INT13_INFO>())).NumberDrives as *const _ 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() { 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::null::<_DISK_EX_INT13_INFO>())).ExBufferSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_EX_INT13_INFO), "::", stringify!(ExBufferSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_EX_INT13_INFO>())).ExFlags as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_DISK_EX_INT13_INFO), "::", stringify!(ExFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_EX_INT13_INFO>())).ExCylinders as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DISK_EX_INT13_INFO), "::", stringify!(ExCylinders) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_EX_INT13_INFO>())).ExHeads as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DISK_EX_INT13_INFO), "::", stringify!(ExHeads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_EX_INT13_INFO>())).ExSectorsPerTrack as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DISK_EX_INT13_INFO), "::", stringify!(ExSectorsPerTrack) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_EX_INT13_INFO>())).ExSectorsPerDrive as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DISK_EX_INT13_INFO), "::", stringify!(ExSectorsPerDrive) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_EX_INT13_INFO>())).ExSectorSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DISK_EX_INT13_INFO), "::", stringify!(ExSectorSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_EX_INT13_INFO>())).ExReserved as *const _ 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, _bindgen_union_align: [u64; 6usize], } #[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() { 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::null::<_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1>())).Int13 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Int13) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1>())).ExInt13 as *const _ 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() { 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::null::<_DISK_DETECTION_INFO>())).SizeOfDetectInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_DETECTION_INFO), "::", stringify!(SizeOfDetectInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_DETECTION_INFO>())).DetectionType as *const _ 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, _bindgen_union_align: [u32; 4usize], } #[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() { 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::null::<_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1>())).Signature as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Signature) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1>())).CheckSum as *const _ 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() { 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::null::<_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2>())).DiskId as *const _ 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() { 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::null::<_DISK_PARTITION_INFO__bindgen_ty_1>())).Mbr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_PARTITION_INFO__bindgen_ty_1), "::", stringify!(Mbr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_PARTITION_INFO__bindgen_ty_1>())).Gpt as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_PARTITION_INFO__bindgen_ty_1), "::", stringify!(Gpt) ) ); } #[test] fn bindgen_test_layout__DISK_PARTITION_INFO() { 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::null::<_DISK_PARTITION_INFO>())).SizeOfPartitionInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_PARTITION_INFO), "::", stringify!(SizeOfPartitionInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_PARTITION_INFO>())).PartitionStyle as *const _ 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() { 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::null::<_DISK_GEOMETRY_EX>())).Geometry as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_GEOMETRY_EX), "::", stringify!(Geometry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_GEOMETRY_EX>())).DiskSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DISK_GEOMETRY_EX), "::", stringify!(DiskSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_GEOMETRY_EX>())).Data as *const _ 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() { 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::null::<_DISK_CONTROLLER_NUMBER>())).ControllerNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_CONTROLLER_NUMBER), "::", stringify!(ControllerNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_CONTROLLER_NUMBER>())).DiskNumber as *const _ 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, _bindgen_union_align: [u16; 3usize], } #[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() { 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::null::<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1>())).Minimum as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Minimum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1>())).Maximum as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1), "::", stringify!(Maximum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1>())) .MaximumBlocks as *const _ 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() { 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::null::<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2>())).Minimum as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2), "::", stringify!(Minimum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2>())).Maximum as *const _ 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() { 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::null::<_DISK_CACHE_INFORMATION__bindgen_ty_1>())).ScalarPrefetch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1), "::", stringify!(ScalarPrefetch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_CACHE_INFORMATION__bindgen_ty_1>())).BlockPrefetch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1), "::", stringify!(BlockPrefetch) ) ); } #[test] fn bindgen_test_layout__DISK_CACHE_INFORMATION() { 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::null::<_DISK_CACHE_INFORMATION>())).ParametersSavable as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_CACHE_INFORMATION), "::", stringify!(ParametersSavable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_CACHE_INFORMATION>())).ReadCacheEnabled as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_DISK_CACHE_INFORMATION), "::", stringify!(ReadCacheEnabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_CACHE_INFORMATION>())).WriteCacheEnabled as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_DISK_CACHE_INFORMATION), "::", stringify!(WriteCacheEnabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_CACHE_INFORMATION>())).ReadRetentionPriority as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DISK_CACHE_INFORMATION), "::", stringify!(ReadRetentionPriority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_CACHE_INFORMATION>())).WriteRetentionPriority as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DISK_CACHE_INFORMATION), "::", stringify!(WriteRetentionPriority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_CACHE_INFORMATION>())).DisablePrefetchTransferLength as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_DISK_CACHE_INFORMATION), "::", stringify!(DisablePrefetchTransferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_CACHE_INFORMATION>())).PrefetchScalar as *const _ 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() { 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::null::<_DISK_GROW_PARTITION>())).PartitionNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_GROW_PARTITION), "::", stringify!(PartitionNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_GROW_PARTITION>())).BytesToGrow as *const _ 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() { 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::null::<_HISTOGRAM_BUCKET>())).Reads as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_HISTOGRAM_BUCKET), "::", stringify!(Reads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_HISTOGRAM_BUCKET>())).Writes as *const _ 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() { 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::null::<_DISK_HISTOGRAM>())).DiskSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_HISTOGRAM), "::", stringify!(DiskSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_HISTOGRAM>())).Start as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DISK_HISTOGRAM), "::", stringify!(Start) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_HISTOGRAM>())).End as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DISK_HISTOGRAM), "::", stringify!(End) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_HISTOGRAM>())).Average as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DISK_HISTOGRAM), "::", stringify!(Average) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_HISTOGRAM>())).AverageRead as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DISK_HISTOGRAM), "::", stringify!(AverageRead) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_HISTOGRAM>())).AverageWrite as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_DISK_HISTOGRAM), "::", stringify!(AverageWrite) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_HISTOGRAM>())).Granularity as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_DISK_HISTOGRAM), "::", stringify!(Granularity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_HISTOGRAM>())).Size as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_DISK_HISTOGRAM), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_HISTOGRAM>())).ReadCount as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_DISK_HISTOGRAM), "::", stringify!(ReadCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_HISTOGRAM>())).WriteCount as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_DISK_HISTOGRAM), "::", stringify!(WriteCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_HISTOGRAM>())).Histogram as *const _ 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() { 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::null::<_DISK_PERFORMANCE>())).BytesRead as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_PERFORMANCE), "::", stringify!(BytesRead) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_PERFORMANCE>())).BytesWritten as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DISK_PERFORMANCE), "::", stringify!(BytesWritten) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_PERFORMANCE>())).ReadTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DISK_PERFORMANCE), "::", stringify!(ReadTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_PERFORMANCE>())).WriteTime as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DISK_PERFORMANCE), "::", stringify!(WriteTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_PERFORMANCE>())).IdleTime as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DISK_PERFORMANCE), "::", stringify!(IdleTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_PERFORMANCE>())).ReadCount as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_DISK_PERFORMANCE), "::", stringify!(ReadCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_PERFORMANCE>())).WriteCount as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_DISK_PERFORMANCE), "::", stringify!(WriteCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_PERFORMANCE>())).QueueDepth as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_DISK_PERFORMANCE), "::", stringify!(QueueDepth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_PERFORMANCE>())).SplitCount as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_DISK_PERFORMANCE), "::", stringify!(SplitCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_PERFORMANCE>())).QueryTime as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_DISK_PERFORMANCE), "::", stringify!(QueryTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_PERFORMANCE>())).StorageDeviceNumber as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_DISK_PERFORMANCE), "::", stringify!(StorageDeviceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_PERFORMANCE>())).StorageManagerName as *const _ 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() { 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::null::<_DISK_RECORD>())).ByteOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_RECORD), "::", stringify!(ByteOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_RECORD>())).StartTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DISK_RECORD), "::", stringify!(StartTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_RECORD>())).EndTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DISK_RECORD), "::", stringify!(EndTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_RECORD>())).VirtualAddress as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DISK_RECORD), "::", stringify!(VirtualAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_RECORD>())).NumberOfBytes as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DISK_RECORD), "::", stringify!(NumberOfBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_RECORD>())).DeviceNumber as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_DISK_RECORD), "::", stringify!(DeviceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_RECORD>())).ReadRequest as *const _ 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() { 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::null::<_DISK_LOGGING>())).Function as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_LOGGING), "::", stringify!(Function) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_LOGGING>())).BufferAddress as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DISK_LOGGING), "::", stringify!(BufferAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_LOGGING>())).BufferSize as *const _ 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() { 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::null::<_BIN_RANGE>())).StartValue as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BIN_RANGE), "::", stringify!(StartValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIN_RANGE>())).Length as *const _ 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() { 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::null::<_PERF_BIN>())).NumberOfBins as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PERF_BIN), "::", stringify!(NumberOfBins) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_BIN>())).TypeOfBin as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PERF_BIN), "::", stringify!(TypeOfBin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PERF_BIN>())).BinsRanges as *const _ 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() { 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::null::<_BIN_COUNT>())).BinRange as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BIN_COUNT), "::", stringify!(BinRange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIN_COUNT>())).BinCount as *const _ 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() { 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::null::<_BIN_RESULTS>())).NumberOfBins as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BIN_RESULTS), "::", stringify!(NumberOfBins) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIN_RESULTS>())).BinCounts as *const _ 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() { 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::null::<_GETVERSIONINPARAMS>())).bVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GETVERSIONINPARAMS), "::", stringify!(bVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GETVERSIONINPARAMS>())).bRevision as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_GETVERSIONINPARAMS), "::", stringify!(bRevision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GETVERSIONINPARAMS>())).bReserved as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_GETVERSIONINPARAMS), "::", stringify!(bReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GETVERSIONINPARAMS>())).bIDEDeviceMap as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(_GETVERSIONINPARAMS), "::", stringify!(bIDEDeviceMap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GETVERSIONINPARAMS>())).fCapabilities as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_GETVERSIONINPARAMS), "::", stringify!(fCapabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GETVERSIONINPARAMS>())).dwReserved as *const _ 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() { 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::null::<_IDEREGS>())).bFeaturesReg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IDEREGS), "::", stringify!(bFeaturesReg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IDEREGS>())).bSectorCountReg as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_IDEREGS), "::", stringify!(bSectorCountReg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IDEREGS>())).bSectorNumberReg as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_IDEREGS), "::", stringify!(bSectorNumberReg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IDEREGS>())).bCylLowReg as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(_IDEREGS), "::", stringify!(bCylLowReg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IDEREGS>())).bCylHighReg as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_IDEREGS), "::", stringify!(bCylHighReg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IDEREGS>())).bDriveHeadReg as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(_IDEREGS), "::", stringify!(bDriveHeadReg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IDEREGS>())).bCommandReg as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_IDEREGS), "::", stringify!(bCommandReg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IDEREGS>())).bReserved as *const _ 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() { 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::null::<_SENDCMDINPARAMS>())).cBufferSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SENDCMDINPARAMS), "::", stringify!(cBufferSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SENDCMDINPARAMS>())).irDriveRegs as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SENDCMDINPARAMS), "::", stringify!(irDriveRegs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SENDCMDINPARAMS>())).bDriveNumber as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SENDCMDINPARAMS), "::", stringify!(bDriveNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SENDCMDINPARAMS>())).bReserved as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(_SENDCMDINPARAMS), "::", stringify!(bReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SENDCMDINPARAMS>())).dwReserved as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SENDCMDINPARAMS), "::", stringify!(dwReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SENDCMDINPARAMS>())).bBuffer as *const _ 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() { 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::null::<_DRIVERSTATUS>())).bDriverError as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVERSTATUS), "::", stringify!(bDriverError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVERSTATUS>())).bIDEError as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_DRIVERSTATUS), "::", stringify!(bIDEError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVERSTATUS>())).bReserved as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_DRIVERSTATUS), "::", stringify!(bReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVERSTATUS>())).dwReserved as *const _ 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() { 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::null::<_SENDCMDOUTPARAMS>())).cBufferSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SENDCMDOUTPARAMS), "::", stringify!(cBufferSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SENDCMDOUTPARAMS>())).DriverStatus as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SENDCMDOUTPARAMS), "::", stringify!(DriverStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SENDCMDOUTPARAMS>())).bBuffer as *const _ 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() { 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::null::<_GET_DISK_ATTRIBUTES>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GET_DISK_ATTRIBUTES), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_DISK_ATTRIBUTES>())).Reserved1 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_GET_DISK_ATTRIBUTES), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_DISK_ATTRIBUTES>())).Attributes as *const _ 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() { 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::null::<_SET_DISK_ATTRIBUTES>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SET_DISK_ATTRIBUTES), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SET_DISK_ATTRIBUTES>())).Persist as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SET_DISK_ATTRIBUTES), "::", stringify!(Persist) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SET_DISK_ATTRIBUTES>())).Reserved1 as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(_SET_DISK_ATTRIBUTES), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SET_DISK_ATTRIBUTES>())).Attributes as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SET_DISK_ATTRIBUTES), "::", stringify!(Attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SET_DISK_ATTRIBUTES>())).AttributesMask as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SET_DISK_ATTRIBUTES), "::", stringify!(AttributesMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SET_DISK_ATTRIBUTES>())).Reserved2 as *const _ 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() { 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::null::<_CHANGER_ELEMENT>())).ElementType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT), "::", stringify!(ElementType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT>())).ElementAddress as *const _ 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() { 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::null::<_CHANGER_ELEMENT_LIST>())).Element as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_LIST), "::", stringify!(Element) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_LIST>())).NumberOfElements as *const _ 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() { 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::null::<_GET_CHANGER_PARAMETERS>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).NumberTransportElements as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(NumberTransportElements) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).NumberStorageElements as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(NumberStorageElements) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).NumberCleanerSlots as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(NumberCleanerSlots) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).NumberIEElements as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(NumberIEElements) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).NumberDataTransferElements as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(NumberDataTransferElements) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).NumberOfDoors as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(NumberOfDoors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).FirstSlotNumber as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(FirstSlotNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).FirstDriveNumber as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(FirstDriveNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).FirstTransportNumber as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(FirstTransportNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).FirstIEPortNumber as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(FirstIEPortNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).FirstCleanerSlotAddress as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(FirstCleanerSlotAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).MagazineSize as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(MagazineSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).DriveCleanTimeout as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(DriveCleanTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).Features0 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(Features0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).Features1 as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(Features1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).MoveFromTransport as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(MoveFromTransport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).MoveFromSlot as *const _ as usize }, 41usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(MoveFromSlot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).MoveFromIePort as *const _ as usize }, 42usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(MoveFromIePort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).MoveFromDrive as *const _ as usize }, 43usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(MoveFromDrive) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).ExchangeFromTransport as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(ExchangeFromTransport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).ExchangeFromSlot as *const _ as usize }, 45usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(ExchangeFromSlot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).ExchangeFromIePort as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(ExchangeFromIePort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).ExchangeFromDrive as *const _ as usize }, 47usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(ExchangeFromDrive) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).LockUnlockCapabilities as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(LockUnlockCapabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).PositionCapabilities as *const _ as usize }, 49usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(PositionCapabilities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).Reserved1 as *const _ as usize }, 50usize, concat!( "Offset of field: ", stringify!(_GET_CHANGER_PARAMETERS), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_CHANGER_PARAMETERS>())).Reserved2 as *const _ 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() { 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::null::<_CHANGER_PRODUCT_DATA>())).VendorId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CHANGER_PRODUCT_DATA), "::", stringify!(VendorId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_PRODUCT_DATA>())).ProductId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CHANGER_PRODUCT_DATA), "::", stringify!(ProductId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_PRODUCT_DATA>())).Revision as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CHANGER_PRODUCT_DATA), "::", stringify!(Revision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_PRODUCT_DATA>())).SerialNumber as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_CHANGER_PRODUCT_DATA), "::", stringify!(SerialNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_PRODUCT_DATA>())).DeviceType as *const _ 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() { 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::null::<_CHANGER_SET_ACCESS>())).Element as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CHANGER_SET_ACCESS), "::", stringify!(Element) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_SET_ACCESS>())).Control as *const _ 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() { 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::null::<_CHANGER_READ_ELEMENT_STATUS>())).ElementList as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CHANGER_READ_ELEMENT_STATUS), "::", stringify!(ElementList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_READ_ELEMENT_STATUS>())).VolumeTagInfo as *const _ 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(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() { 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::null::<_CHANGER_ELEMENT_STATUS>())).Element as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS), "::", stringify!(Element) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS>())).SrcElementAddress as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS), "::", stringify!(SrcElementAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS>())).Flags as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS>())).ExceptionCode as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS), "::", stringify!(ExceptionCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS>())).TargetId as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS), "::", stringify!(TargetId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS>())).Lun as *const _ as usize }, 25usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS), "::", stringify!(Lun) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS>())).Reserved as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS>())).PrimaryVolumeID as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS), "::", stringify!(PrimaryVolumeID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS>())).AlternateVolumeID as *const _ 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(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() { 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::null::<_CHANGER_ELEMENT_STATUS_EX>())).Element as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS_EX), "::", stringify!(Element) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS_EX>())).SrcElementAddress as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS_EX), "::", stringify!(SrcElementAddress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS_EX>())).Flags as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS_EX), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS_EX>())).ExceptionCode as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS_EX), "::", stringify!(ExceptionCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS_EX>())).TargetId as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS_EX), "::", stringify!(TargetId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS_EX>())).Lun as *const _ as usize }, 25usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS_EX), "::", stringify!(Lun) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS_EX>())).Reserved as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS_EX), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS_EX>())).PrimaryVolumeID as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS_EX), "::", stringify!(PrimaryVolumeID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS_EX>())).AlternateVolumeID as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS_EX), "::", stringify!(AlternateVolumeID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS_EX>())).VendorIdentification as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS_EX), "::", stringify!(VendorIdentification) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS_EX>())).ProductIdentification as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_CHANGER_ELEMENT_STATUS_EX), "::", stringify!(ProductIdentification) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_ELEMENT_STATUS_EX>())).SerialNumber as *const _ 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() { 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::null::<_CHANGER_INITIALIZE_ELEMENT_STATUS>())).ElementList as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CHANGER_INITIALIZE_ELEMENT_STATUS), "::", stringify!(ElementList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_INITIALIZE_ELEMENT_STATUS>())).BarCodeScan as *const _ 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() { 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::null::<_CHANGER_SET_POSITION>())).Transport as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CHANGER_SET_POSITION), "::", stringify!(Transport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_SET_POSITION>())).Destination as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CHANGER_SET_POSITION), "::", stringify!(Destination) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_SET_POSITION>())).Flip as *const _ 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() { 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::null::<_CHANGER_EXCHANGE_MEDIUM>())).Transport as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CHANGER_EXCHANGE_MEDIUM), "::", stringify!(Transport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_EXCHANGE_MEDIUM>())).Source as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CHANGER_EXCHANGE_MEDIUM), "::", stringify!(Source) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_EXCHANGE_MEDIUM>())).Destination1 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CHANGER_EXCHANGE_MEDIUM), "::", stringify!(Destination1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_EXCHANGE_MEDIUM>())).Destination2 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CHANGER_EXCHANGE_MEDIUM), "::", stringify!(Destination2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_EXCHANGE_MEDIUM>())).Flip1 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_CHANGER_EXCHANGE_MEDIUM), "::", stringify!(Flip1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_EXCHANGE_MEDIUM>())).Flip2 as *const _ 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() { 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::null::<_CHANGER_MOVE_MEDIUM>())).Transport as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CHANGER_MOVE_MEDIUM), "::", stringify!(Transport) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_MOVE_MEDIUM>())).Source as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CHANGER_MOVE_MEDIUM), "::", stringify!(Source) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_MOVE_MEDIUM>())).Destination as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CHANGER_MOVE_MEDIUM), "::", stringify!(Destination) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_MOVE_MEDIUM>())).Flip as *const _ 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(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() { 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::null::<_CHANGER_SEND_VOLUME_TAG_INFORMATION>())).StartingElement as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CHANGER_SEND_VOLUME_TAG_INFORMATION), "::", stringify!(StartingElement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_SEND_VOLUME_TAG_INFORMATION>())).ActionCode as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CHANGER_SEND_VOLUME_TAG_INFORMATION), "::", stringify!(ActionCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CHANGER_SEND_VOLUME_TAG_INFORMATION>())).VolumeIDTemplate as *const _ 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(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() { 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::null::<_READ_ELEMENT_ADDRESS_INFO>())).NumberOfElements as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_READ_ELEMENT_ADDRESS_INFO), "::", stringify!(NumberOfElements) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_READ_ELEMENT_ADDRESS_INFO>())).ElementStatus as *const _ 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() { 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::null::<_PATHNAME_BUFFER>())).PathNameLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PATHNAME_BUFFER), "::", stringify!(PathNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PATHNAME_BUFFER>())).Name as *const _ 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(Copy, Clone)] pub struct _FSCTL_QUERY_FAT_BPB_BUFFER { pub First0x24BytesOfBootSector: [BYTE; 36usize], } #[test] fn bindgen_test_layout__FSCTL_QUERY_FAT_BPB_BUFFER() { 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::null::<_FSCTL_QUERY_FAT_BPB_BUFFER>())).First0x24BytesOfBootSector as *const _ 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() { 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::null::())).VolumeSerialNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(NTFS_VOLUME_DATA_BUFFER), "::", stringify!(VolumeSerialNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NumberSectors as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(NTFS_VOLUME_DATA_BUFFER), "::", stringify!(NumberSectors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TotalClusters as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(NTFS_VOLUME_DATA_BUFFER), "::", stringify!(TotalClusters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FreeClusters as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(NTFS_VOLUME_DATA_BUFFER), "::", stringify!(FreeClusters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TotalReserved as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(NTFS_VOLUME_DATA_BUFFER), "::", stringify!(TotalReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BytesPerSector as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(NTFS_VOLUME_DATA_BUFFER), "::", stringify!(BytesPerSector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BytesPerCluster as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(NTFS_VOLUME_DATA_BUFFER), "::", stringify!(BytesPerCluster) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BytesPerFileRecordSegment as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(NTFS_VOLUME_DATA_BUFFER), "::", stringify!(BytesPerFileRecordSegment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClustersPerFileRecordSegment as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(NTFS_VOLUME_DATA_BUFFER), "::", stringify!(ClustersPerFileRecordSegment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MftValidDataLength as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(NTFS_VOLUME_DATA_BUFFER), "::", stringify!(MftValidDataLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MftStartLcn as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(NTFS_VOLUME_DATA_BUFFER), "::", stringify!(MftStartLcn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Mft2StartLcn as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(NTFS_VOLUME_DATA_BUFFER), "::", stringify!(Mft2StartLcn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MftZoneStart as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(NTFS_VOLUME_DATA_BUFFER), "::", stringify!(MftZoneStart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MftZoneEnd as *const _ 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() { 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::null::())).ByteCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(NTFS_EXTENDED_VOLUME_DATA), "::", stringify!(ByteCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MajorVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(NTFS_EXTENDED_VOLUME_DATA), "::", stringify!(MajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinorVersion as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(NTFS_EXTENDED_VOLUME_DATA), "::", stringify!(MinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BytesPerPhysicalSector as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(NTFS_EXTENDED_VOLUME_DATA), "::", stringify!(BytesPerPhysicalSector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LfsMajorVersion as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(NTFS_EXTENDED_VOLUME_DATA), "::", stringify!(LfsMajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LfsMinorVersion as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(NTFS_EXTENDED_VOLUME_DATA), "::", stringify!(LfsMinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxDeviceTrimExtentCount as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(NTFS_EXTENDED_VOLUME_DATA), "::", stringify!(MaxDeviceTrimExtentCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxDeviceTrimByteCount as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(NTFS_EXTENDED_VOLUME_DATA), "::", stringify!(MaxDeviceTrimByteCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxVolumeTrimExtentCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(NTFS_EXTENDED_VOLUME_DATA), "::", stringify!(MaxVolumeTrimExtentCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxVolumeTrimByteCount as *const _ 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 Reserved: [LARGE_INTEGER; 10usize], } #[test] fn bindgen_test_layout_REFS_VOLUME_DATA_BUFFER() { 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::null::())).ByteCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(REFS_VOLUME_DATA_BUFFER), "::", stringify!(ByteCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MajorVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(REFS_VOLUME_DATA_BUFFER), "::", stringify!(MajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinorVersion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(REFS_VOLUME_DATA_BUFFER), "::", stringify!(MinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BytesPerPhysicalSector as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(REFS_VOLUME_DATA_BUFFER), "::", stringify!(BytesPerPhysicalSector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).VolumeSerialNumber as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(REFS_VOLUME_DATA_BUFFER), "::", stringify!(VolumeSerialNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NumberSectors as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(REFS_VOLUME_DATA_BUFFER), "::", stringify!(NumberSectors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TotalClusters as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(REFS_VOLUME_DATA_BUFFER), "::", stringify!(TotalClusters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FreeClusters as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(REFS_VOLUME_DATA_BUFFER), "::", stringify!(FreeClusters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TotalReserved as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(REFS_VOLUME_DATA_BUFFER), "::", stringify!(TotalReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BytesPerSector as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(REFS_VOLUME_DATA_BUFFER), "::", stringify!(BytesPerSector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BytesPerCluster as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(REFS_VOLUME_DATA_BUFFER), "::", stringify!(BytesPerCluster) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaximumSizeOfResidentFile as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(REFS_VOLUME_DATA_BUFFER), "::", stringify!(MaximumSizeOfResidentFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reserved as *const _ as usize }, 72usize, 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() { 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::null::())).StartingLcn as *const _ 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() { 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::null::())).StartingLcn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(STARTING_LCN_INPUT_BUFFER_EX), "::", stringify!(StartingLcn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ 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() { 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::null::())).StartingLcn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(VOLUME_BITMAP_BUFFER), "::", stringify!(StartingLcn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BitmapSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(VOLUME_BITMAP_BUFFER), "::", stringify!(BitmapSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Buffer as *const _ 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() { 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::null::())).StartingVcn as *const _ 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() { 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::null::())).NextVcn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1), "::", stringify!(NextVcn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Lcn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1), "::", stringify!(Lcn) ) ); } #[test] fn bindgen_test_layout_RETRIEVAL_POINTERS_BUFFER() { 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::null::())).ExtentCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(RETRIEVAL_POINTERS_BUFFER), "::", stringify!(ExtentCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).StartingVcn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(RETRIEVAL_POINTERS_BUFFER), "::", stringify!(StartingVcn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Extents as *const _ 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() { 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::null::())).NextVcn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1), "::", stringify!(NextVcn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Lcn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1), "::", stringify!(Lcn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .ReferenceCount as *const _ 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() { 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::null::())).ExtentCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER), "::", stringify!(ExtentCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).StartingVcn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER), "::", stringify!(StartingVcn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Extents as *const _ 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() { 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::null::())).ExtentCount as *const _ 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() { 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::null::())).FileReferenceNumber as *const _ 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() { 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::null::())).FileReferenceNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(NTFS_FILE_RECORD_OUTPUT_BUFFER), "::", stringify!(FileReferenceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileRecordLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(NTFS_FILE_RECORD_OUTPUT_BUFFER), "::", stringify!(FileRecordLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileRecordBuffer as *const _ 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() { 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::null::())).FileHandle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(MOVE_FILE_DATA), "::", stringify!(FileHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).StartingVcn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(MOVE_FILE_DATA), "::", stringify!(StartingVcn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).StartingLcn as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(MOVE_FILE_DATA), "::", stringify!(StartingLcn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClusterCount as *const _ 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() { 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::null::())).FileHandle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(MOVE_FILE_RECORD_DATA), "::", stringify!(FileHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SourceFileRecord as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(MOVE_FILE_RECORD_DATA), "::", stringify!(SourceFileRecord) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TargetFileRecord as *const _ 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() { 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::null::<_MOVE_FILE_DATA32>())).FileHandle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MOVE_FILE_DATA32), "::", stringify!(FileHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MOVE_FILE_DATA32>())).StartingVcn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MOVE_FILE_DATA32), "::", stringify!(StartingVcn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MOVE_FILE_DATA32>())).StartingLcn as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MOVE_FILE_DATA32), "::", stringify!(StartingLcn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MOVE_FILE_DATA32>())).ClusterCount as *const _ 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() { 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::null::())).Restart as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(FIND_BY_SID_DATA), "::", stringify!(Restart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Sid as *const _ 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() { 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::null::())).NextEntryOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(FIND_BY_SID_OUTPUT), "::", stringify!(NextEntryOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileIndex as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(FIND_BY_SID_OUTPUT), "::", stringify!(FileIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileNameLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(FIND_BY_SID_OUTPUT), "::", stringify!(FileNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileName as *const _ 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() { 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::null::())).StartFileReferenceNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(MFT_ENUM_DATA_V0), "::", stringify!(StartFileReferenceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LowUsn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(MFT_ENUM_DATA_V0), "::", stringify!(LowUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).HighUsn as *const _ 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() { 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::null::())).StartFileReferenceNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(MFT_ENUM_DATA_V1), "::", stringify!(StartFileReferenceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LowUsn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(MFT_ENUM_DATA_V1), "::", stringify!(LowUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).HighUsn as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(MFT_ENUM_DATA_V1), "::", stringify!(HighUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinMajorVersion as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(MFT_ENUM_DATA_V1), "::", stringify!(MinMajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxMajorVersion as *const _ 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() { 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::null::())).MaximumSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(CREATE_USN_JOURNAL_DATA), "::", stringify!(MaximumSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AllocationDelta as *const _ 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() { 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::null::())).MinMajorVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(READ_FILE_USN_DATA), "::", stringify!(MinMajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxMajorVersion as *const _ 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() { 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::null::())).StartUsn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(READ_USN_JOURNAL_DATA_V0), "::", stringify!(StartUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReasonMask as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(READ_USN_JOURNAL_DATA_V0), "::", stringify!(ReasonMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReturnOnlyOnClose as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(READ_USN_JOURNAL_DATA_V0), "::", stringify!(ReturnOnlyOnClose) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Timeout as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(READ_USN_JOURNAL_DATA_V0), "::", stringify!(Timeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BytesToWaitFor as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(READ_USN_JOURNAL_DATA_V0), "::", stringify!(BytesToWaitFor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UsnJournalID as *const _ 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() { 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::null::())).StartUsn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(READ_USN_JOURNAL_DATA_V1), "::", stringify!(StartUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReasonMask as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(READ_USN_JOURNAL_DATA_V1), "::", stringify!(ReasonMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReturnOnlyOnClose as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(READ_USN_JOURNAL_DATA_V1), "::", stringify!(ReturnOnlyOnClose) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Timeout as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(READ_USN_JOURNAL_DATA_V1), "::", stringify!(Timeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BytesToWaitFor as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(READ_USN_JOURNAL_DATA_V1), "::", stringify!(BytesToWaitFor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UsnJournalID as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(READ_USN_JOURNAL_DATA_V1), "::", stringify!(UsnJournalID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinMajorVersion as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(READ_USN_JOURNAL_DATA_V1), "::", stringify!(MinMajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxMajorVersion as *const _ 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() { 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::null::())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(USN_TRACK_MODIFIED_RANGES), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Unused as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(USN_TRACK_MODIFIED_RANGES), "::", stringify!(Unused) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ChunkSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(USN_TRACK_MODIFIED_RANGES), "::", stringify!(ChunkSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileSizeThreshold as *const _ 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() { 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::null::())).Usn as *const _ 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() { 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::null::())).RecordLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V2), "::", stringify!(RecordLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MajorVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V2), "::", stringify!(MajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinorVersion as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V2), "::", stringify!(MinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileReferenceNumber as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V2), "::", stringify!(FileReferenceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ParentFileReferenceNumber as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V2), "::", stringify!(ParentFileReferenceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Usn as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V2), "::", stringify!(Usn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TimeStamp as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V2), "::", stringify!(TimeStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reason as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V2), "::", stringify!(Reason) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SourceInfo as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V2), "::", stringify!(SourceInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SecurityId as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V2), "::", stringify!(SecurityId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileAttributes as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V2), "::", stringify!(FileAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileNameLength as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V2), "::", stringify!(FileNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileNameOffset as *const _ as usize }, 58usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V2), "::", stringify!(FileNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileName as *const _ 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() { 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::null::())).RecordLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V3), "::", stringify!(RecordLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MajorVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V3), "::", stringify!(MajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinorVersion as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V3), "::", stringify!(MinorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileReferenceNumber as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V3), "::", stringify!(FileReferenceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ParentFileReferenceNumber as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V3), "::", stringify!(ParentFileReferenceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Usn as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V3), "::", stringify!(Usn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TimeStamp as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V3), "::", stringify!(TimeStamp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reason as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V3), "::", stringify!(Reason) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SourceInfo as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V3), "::", stringify!(SourceInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SecurityId as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V3), "::", stringify!(SecurityId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileAttributes as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V3), "::", stringify!(FileAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileNameLength as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V3), "::", stringify!(FileNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileNameOffset as *const _ as usize }, 74usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V3), "::", stringify!(FileNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileName as *const _ 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() { 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::null::())).RecordLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(USN_RECORD_COMMON_HEADER), "::", stringify!(RecordLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MajorVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(USN_RECORD_COMMON_HEADER), "::", stringify!(MajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinorVersion as *const _ 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() { 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::null::())).Offset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(USN_RECORD_EXTENT), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Length as *const _ 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() { 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::null::())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V4), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FileReferenceNumber as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V4), "::", stringify!(FileReferenceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ParentFileReferenceNumber as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V4), "::", stringify!(ParentFileReferenceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Usn as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V4), "::", stringify!(Usn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reason as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V4), "::", stringify!(Reason) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SourceInfo as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V4), "::", stringify!(SourceInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RemainingExtents as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V4), "::", stringify!(RemainingExtents) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NumberOfExtents as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V4), "::", stringify!(NumberOfExtents) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ExtentSize as *const _ as usize }, 62usize, concat!( "Offset of field: ", stringify!(USN_RECORD_V4), "::", stringify!(ExtentSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Extents as *const _ 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, _bindgen_union_align: [u64; 10usize], } #[test] fn bindgen_test_layout_USN_RECORD_UNION() { 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::null::())).Header as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(USN_RECORD_UNION), "::", stringify!(Header) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).V2 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(USN_RECORD_UNION), "::", stringify!(V2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).V3 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(USN_RECORD_UNION), "::", stringify!(V3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).V4 as *const _ 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() { 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::null::())).UsnJournalID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V0), "::", stringify!(UsnJournalID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FirstUsn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V0), "::", stringify!(FirstUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NextUsn as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V0), "::", stringify!(NextUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LowestValidUsn as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V0), "::", stringify!(LowestValidUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxUsn as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V0), "::", stringify!(MaxUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaximumSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V0), "::", stringify!(MaximumSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AllocationDelta as *const _ 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() { 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::null::())).UsnJournalID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V1), "::", stringify!(UsnJournalID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FirstUsn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V1), "::", stringify!(FirstUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NextUsn as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V1), "::", stringify!(NextUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LowestValidUsn as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V1), "::", stringify!(LowestValidUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxUsn as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V1), "::", stringify!(MaxUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaximumSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V1), "::", stringify!(MaximumSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AllocationDelta as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V1), "::", stringify!(AllocationDelta) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinSupportedMajorVersion as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V1), "::", stringify!(MinSupportedMajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxSupportedMajorVersion as *const _ 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() { 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::null::())).UsnJournalID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V2), "::", stringify!(UsnJournalID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FirstUsn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V2), "::", stringify!(FirstUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NextUsn as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V2), "::", stringify!(NextUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LowestValidUsn as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V2), "::", stringify!(LowestValidUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxUsn as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V2), "::", stringify!(MaxUsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaximumSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V2), "::", stringify!(MaximumSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AllocationDelta as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V2), "::", stringify!(AllocationDelta) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MinSupportedMajorVersion as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V2), "::", stringify!(MinSupportedMajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MaxSupportedMajorVersion as *const _ as usize }, 58usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V2), "::", stringify!(MaxSupportedMajorVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V2), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RangeTrackChunkSize as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(USN_JOURNAL_DATA_V2), "::", stringify!(RangeTrackChunkSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RangeTrackFileSizeThreshold as *const _ 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() { 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::null::())).UsnJournalID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DELETE_USN_JOURNAL_DATA), "::", stringify!(UsnJournalID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DeleteFlags as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_MARK_HANDLE_INFO__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(MARK_HANDLE_INFO__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(MARK_HANDLE_INFO__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UsnSourceInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(MARK_HANDLE_INFO__bindgen_ty_1), "::", stringify!(UsnSourceInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CopyNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(MARK_HANDLE_INFO__bindgen_ty_1), "::", stringify!(CopyNumber) ) ); } #[test] fn bindgen_test_layout_MARK_HANDLE_INFO() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(MARK_HANDLE_INFO)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(MARK_HANDLE_INFO)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).VolumeHandle as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(MARK_HANDLE_INFO), "::", stringify!(VolumeHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).HandleInfo as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(MARK_HANDLE_INFO), "::", stringify!(HandleInfo) ) ); } pub type PMARK_HANDLE_INFO = *mut MARK_HANDLE_INFO; #[repr(C)] #[derive(Copy, Clone)] pub struct MARK_HANDLE_INFO32 { pub __bindgen_anon_1: MARK_HANDLE_INFO32__bindgen_ty_1, pub VolumeHandle: UINT32, pub HandleInfo: DWORD, } #[repr(C)] #[derive(Copy, Clone)] pub union MARK_HANDLE_INFO32__bindgen_ty_1 { pub UsnSourceInfo: DWORD, pub CopyNumber: DWORD, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_MARK_HANDLE_INFO32__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(MARK_HANDLE_INFO32__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(MARK_HANDLE_INFO32__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UsnSourceInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(MARK_HANDLE_INFO32__bindgen_ty_1), "::", stringify!(UsnSourceInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CopyNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(MARK_HANDLE_INFO32__bindgen_ty_1), "::", stringify!(CopyNumber) ) ); } #[test] fn bindgen_test_layout_MARK_HANDLE_INFO32() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(MARK_HANDLE_INFO32)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(MARK_HANDLE_INFO32)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).VolumeHandle as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(MARK_HANDLE_INFO32), "::", stringify!(VolumeHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).HandleInfo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(MARK_HANDLE_INFO32), "::", stringify!(HandleInfo) ) ); } pub type PMARK_HANDLE_INFO32 = *mut MARK_HANDLE_INFO32; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct BULK_SECURITY_TEST_DATA { pub DesiredAccess: ACCESS_MASK, pub SecurityIds: [DWORD; 1usize], } #[test] fn bindgen_test_layout_BULK_SECURITY_TEST_DATA() { 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::null::())).DesiredAccess as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(BULK_SECURITY_TEST_DATA), "::", stringify!(DesiredAccess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SecurityIds as *const _ 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() { 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::null::<_FILE_PREFETCH>())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_PREFETCH), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_PREFETCH>())).Count as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_PREFETCH), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_PREFETCH>())).Prefetch as *const _ 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() { 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::null::<_FILE_PREFETCH_EX>())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_PREFETCH_EX), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_PREFETCH_EX>())).Count as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_PREFETCH_EX), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_PREFETCH_EX>())).Context as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_PREFETCH_EX), "::", stringify!(Context) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_PREFETCH_EX>())).Prefetch as *const _ 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() { 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::null::<_FILESYSTEM_STATISTICS>())).FileSystemType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS), "::", stringify!(FileSystemType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS>())).Version as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS>())).SizeOfCompleteStructure as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS), "::", stringify!(SizeOfCompleteStructure) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS>())).UserFileReads as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS), "::", stringify!(UserFileReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS>())).UserFileReadBytes as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS), "::", stringify!(UserFileReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS>())).UserDiskReads as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS), "::", stringify!(UserDiskReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS>())).UserFileWrites as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS), "::", stringify!(UserFileWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS>())).UserFileWriteBytes as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS), "::", stringify!(UserFileWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS>())).UserDiskWrites as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS), "::", stringify!(UserDiskWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS>())).MetaDataReads as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS), "::", stringify!(MetaDataReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS>())).MetaDataReadBytes as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS), "::", stringify!(MetaDataReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS>())).MetaDataDiskReads as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS), "::", stringify!(MetaDataDiskReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS>())).MetaDataWrites as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS), "::", stringify!(MetaDataWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS>())).MetaDataWriteBytes as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS), "::", stringify!(MetaDataWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS>())).MetaDataDiskWrites as *const _ 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() { 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::null::<_FAT_STATISTICS>())).CreateHits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FAT_STATISTICS), "::", stringify!(CreateHits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FAT_STATISTICS>())).SuccessfulCreates as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FAT_STATISTICS), "::", stringify!(SuccessfulCreates) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FAT_STATISTICS>())).FailedCreates as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FAT_STATISTICS), "::", stringify!(FailedCreates) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FAT_STATISTICS>())).NonCachedReads as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_FAT_STATISTICS), "::", stringify!(NonCachedReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FAT_STATISTICS>())).NonCachedReadBytes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FAT_STATISTICS), "::", stringify!(NonCachedReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FAT_STATISTICS>())).NonCachedWrites as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_FAT_STATISTICS), "::", stringify!(NonCachedWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FAT_STATISTICS>())).NonCachedWriteBytes as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_FAT_STATISTICS), "::", stringify!(NonCachedWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FAT_STATISTICS>())).NonCachedDiskReads as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_FAT_STATISTICS), "::", stringify!(NonCachedDiskReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FAT_STATISTICS>())).NonCachedDiskWrites as *const _ 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() { 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::null::<_EXFAT_STATISTICS>())).CreateHits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EXFAT_STATISTICS), "::", stringify!(CreateHits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXFAT_STATISTICS>())).SuccessfulCreates as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_EXFAT_STATISTICS), "::", stringify!(SuccessfulCreates) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXFAT_STATISTICS>())).FailedCreates as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_EXFAT_STATISTICS), "::", stringify!(FailedCreates) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXFAT_STATISTICS>())).NonCachedReads as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_EXFAT_STATISTICS), "::", stringify!(NonCachedReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXFAT_STATISTICS>())).NonCachedReadBytes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_EXFAT_STATISTICS), "::", stringify!(NonCachedReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXFAT_STATISTICS>())).NonCachedWrites as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_EXFAT_STATISTICS), "::", stringify!(NonCachedWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXFAT_STATISTICS>())).NonCachedWriteBytes as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_EXFAT_STATISTICS), "::", stringify!(NonCachedWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXFAT_STATISTICS>())).NonCachedDiskReads as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_EXFAT_STATISTICS), "::", stringify!(NonCachedDiskReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXFAT_STATISTICS>())).NonCachedDiskWrites as *const _ 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() { 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::null::<_NTFS_STATISTICS__bindgen_ty_1>())).Write as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_1), "::", stringify!(Write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_1>())).Create as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_1), "::", stringify!(Create) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_1>())).SetInfo as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_1), "::", stringify!(SetInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_1>())).Flush as *const _ 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() { 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::null::<_NTFS_STATISTICS__bindgen_ty_2>())).Write as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_2), "::", stringify!(Write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_2>())).Create as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_2), "::", stringify!(Create) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_2>())).SetInfo as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_2), "::", stringify!(SetInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_2>())).Flush as *const _ 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() { 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::null::<_NTFS_STATISTICS__bindgen_ty_3>())).Write as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_3), "::", stringify!(Write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_3>())).Create as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_3), "::", stringify!(Create) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_3>())).SetInfo as *const _ 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() { 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::null::<_NTFS_STATISTICS__bindgen_ty_4>())).Write as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_4), "::", stringify!(Write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_4>())).Create as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_4), "::", stringify!(Create) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_4>())).SetInfo as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_4), "::", stringify!(SetInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_4>())).Flush as *const _ 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() { 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::null::<_NTFS_STATISTICS__bindgen_ty_5>())).Calls as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_5), "::", stringify!(Calls) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_5>())).Clusters as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_5), "::", stringify!(Clusters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_5>())).Hints as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_5), "::", stringify!(Hints) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_5>())).RunsReturned as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_5), "::", stringify!(RunsReturned) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_5>())).HintsHonored as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_5), "::", stringify!(HintsHonored) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_5>())).HintsClusters as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_5), "::", stringify!(HintsClusters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_5>())).Cache as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_5), "::", stringify!(Cache) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_5>())).CacheClusters as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_5), "::", stringify!(CacheClusters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_5>())).CacheMiss as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_5), "::", stringify!(CacheMiss) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS__bindgen_ty_5>())).CacheMissClusters as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS__bindgen_ty_5), "::", stringify!(CacheMissClusters) ) ); } #[test] fn bindgen_test_layout__NTFS_STATISTICS() { 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::null::<_NTFS_STATISTICS>())).LogFileFullExceptions as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(LogFileFullExceptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).OtherExceptions as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(OtherExceptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftReads as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftReadBytes as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftWrites as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftWriteBytes as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftWritesUserLevel as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftWritesUserLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftWritesFlushForLogFileFull as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftWritesFlushForLogFileFull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftWritesLazyWriter as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftWritesLazyWriter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftWritesUserRequest as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftWritesUserRequest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).Mft2Writes as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(Mft2Writes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).Mft2WriteBytes as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(Mft2WriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).Mft2WritesUserLevel as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(Mft2WritesUserLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).Mft2WritesFlushForLogFileFull as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(Mft2WritesFlushForLogFileFull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).Mft2WritesLazyWriter as *const _ as usize }, 58usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(Mft2WritesLazyWriter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).Mft2WritesUserRequest as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(Mft2WritesUserRequest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).RootIndexReads as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(RootIndexReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).RootIndexReadBytes as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(RootIndexReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).RootIndexWrites as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(RootIndexWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).RootIndexWriteBytes as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(RootIndexWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).BitmapReads as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(BitmapReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).BitmapReadBytes as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(BitmapReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).BitmapWrites as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(BitmapWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).BitmapWriteBytes as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(BitmapWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).BitmapWritesFlushForLogFileFull as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(BitmapWritesFlushForLogFileFull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).BitmapWritesLazyWriter as *const _ as usize }, 98usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(BitmapWritesLazyWriter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).BitmapWritesUserRequest as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(BitmapWritesUserRequest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).BitmapWritesUserLevel as *const _ as usize }, 102usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(BitmapWritesUserLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftBitmapReads as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftBitmapReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftBitmapReadBytes as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftBitmapReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftBitmapWrites as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftBitmapWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftBitmapWriteBytes as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftBitmapWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftBitmapWritesFlushForLogFileFull as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftBitmapWritesFlushForLogFileFull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftBitmapWritesLazyWriter as *const _ as usize }, 126usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftBitmapWritesLazyWriter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftBitmapWritesUserRequest as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftBitmapWritesUserRequest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).MftBitmapWritesUserLevel as *const _ as usize }, 130usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(MftBitmapWritesUserLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).UserIndexReads as *const _ as usize }, 140usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(UserIndexReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).UserIndexReadBytes as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(UserIndexReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).UserIndexWrites as *const _ as usize }, 148usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(UserIndexWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).UserIndexWriteBytes as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(UserIndexWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).LogFileReads as *const _ as usize }, 156usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(LogFileReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).LogFileReadBytes as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(LogFileReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).LogFileWrites as *const _ as usize }, 164usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(LogFileWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).LogFileWriteBytes as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(LogFileWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).Allocate as *const _ as usize }, 172usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS), "::", stringify!(Allocate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS>())).DiskResourcesExhausted as *const _ 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() { 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::null::<_FILESYSTEM_STATISTICS_EX>())).FileSystemType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS_EX), "::", stringify!(FileSystemType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS_EX>())).Version as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS_EX), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS_EX>())).SizeOfCompleteStructure as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS_EX), "::", stringify!(SizeOfCompleteStructure) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS_EX>())).UserFileReads as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS_EX), "::", stringify!(UserFileReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS_EX>())).UserFileReadBytes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS_EX), "::", stringify!(UserFileReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS_EX>())).UserDiskReads as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS_EX), "::", stringify!(UserDiskReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS_EX>())).UserFileWrites as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS_EX), "::", stringify!(UserFileWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS_EX>())).UserFileWriteBytes as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS_EX), "::", stringify!(UserFileWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS_EX>())).UserDiskWrites as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS_EX), "::", stringify!(UserDiskWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS_EX>())).MetaDataReads as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS_EX), "::", stringify!(MetaDataReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS_EX>())).MetaDataReadBytes as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS_EX), "::", stringify!(MetaDataReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS_EX>())).MetaDataDiskReads as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS_EX), "::", stringify!(MetaDataDiskReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS_EX>())).MetaDataWrites as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS_EX), "::", stringify!(MetaDataWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS_EX>())).MetaDataWriteBytes as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_FILESYSTEM_STATISTICS_EX), "::", stringify!(MetaDataWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILESYSTEM_STATISTICS_EX>())).MetaDataDiskWrites as *const _ 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() { 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::null::<_NTFS_STATISTICS_EX__bindgen_ty_1>())).Write as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_1), "::", stringify!(Write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_1>())).Create as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_1), "::", stringify!(Create) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_1>())).SetInfo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_1), "::", stringify!(SetInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_1>())).Flush as *const _ 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() { 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::null::<_NTFS_STATISTICS_EX__bindgen_ty_2>())).Write as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_2), "::", stringify!(Write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_2>())).Create as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_2), "::", stringify!(Create) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_2>())).SetInfo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_2), "::", stringify!(SetInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_2>())).Flush as *const _ 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() { 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::null::<_NTFS_STATISTICS_EX__bindgen_ty_3>())).Write as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_3), "::", stringify!(Write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_3>())).Create as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_3), "::", stringify!(Create) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_3>())).SetInfo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_3), "::", stringify!(SetInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_3>())).Flush as *const _ 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() { 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::null::<_NTFS_STATISTICS_EX__bindgen_ty_4>())).Write as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_4), "::", stringify!(Write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_4>())).Create as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_4), "::", stringify!(Create) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_4>())).SetInfo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_4), "::", stringify!(SetInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_4>())).Flush as *const _ 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() { 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::null::<_NTFS_STATISTICS_EX__bindgen_ty_5>())).Calls as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), "::", stringify!(Calls) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_5>())).RunsReturned as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), "::", stringify!(RunsReturned) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_5>())).Hints as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), "::", stringify!(Hints) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_5>())).HintsHonored as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), "::", stringify!(HintsHonored) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_5>())).Cache as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), "::", stringify!(Cache) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_5>())).CacheMiss as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), "::", stringify!(CacheMiss) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_5>())).Clusters as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), "::", stringify!(Clusters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_5>())).HintsClusters as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), "::", stringify!(HintsClusters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_5>())).CacheClusters as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), "::", stringify!(CacheClusters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX__bindgen_ty_5>())).CacheMissClusters as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), "::", stringify!(CacheMissClusters) ) ); } #[test] fn bindgen_test_layout__NTFS_STATISTICS_EX() { 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::null::<_NTFS_STATISTICS_EX>())).LogFileFullExceptions as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(LogFileFullExceptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).OtherExceptions as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(OtherExceptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftReads as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftReadBytes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftWrites as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftWriteBytes as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftWritesUserLevel as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftWritesUserLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftWritesFlushForLogFileFull as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftWritesFlushForLogFileFull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftWritesLazyWriter as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftWritesLazyWriter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftWritesUserRequest as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftWritesUserRequest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).Mft2Writes as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(Mft2Writes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).Mft2WriteBytes as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(Mft2WriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).Mft2WritesUserLevel as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(Mft2WritesUserLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).Mft2WritesFlushForLogFileFull as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(Mft2WritesFlushForLogFileFull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).Mft2WritesLazyWriter as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(Mft2WritesLazyWriter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).Mft2WritesUserRequest as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(Mft2WritesUserRequest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).RootIndexReads as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(RootIndexReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).RootIndexReadBytes as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(RootIndexReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).RootIndexWrites as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(RootIndexWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).RootIndexWriteBytes as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(RootIndexWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).BitmapReads as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(BitmapReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).BitmapReadBytes as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(BitmapReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).BitmapWrites as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(BitmapWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).BitmapWriteBytes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(BitmapWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).BitmapWritesFlushForLogFileFull as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(BitmapWritesFlushForLogFileFull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).BitmapWritesLazyWriter as *const _ as usize }, 188usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(BitmapWritesLazyWriter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).BitmapWritesUserRequest as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(BitmapWritesUserRequest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).BitmapWritesUserLevel as *const _ as usize }, 196usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(BitmapWritesUserLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftBitmapReads as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftBitmapReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftBitmapReadBytes as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftBitmapReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftBitmapWrites as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftBitmapWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftBitmapWriteBytes as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftBitmapWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftBitmapWritesFlushForLogFileFull as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftBitmapWritesFlushForLogFileFull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftBitmapWritesLazyWriter as *const _ as usize }, 252usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftBitmapWritesLazyWriter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftBitmapWritesUserRequest as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftBitmapWritesUserRequest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).MftBitmapWritesUserLevel as *const _ as usize }, 260usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(MftBitmapWritesUserLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).UserIndexReads as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(UserIndexReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).UserIndexReadBytes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(UserIndexReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).UserIndexWrites as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(UserIndexWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).UserIndexWriteBytes as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(UserIndexWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).LogFileReads as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(LogFileReads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).LogFileReadBytes as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(LogFileReadBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).LogFileWrites as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(LogFileWrites) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).LogFileWriteBytes as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(LogFileWriteBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).Allocate as *const _ as usize }, 344usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(Allocate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).DiskResourcesExhausted as *const _ as usize }, 400usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(DiskResourcesExhausted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).VolumeTrimCount as *const _ as usize }, 408usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(VolumeTrimCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).VolumeTrimTime as *const _ as usize }, 416usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(VolumeTrimTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).VolumeTrimByteCount as *const _ as usize }, 424usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(VolumeTrimByteCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).FileLevelTrimCount as *const _ as usize }, 432usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(FileLevelTrimCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).FileLevelTrimTime as *const _ as usize }, 440usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(FileLevelTrimTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).FileLevelTrimByteCount as *const _ as usize }, 448usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(FileLevelTrimByteCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).VolumeTrimSkippedCount as *const _ as usize }, 456usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(VolumeTrimSkippedCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).VolumeTrimSkippedByteCount as *const _ as usize }, 464usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(VolumeTrimSkippedByteCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())).NtfsFillStatInfoFromMftRecordCalledCount as *const _ as usize }, 472usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(NtfsFillStatInfoFromMftRecordCalledCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())) .NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount as *const _ as usize }, 480usize, concat!( "Offset of field: ", stringify!(_NTFS_STATISTICS_EX), "::", stringify!(NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_NTFS_STATISTICS_EX>())) .NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount as *const _ 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], _bindgen_union_align: [u8; 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() { 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::null::<_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1>())) .BirthVolumeId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1), "::", stringify!(BirthVolumeId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1>())) .BirthObjectId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1), "::", stringify!(BirthObjectId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1>())).DomainId as *const _ 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() { 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::null::<_FILE_OBJECTID_BUFFER__bindgen_ty_1>())).ExtendedInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1), "::", stringify!(ExtendedInfo) ) ); } #[test] fn bindgen_test_layout__FILE_OBJECTID_BUFFER() { 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::null::<_FILE_OBJECTID_BUFFER>())).ObjectId as *const _ 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() { 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::null::<_FILE_SET_SPARSE_BUFFER>())).SetSparse as *const _ 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() { 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::null::<_FILE_ZERO_DATA_INFORMATION>())).FileOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_ZERO_DATA_INFORMATION), "::", stringify!(FileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ZERO_DATA_INFORMATION>())).BeyondFinalZero as *const _ 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() { 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::null::<_FILE_ZERO_DATA_INFORMATION_EX>())).FileOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_ZERO_DATA_INFORMATION_EX), "::", stringify!(FileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ZERO_DATA_INFORMATION_EX>())).BeyondFinalZero as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_ZERO_DATA_INFORMATION_EX), "::", stringify!(BeyondFinalZero) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ZERO_DATA_INFORMATION_EX>())).Flags as *const _ 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() { 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::null::<_FILE_ALLOCATED_RANGE_BUFFER>())).FileOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_ALLOCATED_RANGE_BUFFER), "::", stringify!(FileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_ALLOCATED_RANGE_BUFFER>())).Length as *const _ 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() { 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::null::<_ENCRYPTION_BUFFER>())).EncryptionOperation as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_BUFFER), "::", stringify!(EncryptionOperation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_BUFFER>())).Private as *const _ 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() { 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::null::<_DECRYPTION_STATUS_BUFFER>())).NoEncryptedStreams as *const _ 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() { 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::null::<_REQUEST_RAW_ENCRYPTED_DATA>())).FileOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REQUEST_RAW_ENCRYPTED_DATA), "::", stringify!(FileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REQUEST_RAW_ENCRYPTED_DATA>())).Length as *const _ 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() { 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::null::<_ENCRYPTED_DATA_INFO>())).StartingFileOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCRYPTED_DATA_INFO), "::", stringify!(StartingFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTED_DATA_INFO>())).OutputBufferOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ENCRYPTED_DATA_INFO), "::", stringify!(OutputBufferOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTED_DATA_INFO>())).BytesWithinFileSize as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_ENCRYPTED_DATA_INFO), "::", stringify!(BytesWithinFileSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTED_DATA_INFO>())).BytesWithinValidDataLength as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_ENCRYPTED_DATA_INFO), "::", stringify!(BytesWithinValidDataLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTED_DATA_INFO>())).CompressionFormat as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_ENCRYPTED_DATA_INFO), "::", stringify!(CompressionFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTED_DATA_INFO>())).DataUnitShift as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(_ENCRYPTED_DATA_INFO), "::", stringify!(DataUnitShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTED_DATA_INFO>())).ChunkShift as *const _ as usize }, 23usize, concat!( "Offset of field: ", stringify!(_ENCRYPTED_DATA_INFO), "::", stringify!(ChunkShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTED_DATA_INFO>())).ClusterShift as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_ENCRYPTED_DATA_INFO), "::", stringify!(ClusterShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTED_DATA_INFO>())).EncryptionFormat as *const _ as usize }, 25usize, concat!( "Offset of field: ", stringify!(_ENCRYPTED_DATA_INFO), "::", stringify!(EncryptionFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTED_DATA_INFO>())).NumberOfDataBlocks as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(_ENCRYPTED_DATA_INFO), "::", stringify!(NumberOfDataBlocks) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTED_DATA_INFO>())).DataBlockSize as *const _ 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() { 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::null::<_EXTENDED_ENCRYPTED_DATA_INFO>())).ExtendedCode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_EXTENDED_ENCRYPTED_DATA_INFO), "::", stringify!(ExtendedCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXTENDED_ENCRYPTED_DATA_INFO>())).Length as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_EXTENDED_ENCRYPTED_DATA_INFO), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXTENDED_ENCRYPTED_DATA_INFO>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_EXTENDED_ENCRYPTED_DATA_INFO), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_EXTENDED_ENCRYPTED_DATA_INFO>())).Reserved as *const _ 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() { 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::null::<_PLEX_READ_DATA_REQUEST>())).ByteOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PLEX_READ_DATA_REQUEST), "::", stringify!(ByteOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PLEX_READ_DATA_REQUEST>())).ByteLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PLEX_READ_DATA_REQUEST), "::", stringify!(ByteLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PLEX_READ_DATA_REQUEST>())).PlexNumber as *const _ 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() { 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::null::<_SI_COPYFILE>())).SourceFileNameLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SI_COPYFILE), "::", stringify!(SourceFileNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SI_COPYFILE>())).DestinationFileNameLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SI_COPYFILE), "::", stringify!(DestinationFileNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SI_COPYFILE>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SI_COPYFILE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SI_COPYFILE>())).FileNameBuffer as *const _ 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() { 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::null::<_FILE_MAKE_COMPATIBLE_BUFFER>())).CloseDisc as *const _ 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() { 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::null::<_FILE_SET_DEFECT_MGMT_BUFFER>())).Disable as *const _ 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() { 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::null::<_FILE_QUERY_SPARING_BUFFER>())).SparingUnitBytes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_QUERY_SPARING_BUFFER), "::", stringify!(SparingUnitBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_QUERY_SPARING_BUFFER>())).SoftwareSparing as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_QUERY_SPARING_BUFFER), "::", stringify!(SoftwareSparing) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_QUERY_SPARING_BUFFER>())).TotalSpareBlocks as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_QUERY_SPARING_BUFFER), "::", stringify!(TotalSpareBlocks) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_QUERY_SPARING_BUFFER>())).FreeSpareBlocks as *const _ 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() { 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::null::<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER>())).DirectoryCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), "::", stringify!(DirectoryCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER>())).FileCount as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), "::", stringify!(FileCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER>())).FsFormatMajVersion as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), "::", stringify!(FsFormatMajVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER>())).FsFormatMinVersion as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), "::", stringify!(FsFormatMinVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER>())).FsFormatName as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), "::", stringify!(FsFormatName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER>())).FormatTime as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), "::", stringify!(FormatTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER>())).LastUpdateTime as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), "::", stringify!(LastUpdateTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER>())).CopyrightInfo as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), "::", stringify!(CopyrightInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER>())).AbstractInfo as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), "::", stringify!(AbstractInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER>())) .FormattingImplementationInfo as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), "::", stringify!(FormattingImplementationInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER>())) .LastModifyingImplementationInfo as *const _ 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() { 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::null::<_FILE_INITIATE_REPAIR_OUTPUT_BUFFER>())).Hint1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_INITIATE_REPAIR_OUTPUT_BUFFER), "::", stringify!(Hint1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_INITIATE_REPAIR_OUTPUT_BUFFER>())).Hint2 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_INITIATE_REPAIR_OUTPUT_BUFFER), "::", stringify!(Hint2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_INITIATE_REPAIR_OUTPUT_BUFFER>())).Clsn as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_INITIATE_REPAIR_OUTPUT_BUFFER), "::", stringify!(Clsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_INITIATE_REPAIR_OUTPUT_BUFFER>())).Status as *const _ 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() { 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::null::<_SHRINK_VOLUME_INFORMATION>())).ShrinkRequestType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SHRINK_VOLUME_INFORMATION), "::", stringify!(ShrinkRequestType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHRINK_VOLUME_INFORMATION>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SHRINK_VOLUME_INFORMATION), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SHRINK_VOLUME_INFORMATION>())).NewNumberOfSectors as *const _ 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() { 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::null::<_TXFS_MODIFY_RM>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TXFS_MODIFY_RM), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_MODIFY_RM>())).LogContainerCountMax as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TXFS_MODIFY_RM), "::", stringify!(LogContainerCountMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_MODIFY_RM>())).LogContainerCountMin as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TXFS_MODIFY_RM), "::", stringify!(LogContainerCountMin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_MODIFY_RM>())).LogContainerCount as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_TXFS_MODIFY_RM), "::", stringify!(LogContainerCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_MODIFY_RM>())).LogGrowthIncrement as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TXFS_MODIFY_RM), "::", stringify!(LogGrowthIncrement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_MODIFY_RM>())).LogAutoShrinkPercentage as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_TXFS_MODIFY_RM), "::", stringify!(LogAutoShrinkPercentage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_MODIFY_RM>())).Reserved as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_TXFS_MODIFY_RM), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_MODIFY_RM>())).LoggingMode as *const _ 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() { 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::null::<_TXFS_QUERY_RM_INFORMATION>())).BytesRequired as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(BytesRequired) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).TailLsn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(TailLsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).CurrentLsn as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(CurrentLsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).ArchiveTailLsn as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(ArchiveTailLsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).LogContainerSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(LogContainerSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).HighestVirtualClock as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(HighestVirtualClock) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).LogContainerCount as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(LogContainerCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).LogContainerCountMax as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(LogContainerCountMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).LogContainerCountMin as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(LogContainerCountMin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).LogGrowthIncrement as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(LogGrowthIncrement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).LogAutoShrinkPercentage as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(LogAutoShrinkPercentage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).Flags as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).LoggingMode as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(LoggingMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).Reserved as *const _ as usize }, 74usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).RmState as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(RmState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).LogCapacity as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(LogCapacity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).LogFree as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(LogFree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).TopsSize as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(TopsSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).TopsUsed as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(TopsUsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).TransactionCount as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(TransactionCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).OnePCCount as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(OnePCCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).TwoPCCount as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(TwoPCCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).NumberLogFileFull as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(NumberLogFileFull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).OldestTransactionAge as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(OldestTransactionAge) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).RMName as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_TXFS_QUERY_RM_INFORMATION), "::", stringify!(RMName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_QUERY_RM_INFORMATION>())).TmLogPathOffset as *const _ 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() { 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::null::<_TXFS_ROLLFORWARD_REDO_INFORMATION>())).LastVirtualClock as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TXFS_ROLLFORWARD_REDO_INFORMATION), "::", stringify!(LastVirtualClock) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_ROLLFORWARD_REDO_INFORMATION>())).LastRedoLsn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TXFS_ROLLFORWARD_REDO_INFORMATION), "::", stringify!(LastRedoLsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_ROLLFORWARD_REDO_INFORMATION>())).HighestRecoveryLsn as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TXFS_ROLLFORWARD_REDO_INFORMATION), "::", stringify!(HighestRecoveryLsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_ROLLFORWARD_REDO_INFORMATION>())).Flags as *const _ 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() { 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::null::<_TXFS_START_RM_INFORMATION>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TXFS_START_RM_INFORMATION), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_START_RM_INFORMATION>())).LogContainerSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TXFS_START_RM_INFORMATION), "::", stringify!(LogContainerSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_START_RM_INFORMATION>())).LogContainerCountMin as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TXFS_START_RM_INFORMATION), "::", stringify!(LogContainerCountMin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_START_RM_INFORMATION>())).LogContainerCountMax as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_TXFS_START_RM_INFORMATION), "::", stringify!(LogContainerCountMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_START_RM_INFORMATION>())).LogGrowthIncrement as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_TXFS_START_RM_INFORMATION), "::", stringify!(LogGrowthIncrement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_START_RM_INFORMATION>())).LogAutoShrinkPercentage as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_TXFS_START_RM_INFORMATION), "::", stringify!(LogAutoShrinkPercentage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_START_RM_INFORMATION>())).TmLogPathOffset as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_TXFS_START_RM_INFORMATION), "::", stringify!(TmLogPathOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_START_RM_INFORMATION>())).TmLogPathLength as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_TXFS_START_RM_INFORMATION), "::", stringify!(TmLogPathLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_START_RM_INFORMATION>())).LoggingMode as *const _ as usize }, 38usize, concat!( "Offset of field: ", stringify!(_TXFS_START_RM_INFORMATION), "::", stringify!(LoggingMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_START_RM_INFORMATION>())).LogPathLength as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_TXFS_START_RM_INFORMATION), "::", stringify!(LogPathLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_START_RM_INFORMATION>())).Reserved as *const _ as usize }, 42usize, concat!( "Offset of field: ", stringify!(_TXFS_START_RM_INFORMATION), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_START_RM_INFORMATION>())).LogPath as *const _ 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() { 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::null::<_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1>())).LowPart as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1), "::", stringify!(LowPart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1>())).HighPart as *const _ 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() { 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::null::<_TXFS_GET_METADATA_INFO_OUT>())).TxfFileId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TXFS_GET_METADATA_INFO_OUT), "::", stringify!(TxfFileId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_GET_METADATA_INFO_OUT>())).LockingTransaction as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TXFS_GET_METADATA_INFO_OUT), "::", stringify!(LockingTransaction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_GET_METADATA_INFO_OUT>())).LastLsn as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_TXFS_GET_METADATA_INFO_OUT), "::", stringify!(LastLsn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_GET_METADATA_INFO_OUT>())).TransactionState as *const _ 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() { 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::null::<_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY>())).Offset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY>())).NameFlags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), "::", stringify!(NameFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY>())).FileId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), "::", stringify!(FileId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY>())).Reserved1 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY>())).Reserved2 as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), "::", stringify!(Reserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY>())).Reserved3 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), "::", stringify!(Reserved3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY>())).FileName as *const _ 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() { 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::null::<_TXFS_LIST_TRANSACTION_LOCKED_FILES>())).KtmTransaction as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES), "::", stringify!(KtmTransaction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_LIST_TRANSACTION_LOCKED_FILES>())).NumberOfFiles as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES), "::", stringify!(NumberOfFiles) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_LIST_TRANSACTION_LOCKED_FILES>())).BufferSizeRequired as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES), "::", stringify!(BufferSizeRequired) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_LIST_TRANSACTION_LOCKED_FILES>())).Offset as *const _ 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() { 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::null::<_TXFS_LIST_TRANSACTIONS_ENTRY>())).TransactionId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY), "::", stringify!(TransactionId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_LIST_TRANSACTIONS_ENTRY>())).TransactionState as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY), "::", stringify!(TransactionState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_LIST_TRANSACTIONS_ENTRY>())).Reserved1 as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_LIST_TRANSACTIONS_ENTRY>())).Reserved2 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY), "::", stringify!(Reserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_LIST_TRANSACTIONS_ENTRY>())).Reserved3 as *const _ 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() { 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::null::<_TXFS_LIST_TRANSACTIONS>())).NumberOfTransactions as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TXFS_LIST_TRANSACTIONS), "::", stringify!(NumberOfTransactions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_LIST_TRANSACTIONS>())).BufferSizeRequired as *const _ 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], _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1() { 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::null::<_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1>())).BufferLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1), "::", stringify!(BufferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1>())).Buffer as *const _ 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() { 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::null::<_TXFS_WRITE_BACKUP_INFORMATION>())).Buffer as *const _ 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() { 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::null::<_TXFS_GET_TRANSACTED_VERSION>())).ThisBaseVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TXFS_GET_TRANSACTED_VERSION), "::", stringify!(ThisBaseVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_GET_TRANSACTED_VERSION>())).LatestVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TXFS_GET_TRANSACTED_VERSION), "::", stringify!(LatestVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_GET_TRANSACTED_VERSION>())).ThisMiniVersion as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TXFS_GET_TRANSACTED_VERSION), "::", stringify!(ThisMiniVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_GET_TRANSACTED_VERSION>())).FirstMiniVersion as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_TXFS_GET_TRANSACTED_VERSION), "::", stringify!(FirstMiniVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_GET_TRANSACTED_VERSION>())).LatestMiniVersion as *const _ 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() { 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::null::<_TXFS_SAVEPOINT_INFORMATION>())).KtmTransaction as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TXFS_SAVEPOINT_INFORMATION), "::", stringify!(KtmTransaction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_SAVEPOINT_INFORMATION>())).ActionCode as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_TXFS_SAVEPOINT_INFORMATION), "::", stringify!(ActionCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_SAVEPOINT_INFORMATION>())).SavepointId as *const _ 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() { 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::null::<_TXFS_CREATE_MINIVERSION_INFO>())).StructureVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_TXFS_CREATE_MINIVERSION_INFO), "::", stringify!(StructureVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_CREATE_MINIVERSION_INFO>())).StructureLength as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_TXFS_CREATE_MINIVERSION_INFO), "::", stringify!(StructureLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_CREATE_MINIVERSION_INFO>())).BaseVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_TXFS_CREATE_MINIVERSION_INFO), "::", stringify!(BaseVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_TXFS_CREATE_MINIVERSION_INFO>())).MiniVersion as *const _ 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() { 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::null::<_TXFS_TRANSACTION_ACTIVE_INFO>())).TransactionsActiveAtSnapshot as *const _ 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() { 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::null::<_BOOT_AREA_INFO__bindgen_ty_1>())).Offset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BOOT_AREA_INFO__bindgen_ty_1), "::", stringify!(Offset) ) ); } #[test] fn bindgen_test_layout__BOOT_AREA_INFO() { 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::null::<_BOOT_AREA_INFO>())).BootSectorCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BOOT_AREA_INFO), "::", stringify!(BootSectorCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BOOT_AREA_INFO>())).BootSectors as *const _ 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() { 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::null::<_RETRIEVAL_POINTER_BASE>())).FileAreaOffset as *const _ 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() { 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::null::<_FILE_FS_PERSISTENT_VOLUME_INFORMATION>())).VolumeFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_FS_PERSISTENT_VOLUME_INFORMATION), "::", stringify!(VolumeFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_FS_PERSISTENT_VOLUME_INFORMATION>())).FlagMask as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_FS_PERSISTENT_VOLUME_INFORMATION), "::", stringify!(FlagMask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_FS_PERSISTENT_VOLUME_INFORMATION>())).Version as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_FS_PERSISTENT_VOLUME_INFORMATION), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_FS_PERSISTENT_VOLUME_INFORMATION>())).Reserved as *const _ 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() { 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::null::<_FILE_SYSTEM_RECOGNITION_INFORMATION>())).FileSystem as *const _ 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() { 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::null::<_REQUEST_OPLOCK_INPUT_BUFFER>())).StructureVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REQUEST_OPLOCK_INPUT_BUFFER), "::", stringify!(StructureVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REQUEST_OPLOCK_INPUT_BUFFER>())).StructureLength as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_REQUEST_OPLOCK_INPUT_BUFFER), "::", stringify!(StructureLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REQUEST_OPLOCK_INPUT_BUFFER>())).RequestedOplockLevel as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_REQUEST_OPLOCK_INPUT_BUFFER), "::", stringify!(RequestedOplockLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REQUEST_OPLOCK_INPUT_BUFFER>())).Flags as *const _ 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() { 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::null::<_REQUEST_OPLOCK_OUTPUT_BUFFER>())).StructureVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), "::", stringify!(StructureVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REQUEST_OPLOCK_OUTPUT_BUFFER>())).StructureLength as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), "::", stringify!(StructureLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REQUEST_OPLOCK_OUTPUT_BUFFER>())).OriginalOplockLevel as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), "::", stringify!(OriginalOplockLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REQUEST_OPLOCK_OUTPUT_BUFFER>())).NewOplockLevel as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), "::", stringify!(NewOplockLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REQUEST_OPLOCK_OUTPUT_BUFFER>())).Flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REQUEST_OPLOCK_OUTPUT_BUFFER>())).AccessMode as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), "::", stringify!(AccessMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REQUEST_OPLOCK_OUTPUT_BUFFER>())).ShareMode as *const _ 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() { 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::null::<_VIRTUAL_STORAGE_TYPE>())).DeviceId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_VIRTUAL_STORAGE_TYPE), "::", stringify!(DeviceId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIRTUAL_STORAGE_TYPE>())).VendorId as *const _ 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() { 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::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST>())).RequestLevel as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST), "::", stringify!(RequestLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST>())).RequestFlags as *const _ 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() { 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::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY>())).EntryLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY), "::", stringify!(EntryLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY>())) .DependencyTypeFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY), "::", stringify!(DependencyTypeFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY>())) .ProviderSpecificFlags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY), "::", stringify!(ProviderSpecificFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY>())) .VirtualStorageType as *const _ 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() { 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::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>())).EntryLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), "::", stringify!(EntryLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>())) .DependencyTypeFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), "::", stringify!(DependencyTypeFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>())) .ProviderSpecificFlags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), "::", stringify!(ProviderSpecificFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>())) .VirtualStorageType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), "::", stringify!(VirtualStorageType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>())).AncestorLevel as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), "::", stringify!(AncestorLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>())) .HostVolumeNameOffset as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), "::", stringify!(HostVolumeNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>())) .HostVolumeNameSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), "::", stringify!(HostVolumeNameSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>())) .DependentVolumeNameOffset as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), "::", stringify!(DependentVolumeNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>())) .DependentVolumeNameSize as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), "::", stringify!(DependentVolumeNameSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>())) .RelativePathOffset as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), "::", stringify!(RelativePathOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>())).RelativePathSize as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), "::", stringify!(RelativePathSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>())) .DependentDeviceNameOffset as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), "::", stringify!(DependentDeviceNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>())) .DependentDeviceNameSize as *const _ 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() { 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::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1>())) .Lev1Depends as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1), "::", stringify!(Lev1Depends) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1>())) .Lev2Depends as *const _ 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() { 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::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE>())).ResponseLevel as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE), "::", stringify!(ResponseLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE>())).NumberEntries as *const _ 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() { 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::null::<_SD_CHANGE_MACHINE_SID_INPUT>())).CurrentMachineSIDOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SD_CHANGE_MACHINE_SID_INPUT), "::", stringify!(CurrentMachineSIDOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_CHANGE_MACHINE_SID_INPUT>())).CurrentMachineSIDLength as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_SD_CHANGE_MACHINE_SID_INPUT), "::", stringify!(CurrentMachineSIDLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_CHANGE_MACHINE_SID_INPUT>())).NewMachineSIDOffset as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SD_CHANGE_MACHINE_SID_INPUT), "::", stringify!(NewMachineSIDOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_CHANGE_MACHINE_SID_INPUT>())).NewMachineSIDLength as *const _ 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() { 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::null::<_SD_CHANGE_MACHINE_SID_OUTPUT>())).NumSDChangedSuccess as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), "::", stringify!(NumSDChangedSuccess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_CHANGE_MACHINE_SID_OUTPUT>())).NumSDChangedFail as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), "::", stringify!(NumSDChangedFail) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_CHANGE_MACHINE_SID_OUTPUT>())).NumSDUnused as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), "::", stringify!(NumSDUnused) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_CHANGE_MACHINE_SID_OUTPUT>())).NumSDTotal as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), "::", stringify!(NumSDTotal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_CHANGE_MACHINE_SID_OUTPUT>())).NumMftSDChangedSuccess as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), "::", stringify!(NumMftSDChangedSuccess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_CHANGE_MACHINE_SID_OUTPUT>())).NumMftSDChangedFail as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), "::", stringify!(NumMftSDChangedFail) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_CHANGE_MACHINE_SID_OUTPUT>())).NumMftSDTotal as *const _ 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() { 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::null::<_SD_QUERY_STATS_INPUT>())).Reserved as *const _ 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() { 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::null::<_SD_QUERY_STATS_OUTPUT>())).SdsStreamSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SD_QUERY_STATS_OUTPUT), "::", stringify!(SdsStreamSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_QUERY_STATS_OUTPUT>())).SdsAllocationSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SD_QUERY_STATS_OUTPUT), "::", stringify!(SdsAllocationSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_QUERY_STATS_OUTPUT>())).SiiStreamSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SD_QUERY_STATS_OUTPUT), "::", stringify!(SiiStreamSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_QUERY_STATS_OUTPUT>())).SiiAllocationSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SD_QUERY_STATS_OUTPUT), "::", stringify!(SiiAllocationSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_QUERY_STATS_OUTPUT>())).SdhStreamSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_SD_QUERY_STATS_OUTPUT), "::", stringify!(SdhStreamSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_QUERY_STATS_OUTPUT>())).SdhAllocationSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_SD_QUERY_STATS_OUTPUT), "::", stringify!(SdhAllocationSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_QUERY_STATS_OUTPUT>())).NumSDTotal as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_SD_QUERY_STATS_OUTPUT), "::", stringify!(NumSDTotal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_QUERY_STATS_OUTPUT>())).NumSDUnused as *const _ 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() { 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::null::<_SD_ENUM_SDS_INPUT>())).StartingOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SD_ENUM_SDS_INPUT), "::", stringify!(StartingOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_ENUM_SDS_INPUT>())).MaxSDEntriesToReturn as *const _ 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() { 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::null::<_SD_ENUM_SDS_ENTRY>())).Hash as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SD_ENUM_SDS_ENTRY), "::", stringify!(Hash) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_ENUM_SDS_ENTRY>())).SecurityId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SD_ENUM_SDS_ENTRY), "::", stringify!(SecurityId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_ENUM_SDS_ENTRY>())).Offset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SD_ENUM_SDS_ENTRY), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_ENUM_SDS_ENTRY>())).Length as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SD_ENUM_SDS_ENTRY), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_ENUM_SDS_ENTRY>())).Descriptor as *const _ 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() { 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::null::<_SD_ENUM_SDS_OUTPUT>())).NextOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SD_ENUM_SDS_OUTPUT), "::", stringify!(NextOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_ENUM_SDS_OUTPUT>())).NumSDEntriesReturned as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SD_ENUM_SDS_OUTPUT), "::", stringify!(NumSDEntriesReturned) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_ENUM_SDS_OUTPUT>())).NumSDBytesReturned as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SD_ENUM_SDS_OUTPUT), "::", stringify!(NumSDBytesReturned) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_ENUM_SDS_OUTPUT>())).SDEntry as *const _ 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, _bindgen_union_align: [u64; 2usize], } #[test] fn bindgen_test_layout__SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1() { 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::null::<_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1>())).SdChange as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1), "::", stringify!(SdChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1>())).SdQueryStats as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1), "::", stringify!(SdQueryStats) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1>())).SdEnumSds as *const _ 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() { 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::null::<_SD_GLOBAL_CHANGE_INPUT>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SD_GLOBAL_CHANGE_INPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_GLOBAL_CHANGE_INPUT>())).ChangeType as *const _ 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, _bindgen_union_align: [u64; 8usize], } #[test] fn bindgen_test_layout__SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1() { 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::null::<_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1>())).SdChange as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1), "::", stringify!(SdChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1>())).SdQueryStats as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1), "::", stringify!(SdQueryStats) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1>())).SdEnumSds as *const _ 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() { 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::null::<_SD_GLOBAL_CHANGE_OUTPUT>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SD_GLOBAL_CHANGE_OUTPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SD_GLOBAL_CHANGE_OUTPUT>())).ChangeType as *const _ 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() { 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::null::<_LOOKUP_STREAM_FROM_CLUSTER_INPUT>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LOOKUP_STREAM_FROM_CLUSTER_INPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LOOKUP_STREAM_FROM_CLUSTER_INPUT>())).NumberOfClusters as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_LOOKUP_STREAM_FROM_CLUSTER_INPUT), "::", stringify!(NumberOfClusters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LOOKUP_STREAM_FROM_CLUSTER_INPUT>())).Cluster as *const _ 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() { 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::null::<_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT>())).Offset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT>())).NumberOfMatches as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT), "::", stringify!(NumberOfMatches) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT>())).BufferSizeRequired as *const _ 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() { 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::null::<_LOOKUP_STREAM_FROM_CLUSTER_ENTRY>())).OffsetToNext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY), "::", stringify!(OffsetToNext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LOOKUP_STREAM_FROM_CLUSTER_ENTRY>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LOOKUP_STREAM_FROM_CLUSTER_ENTRY>())).Reserved as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LOOKUP_STREAM_FROM_CLUSTER_ENTRY>())).Cluster as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY), "::", stringify!(Cluster) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_LOOKUP_STREAM_FROM_CLUSTER_ENTRY>())).FileName as *const _ 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() { 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::null::<_FILE_TYPE_NOTIFICATION_INPUT>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_TYPE_NOTIFICATION_INPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_TYPE_NOTIFICATION_INPUT>())).NumFileTypeIDs as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_TYPE_NOTIFICATION_INPUT), "::", stringify!(NumFileTypeIDs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_TYPE_NOTIFICATION_INPUT>())).FileTypeID as *const _ 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() { 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::null::<_CSV_MGMT_LOCK>())).Flags as *const _ 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() { 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::null::<_CSV_NAMESPACE_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CSV_NAMESPACE_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_NAMESPACE_INFO>())).DeviceNumber as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CSV_NAMESPACE_INFO), "::", stringify!(DeviceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_NAMESPACE_INFO>())).StartingOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CSV_NAMESPACE_INFO), "::", stringify!(StartingOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_NAMESPACE_INFO>())).SectorSize as *const _ 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 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() { 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::null::<_CSV_CONTROL_PARAM>())).Operation as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CSV_CONTROL_PARAM), "::", stringify!(Operation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_CONTROL_PARAM>())).Unused as *const _ 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() { 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::null::<_CSV_QUERY_REDIRECT_STATE>())).MdsNodeId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_REDIRECT_STATE), "::", stringify!(MdsNodeId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_REDIRECT_STATE>())).DsNodeId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_REDIRECT_STATE), "::", stringify!(DsNodeId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_REDIRECT_STATE>())).FileRedirected as *const _ 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() { 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::null::<_CSV_QUERY_FILE_REVISION>())).FileId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_FILE_REVISION), "::", stringify!(FileId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_FILE_REVISION>())).FileRevision as *const _ 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() { 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::null::<_CSV_QUERY_FILE_REVISION_FILE_ID_128>())).FileId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_FILE_REVISION_FILE_ID_128), "::", stringify!(FileId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_FILE_REVISION_FILE_ID_128>())).FileRevision as *const _ 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() { 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::null::<_CSV_QUERY_MDS_PATH>())).MdsNodeId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_MDS_PATH), "::", stringify!(MdsNodeId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_MDS_PATH>())).DsNodeId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_MDS_PATH), "::", stringify!(DsNodeId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_MDS_PATH>())).PathLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_MDS_PATH), "::", stringify!(PathLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_MDS_PATH>())).Path as *const _ 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() { 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::null::<_CSV_QUERY_VOLUME_REDIRECT_STATE>())).MdsNodeId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE), "::", stringify!(MdsNodeId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_VOLUME_REDIRECT_STATE>())).DsNodeId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE), "::", stringify!(DsNodeId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_VOLUME_REDIRECT_STATE>())).IsDiskConnected as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE), "::", stringify!(IsDiskConnected) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_VOLUME_REDIRECT_STATE>())).ClusterEnableDirectIo as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE), "::", stringify!(ClusterEnableDirectIo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_VOLUME_REDIRECT_STATE>())).DiskConnectivity as *const _ 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() { 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::null::<_CSV_QUERY_MDS_PATH_V2>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_MDS_PATH_V2), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_MDS_PATH_V2>())).RequiredSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_MDS_PATH_V2), "::", stringify!(RequiredSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_MDS_PATH_V2>())).MdsNodeId as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_MDS_PATH_V2), "::", stringify!(MdsNodeId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_MDS_PATH_V2>())).DsNodeId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_MDS_PATH_V2), "::", stringify!(DsNodeId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_MDS_PATH_V2>())).Flags as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_MDS_PATH_V2), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_MDS_PATH_V2>())).DiskConnectivity as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_MDS_PATH_V2), "::", stringify!(DiskConnectivity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_MDS_PATH_V2>())).VolumeId as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_MDS_PATH_V2), "::", stringify!(VolumeId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_MDS_PATH_V2>())).IpAddressOffset as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_MDS_PATH_V2), "::", stringify!(IpAddressOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_MDS_PATH_V2>())).IpAddressLength as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_MDS_PATH_V2), "::", stringify!(IpAddressLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_MDS_PATH_V2>())).PathOffset as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_MDS_PATH_V2), "::", stringify!(PathOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_MDS_PATH_V2>())).PathLength as *const _ 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(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() { 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::null::<_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT>())) .VetoedFromAltitudeIntegral as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT), "::", stringify!(VetoedFromAltitudeIntegral) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT>())) .VetoedFromAltitudeDecimal as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT), "::", stringify!(VetoedFromAltitudeDecimal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT>())).Reason as *const _ 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() { 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::null::<_CSV_IS_OWNED_BY_CSVFS>())).OwnedByCSVFS as *const _ 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() { 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::null::<_FILE_LEVEL_TRIM_RANGE>())).Offset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_LEVEL_TRIM_RANGE), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LEVEL_TRIM_RANGE>())).Length as *const _ 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() { 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::null::<_FILE_LEVEL_TRIM>())).Key as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_LEVEL_TRIM), "::", stringify!(Key) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LEVEL_TRIM>())).NumRanges as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_LEVEL_TRIM), "::", stringify!(NumRanges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LEVEL_TRIM>())).Ranges as *const _ 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() { 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::null::<_FILE_LEVEL_TRIM_OUTPUT>())).NumRangesProcessed as *const _ 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() { 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::null::<_CLUSTER_RANGE>())).StartingCluster as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CLUSTER_RANGE), "::", stringify!(StartingCluster) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CLUSTER_RANGE>())).ClusterCount as *const _ 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() { 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::null::<_FILE_REFERENCE_RANGE>())).StartingFileReferenceNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_REFERENCE_RANGE), "::", stringify!(StartingFileReferenceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REFERENCE_RANGE>())).EndingFileReferenceNumber as *const _ 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, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout__QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1() { 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::null::<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1>())).FilterEntryCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1), "::", stringify!(FilterEntryCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1>())).NumberOfPairs as *const _ 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], _bindgen_union_align: [u64; 2usize], } #[test] fn bindgen_test_layout__QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2() { 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::null::<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2>())).ClusterRanges as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2), "::", stringify!(ClusterRanges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2>())).FileReferenceRanges as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2), "::", stringify!(FileReferenceRanges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2>())).StorageReserveIds as *const _ 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() { 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::null::<_QUERY_FILE_LAYOUT_INPUT>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_QUERY_FILE_LAYOUT_INPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_FILE_LAYOUT_INPUT>())).FilterType as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_QUERY_FILE_LAYOUT_INPUT), "::", stringify!(FilterType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_FILE_LAYOUT_INPUT>())).Reserved as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_QUERY_FILE_LAYOUT_INPUT), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_FILE_LAYOUT_INPUT>())).Filter as *const _ 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() { 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::null::<_QUERY_FILE_LAYOUT_OUTPUT>())).FileEntryCount as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_QUERY_FILE_LAYOUT_OUTPUT), "::", stringify!(FileEntryCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_FILE_LAYOUT_OUTPUT>())).FirstFileOffset as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_QUERY_FILE_LAYOUT_OUTPUT), "::", stringify!(FirstFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_FILE_LAYOUT_OUTPUT>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_QUERY_FILE_LAYOUT_OUTPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_FILE_LAYOUT_OUTPUT>())).Reserved as *const _ 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() { 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::null::<_FILE_LAYOUT_ENTRY>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_ENTRY), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_ENTRY>())).NextFileOffset as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_ENTRY), "::", stringify!(NextFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_ENTRY>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_ENTRY), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_ENTRY>())).FileAttributes as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_ENTRY), "::", stringify!(FileAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_ENTRY>())).FileReferenceNumber as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_ENTRY), "::", stringify!(FileReferenceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_ENTRY>())).FirstNameOffset as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_ENTRY), "::", stringify!(FirstNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_ENTRY>())).FirstStreamOffset as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_ENTRY), "::", stringify!(FirstStreamOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_ENTRY>())).ExtraInfoOffset as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_ENTRY), "::", stringify!(ExtraInfoOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_ENTRY>())).ExtraInfoLength as *const _ 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() { 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::null::<_FILE_LAYOUT_NAME_ENTRY>())).NextNameOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_NAME_ENTRY), "::", stringify!(NextNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_NAME_ENTRY>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_NAME_ENTRY), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_NAME_ENTRY>())).ParentFileReferenceNumber as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_NAME_ENTRY), "::", stringify!(ParentFileReferenceNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_NAME_ENTRY>())).FileNameLength as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_NAME_ENTRY), "::", stringify!(FileNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_NAME_ENTRY>())).Reserved as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_NAME_ENTRY), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_NAME_ENTRY>())).FileName as *const _ 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() { 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::null::<_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1>())).CreationTime as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1), "::", stringify!(CreationTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1>())).LastAccessTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1), "::", stringify!(LastAccessTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1>())).LastWriteTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1), "::", stringify!(LastWriteTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1>())).ChangeTime as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1), "::", stringify!(ChangeTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1>())).FileAttributes as *const _ 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() { 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::null::<_FILE_LAYOUT_INFO_ENTRY>())).BasicInformation as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_INFO_ENTRY), "::", stringify!(BasicInformation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_INFO_ENTRY>())).OwnerId as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_INFO_ENTRY), "::", stringify!(OwnerId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_INFO_ENTRY>())).SecurityId as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_INFO_ENTRY), "::", stringify!(SecurityId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_INFO_ENTRY>())).Usn as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_FILE_LAYOUT_INFO_ENTRY), "::", stringify!(Usn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_LAYOUT_INFO_ENTRY>())).StorageReserveId as *const _ 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() { 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::null::<_STREAM_LAYOUT_ENTRY>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STREAM_LAYOUT_ENTRY), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAM_LAYOUT_ENTRY>())).NextStreamOffset as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STREAM_LAYOUT_ENTRY), "::", stringify!(NextStreamOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAM_LAYOUT_ENTRY>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STREAM_LAYOUT_ENTRY), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAM_LAYOUT_ENTRY>())).ExtentInformationOffset as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_STREAM_LAYOUT_ENTRY), "::", stringify!(ExtentInformationOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAM_LAYOUT_ENTRY>())).AllocationSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_STREAM_LAYOUT_ENTRY), "::", stringify!(AllocationSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAM_LAYOUT_ENTRY>())).EndOfFile as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_STREAM_LAYOUT_ENTRY), "::", stringify!(EndOfFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAM_LAYOUT_ENTRY>())).StreamInformationOffset as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_STREAM_LAYOUT_ENTRY), "::", stringify!(StreamInformationOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAM_LAYOUT_ENTRY>())).AttributeTypeCode as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_STREAM_LAYOUT_ENTRY), "::", stringify!(AttributeTypeCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAM_LAYOUT_ENTRY>())).AttributeFlags as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_STREAM_LAYOUT_ENTRY), "::", stringify!(AttributeFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAM_LAYOUT_ENTRY>())).StreamIdentifierLength as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_STREAM_LAYOUT_ENTRY), "::", stringify!(StreamIdentifierLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAM_LAYOUT_ENTRY>())).StreamIdentifier as *const _ 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, _bindgen_union_align: [u64; 4usize], } #[test] fn bindgen_test_layout__STREAM_EXTENT_ENTRY__bindgen_ty_1() { 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::null::<_STREAM_EXTENT_ENTRY__bindgen_ty_1>())).RetrievalPointers as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STREAM_EXTENT_ENTRY__bindgen_ty_1), "::", stringify!(RetrievalPointers) ) ); } #[test] fn bindgen_test_layout__STREAM_EXTENT_ENTRY() { 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::null::<_STREAM_EXTENT_ENTRY>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STREAM_EXTENT_ENTRY), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAM_EXTENT_ENTRY>())).ExtentInformation as *const _ 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() { 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::null::<_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER>())).ChecksumAlgorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER), "::", stringify!(ChecksumAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER>())).Reserved as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER>())) .ChecksumChunkSizeInBytes as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER), "::", stringify!(ChecksumChunkSizeInBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER>())).ClusterSizeInBytes as *const _ 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() { 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::null::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER>())).ChecksumAlgorithm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER), "::", stringify!(ChecksumAlgorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER>())).Reserved as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER>())).Flags as *const _ 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() { 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::null::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX>())).EnableIntegrity as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), "::", stringify!(EnableIntegrity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX>())) .KeepIntegrityStateUnchanged as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), "::", stringify!(KeepIntegrityStateUnchanged) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX>())).Reserved as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX>())).Version as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX>())).Reserved2 as *const _ 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() { 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::null::<_FSCTL_OFFLOAD_READ_INPUT>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FSCTL_OFFLOAD_READ_INPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_OFFLOAD_READ_INPUT>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FSCTL_OFFLOAD_READ_INPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_OFFLOAD_READ_INPUT>())).TokenTimeToLive as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FSCTL_OFFLOAD_READ_INPUT), "::", stringify!(TokenTimeToLive) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_OFFLOAD_READ_INPUT>())).Reserved as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_FSCTL_OFFLOAD_READ_INPUT), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_OFFLOAD_READ_INPUT>())).FileOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FSCTL_OFFLOAD_READ_INPUT), "::", stringify!(FileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_OFFLOAD_READ_INPUT>())).CopyLength as *const _ 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(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() { 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::null::<_FSCTL_OFFLOAD_READ_OUTPUT>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FSCTL_OFFLOAD_READ_OUTPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_OFFLOAD_READ_OUTPUT>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FSCTL_OFFLOAD_READ_OUTPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_OFFLOAD_READ_OUTPUT>())).TransferLength as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FSCTL_OFFLOAD_READ_OUTPUT), "::", stringify!(TransferLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_OFFLOAD_READ_OUTPUT>())).Token as *const _ 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(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() { 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::null::<_FSCTL_OFFLOAD_WRITE_INPUT>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_OFFLOAD_WRITE_INPUT>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_OFFLOAD_WRITE_INPUT>())).FileOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), "::", stringify!(FileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_OFFLOAD_WRITE_INPUT>())).CopyLength as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), "::", stringify!(CopyLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_OFFLOAD_WRITE_INPUT>())).TransferOffset as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), "::", stringify!(TransferOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_OFFLOAD_WRITE_INPUT>())).Token as *const _ 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() { 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::null::<_FSCTL_OFFLOAD_WRITE_OUTPUT>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FSCTL_OFFLOAD_WRITE_OUTPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_OFFLOAD_WRITE_OUTPUT>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FSCTL_OFFLOAD_WRITE_OUTPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_OFFLOAD_WRITE_OUTPUT>())).LengthWritten as *const _ 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() { 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::null::<_SET_PURGE_FAILURE_MODE_INPUT>())).Flags as *const _ 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() { 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::null::<_REPAIR_COPIES_INPUT>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REPAIR_COPIES_INPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REPAIR_COPIES_INPUT>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_REPAIR_COPIES_INPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REPAIR_COPIES_INPUT>())).FileOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_REPAIR_COPIES_INPUT), "::", stringify!(FileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REPAIR_COPIES_INPUT>())).Length as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_REPAIR_COPIES_INPUT), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REPAIR_COPIES_INPUT>())).SourceCopy as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_REPAIR_COPIES_INPUT), "::", stringify!(SourceCopy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REPAIR_COPIES_INPUT>())).NumberOfRepairCopies as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_REPAIR_COPIES_INPUT), "::", stringify!(NumberOfRepairCopies) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REPAIR_COPIES_INPUT>())).RepairCopies as *const _ 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() { 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::null::<_REPAIR_COPIES_OUTPUT>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REPAIR_COPIES_OUTPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REPAIR_COPIES_OUTPUT>())).Status as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_REPAIR_COPIES_OUTPUT), "::", stringify!(Status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REPAIR_COPIES_OUTPUT>())).ResumeFileOffset as *const _ 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() { 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::null::<_FILE_REGION_INFO>())).FileOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_REGION_INFO), "::", stringify!(FileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REGION_INFO>())).Length as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_REGION_INFO), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REGION_INFO>())).Usage as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_REGION_INFO), "::", stringify!(Usage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REGION_INFO>())).Reserved as *const _ 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() { 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::null::<_FILE_REGION_OUTPUT>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_REGION_OUTPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REGION_OUTPUT>())).TotalRegionEntryCount as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_REGION_OUTPUT), "::", stringify!(TotalRegionEntryCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REGION_OUTPUT>())).RegionEntryCount as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_REGION_OUTPUT), "::", stringify!(RegionEntryCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REGION_OUTPUT>())).Reserved as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_FILE_REGION_OUTPUT), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REGION_OUTPUT>())).Region as *const _ 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() { 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::null::<_FILE_REGION_INPUT>())).FileOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_REGION_INPUT), "::", stringify!(FileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REGION_INPUT>())).Length as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FILE_REGION_INPUT), "::", stringify!(Length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_REGION_INPUT>())).DesiredUsage as *const _ 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() { 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::null::<_WRITE_USN_REASON_INPUT>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WRITE_USN_REASON_INPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WRITE_USN_REASON_INPUT>())).UsnReasonToWrite as *const _ 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(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() { 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::null::<_FILE_STORAGE_TIER>())).Id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_STORAGE_TIER), "::", stringify!(Id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STORAGE_TIER>())).Name as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_STORAGE_TIER), "::", stringify!(Name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STORAGE_TIER>())).Description as *const _ as usize }, 528usize, concat!( "Offset of field: ", stringify!(_FILE_STORAGE_TIER), "::", stringify!(Description) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STORAGE_TIER>())).Flags as *const _ as usize }, 1040usize, concat!( "Offset of field: ", stringify!(_FILE_STORAGE_TIER), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STORAGE_TIER>())).ProvisionedCapacity as *const _ as usize }, 1048usize, concat!( "Offset of field: ", stringify!(_FILE_STORAGE_TIER), "::", stringify!(ProvisionedCapacity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STORAGE_TIER>())).MediaType as *const _ as usize }, 1056usize, concat!( "Offset of field: ", stringify!(_FILE_STORAGE_TIER), "::", stringify!(MediaType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STORAGE_TIER>())).Class as *const _ 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(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() { 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::null::<_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT>())).TotalNumberOfTiers as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), "::", stringify!(TotalNumberOfTiers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT>())).NumberOfTiersReturned as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), "::", stringify!(NumberOfTiersReturned) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT>())).Tiers as *const _ 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, _bindgen_union_align: [u32; 2usize], } #[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() { 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::null::< _STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass, >())) .Class as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass), "::", stringify!(Class) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::< _STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass, >())) .Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass), "::", stringify!(Flags) ) ); } #[test] fn bindgen_test_layout__STREAM_INFORMATION_ENTRY__StreamInformation() { assert_eq!( ::std::mem::size_of::<_STREAM_INFORMATION_ENTRY__StreamInformation>(), 8usize, concat!( "Size of: ", stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation) ) ); assert_eq!( ::std::mem::align_of::<_STREAM_INFORMATION_ENTRY__StreamInformation>(), 4usize, concat!( "Alignment of ", stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAM_INFORMATION_ENTRY__StreamInformation>())) .DesiredStorageClass as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation), "::", stringify!(DesiredStorageClass) ) ); } #[test] fn bindgen_test_layout__STREAM_INFORMATION_ENTRY() { assert_eq!( ::std::mem::size_of::<_STREAM_INFORMATION_ENTRY>(), 16usize, concat!("Size of: ", stringify!(_STREAM_INFORMATION_ENTRY)) ); assert_eq!( ::std::mem::align_of::<_STREAM_INFORMATION_ENTRY>(), 4usize, concat!("Alignment of ", stringify!(_STREAM_INFORMATION_ENTRY)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAM_INFORMATION_ENTRY>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STREAM_INFORMATION_ENTRY), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAM_INFORMATION_ENTRY>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STREAM_INFORMATION_ENTRY), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAM_INFORMATION_ENTRY>())).StreamInformation as *const _ 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() { 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::null::<_FSCTL_QUERY_REGION_INFO_INPUT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_REGION_INFO_INPUT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_REGION_INFO_INPUT>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_REGION_INFO_INPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_REGION_INFO_INPUT>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_REGION_INFO_INPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_REGION_INFO_INPUT>())).NumberOfTierIds as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_REGION_INFO_INPUT), "::", stringify!(NumberOfTierIds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_REGION_INFO_INPUT>())).TierIds as *const _ 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() { 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::null::<_FILE_STORAGE_TIER_REGION>())).TierId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_STORAGE_TIER_REGION), "::", stringify!(TierId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STORAGE_TIER_REGION>())).Offset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FILE_STORAGE_TIER_REGION), "::", stringify!(Offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_STORAGE_TIER_REGION>())).Length as *const _ 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() { 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::null::<_FSCTL_QUERY_REGION_INFO_OUTPUT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_REGION_INFO_OUTPUT>())).Size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_REGION_INFO_OUTPUT>())).Flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_REGION_INFO_OUTPUT>())).Reserved as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_REGION_INFO_OUTPUT>())).Alignment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), "::", stringify!(Alignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_REGION_INFO_OUTPUT>())).TotalNumberOfRegions as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), "::", stringify!(TotalNumberOfRegions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_REGION_INFO_OUTPUT>())).NumberOfRegionsReturned as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), "::", stringify!(NumberOfRegionsReturned) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FSCTL_QUERY_REGION_INFO_OUTPUT>())).Regions as *const _ 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() { 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::null::<_FILE_DESIRED_STORAGE_CLASS_INFORMATION>())).Class as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_DESIRED_STORAGE_CLASS_INFORMATION), "::", stringify!(Class) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_DESIRED_STORAGE_CLASS_INFORMATION>())).Flags as *const _ 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() { 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::null::<_DUPLICATE_EXTENTS_DATA>())).FileHandle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA), "::", stringify!(FileHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA>())).SourceFileOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA), "::", stringify!(SourceFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA>())).TargetFileOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA), "::", stringify!(TargetFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA>())).ByteCount as *const _ 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() { 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::null::<_DUPLICATE_EXTENTS_DATA32>())).FileHandle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA32), "::", stringify!(FileHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA32>())).SourceFileOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA32), "::", stringify!(SourceFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA32>())).TargetFileOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA32), "::", stringify!(TargetFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA32>())).ByteCount as *const _ 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() { 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::null::<_DUPLICATE_EXTENTS_DATA_EX>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA_EX), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA_EX>())).FileHandle as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA_EX), "::", stringify!(FileHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA_EX>())).SourceFileOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA_EX), "::", stringify!(SourceFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA_EX>())).TargetFileOffset as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA_EX), "::", stringify!(TargetFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA_EX>())).ByteCount as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA_EX), "::", stringify!(ByteCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA_EX>())).Flags as *const _ 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() { 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::null::<_DUPLICATE_EXTENTS_DATA_EX32>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA_EX32), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA_EX32>())).FileHandle as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA_EX32), "::", stringify!(FileHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA_EX32>())).SourceFileOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA_EX32), "::", stringify!(SourceFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA_EX32>())).TargetFileOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA_EX32), "::", stringify!(TargetFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA_EX32>())).ByteCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA_EX32), "::", stringify!(ByteCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DUPLICATE_EXTENTS_DATA_EX32>())).Flags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DUPLICATE_EXTENTS_DATA_EX32), "::", stringify!(Flags) ) ); } pub type DUPLICATE_EXTENTS_DATA_EX32 = _DUPLICATE_EXTENTS_DATA_EX32; pub type PDUPLICATE_EXTENTS_DATA_EX32 = *mut _DUPLICATE_EXTENTS_DATA_EX32; pub const _REFS_SMR_VOLUME_GC_STATE_SmrGcStateInactive: _REFS_SMR_VOLUME_GC_STATE = 0; pub const _REFS_SMR_VOLUME_GC_STATE_SmrGcStatePaused: _REFS_SMR_VOLUME_GC_STATE = 1; pub const _REFS_SMR_VOLUME_GC_STATE_SmrGcStateActive: _REFS_SMR_VOLUME_GC_STATE = 2; pub const _REFS_SMR_VOLUME_GC_STATE_SmrGcStateActiveFullSpeed: _REFS_SMR_VOLUME_GC_STATE = 3; pub type _REFS_SMR_VOLUME_GC_STATE = ::std::os::raw::c_int; pub use self::_REFS_SMR_VOLUME_GC_STATE as REFS_SMR_VOLUME_GC_STATE; pub type PREFS_SMR_VOLUME_GC_STATE = *mut _REFS_SMR_VOLUME_GC_STATE; #[repr(C)] #[derive(Copy, Clone)] pub struct _REFS_SMR_VOLUME_INFO_OUTPUT { pub Version: DWORD, pub Flags: DWORD, pub SizeOfRandomlyWritableTier: LARGE_INTEGER, pub FreeSpaceInRandomlyWritableTier: LARGE_INTEGER, pub SizeofSMRTier: LARGE_INTEGER, pub FreeSpaceInSMRTier: LARGE_INTEGER, pub UsableFreeSpaceInSMRTier: LARGE_INTEGER, pub VolumeGcState: REFS_SMR_VOLUME_GC_STATE, pub VolumeGcLastStatus: DWORD, pub Unused: [DWORDLONG; 7usize], } #[test] fn bindgen_test_layout__REFS_SMR_VOLUME_INFO_OUTPUT() { 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::null::<_REFS_SMR_VOLUME_INFO_OUTPUT>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REFS_SMR_VOLUME_INFO_OUTPUT>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REFS_SMR_VOLUME_INFO_OUTPUT>())).SizeOfRandomlyWritableTier as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), "::", stringify!(SizeOfRandomlyWritableTier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REFS_SMR_VOLUME_INFO_OUTPUT>())).FreeSpaceInRandomlyWritableTier as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), "::", stringify!(FreeSpaceInRandomlyWritableTier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REFS_SMR_VOLUME_INFO_OUTPUT>())).SizeofSMRTier as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), "::", stringify!(SizeofSMRTier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REFS_SMR_VOLUME_INFO_OUTPUT>())).FreeSpaceInSMRTier as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), "::", stringify!(FreeSpaceInSMRTier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REFS_SMR_VOLUME_INFO_OUTPUT>())).UsableFreeSpaceInSMRTier as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), "::", stringify!(UsableFreeSpaceInSMRTier) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REFS_SMR_VOLUME_INFO_OUTPUT>())).VolumeGcState as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), "::", stringify!(VolumeGcState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REFS_SMR_VOLUME_INFO_OUTPUT>())).VolumeGcLastStatus as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), "::", stringify!(VolumeGcLastStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REFS_SMR_VOLUME_INFO_OUTPUT>())).Unused as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), "::", stringify!(Unused) ) ); } pub type REFS_SMR_VOLUME_INFO_OUTPUT = _REFS_SMR_VOLUME_INFO_OUTPUT; pub type PREFS_SMR_VOLUME_INFO_OUTPUT = *mut _REFS_SMR_VOLUME_INFO_OUTPUT; pub const _REFS_SMR_VOLUME_GC_ACTION_SmrGcActionStart: _REFS_SMR_VOLUME_GC_ACTION = 1; pub const _REFS_SMR_VOLUME_GC_ACTION_SmrGcActionStartFullSpeed: _REFS_SMR_VOLUME_GC_ACTION = 2; pub const _REFS_SMR_VOLUME_GC_ACTION_SmrGcActionPause: _REFS_SMR_VOLUME_GC_ACTION = 3; pub const _REFS_SMR_VOLUME_GC_ACTION_SmrGcActionStop: _REFS_SMR_VOLUME_GC_ACTION = 4; pub type _REFS_SMR_VOLUME_GC_ACTION = ::std::os::raw::c_int; pub use self::_REFS_SMR_VOLUME_GC_ACTION as REFS_SMR_VOLUME_GC_ACTION; pub type PREFS_SMR_VOLUME_GC_ACTION = *mut _REFS_SMR_VOLUME_GC_ACTION; pub const _REFS_SMR_VOLUME_GC_METHOD_SmrGcMethodCompaction: _REFS_SMR_VOLUME_GC_METHOD = 1; pub const _REFS_SMR_VOLUME_GC_METHOD_SmrGcMethodCompression: _REFS_SMR_VOLUME_GC_METHOD = 2; pub const _REFS_SMR_VOLUME_GC_METHOD_SmrGcMethodRotation: _REFS_SMR_VOLUME_GC_METHOD = 3; pub type _REFS_SMR_VOLUME_GC_METHOD = ::std::os::raw::c_int; pub use self::_REFS_SMR_VOLUME_GC_METHOD as REFS_SMR_VOLUME_GC_METHOD; pub type PREFS_SMR_VOLUME_GC_METHOD = *mut _REFS_SMR_VOLUME_GC_METHOD; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _REFS_SMR_VOLUME_GC_PARAMETERS { pub Version: DWORD, pub Flags: DWORD, pub Action: REFS_SMR_VOLUME_GC_ACTION, pub Method: REFS_SMR_VOLUME_GC_METHOD, pub IoGranularity: DWORD, pub CompressionFormat: DWORD, pub Unused: [DWORDLONG; 8usize], } #[test] fn bindgen_test_layout__REFS_SMR_VOLUME_GC_PARAMETERS() { 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::null::<_REFS_SMR_VOLUME_GC_PARAMETERS>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REFS_SMR_VOLUME_GC_PARAMETERS>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REFS_SMR_VOLUME_GC_PARAMETERS>())).Action as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), "::", stringify!(Action) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REFS_SMR_VOLUME_GC_PARAMETERS>())).Method as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), "::", stringify!(Method) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REFS_SMR_VOLUME_GC_PARAMETERS>())).IoGranularity as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), "::", stringify!(IoGranularity) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REFS_SMR_VOLUME_GC_PARAMETERS>())).CompressionFormat as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), "::", stringify!(CompressionFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REFS_SMR_VOLUME_GC_PARAMETERS>())).Unused as *const _ 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() { 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::null::<_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER>())).OptimalWriteSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER), "::", stringify!(OptimalWriteSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER>())) .StreamGranularitySize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER), "::", stringify!(StreamGranularitySize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER>())).StreamIdMin as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER), "::", stringify!(StreamIdMin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER>())).StreamIdMax as *const _ 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() { 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::null::<_STREAMS_ASSOCIATE_ID_INPUT_BUFFER>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_STREAMS_ASSOCIATE_ID_INPUT_BUFFER), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_STREAMS_ASSOCIATE_ID_INPUT_BUFFER>())).StreamId as *const _ 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() { 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::null::<_STREAMS_QUERY_ID_OUTPUT_BUFFER>())).StreamId as *const _ 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() { 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::null::<_QUERY_BAD_RANGES_INPUT_RANGE>())).StartOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_QUERY_BAD_RANGES_INPUT_RANGE), "::", stringify!(StartOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_BAD_RANGES_INPUT_RANGE>())).LengthInBytes as *const _ 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() { 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::null::<_QUERY_BAD_RANGES_INPUT>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_QUERY_BAD_RANGES_INPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_BAD_RANGES_INPUT>())).NumRanges as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_QUERY_BAD_RANGES_INPUT), "::", stringify!(NumRanges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_BAD_RANGES_INPUT>())).Ranges as *const _ 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() { 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::null::<_QUERY_BAD_RANGES_OUTPUT_RANGE>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_QUERY_BAD_RANGES_OUTPUT_RANGE), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_BAD_RANGES_OUTPUT_RANGE>())).Reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_QUERY_BAD_RANGES_OUTPUT_RANGE), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_BAD_RANGES_OUTPUT_RANGE>())).StartOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_QUERY_BAD_RANGES_OUTPUT_RANGE), "::", stringify!(StartOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_BAD_RANGES_OUTPUT_RANGE>())).LengthInBytes as *const _ 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() { 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::null::<_QUERY_BAD_RANGES_OUTPUT>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_QUERY_BAD_RANGES_OUTPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_BAD_RANGES_OUTPUT>())).NumBadRanges as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_QUERY_BAD_RANGES_OUTPUT), "::", stringify!(NumBadRanges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_BAD_RANGES_OUTPUT>())).NextOffsetToLookUp as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_QUERY_BAD_RANGES_OUTPUT), "::", stringify!(NextOffsetToLookUp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_BAD_RANGES_OUTPUT>())).BadRanges as *const _ 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() { 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::null::<_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT>())).AlignmentShift as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT), "::", stringify!(AlignmentShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT>())).FileOffsetToAlign as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT), "::", stringify!(FileOffsetToAlign) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT>())).FallbackAlignmentShift as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT), "::", stringify!(FallbackAlignmentShift) ) ); } pub type SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT = _SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT; pub type PSET_DAX_ALLOC_ALIGNMENT_HINT_INPUT = *mut _SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT; pub const _VIRTUAL_STORAGE_BEHAVIOR_CODE_VirtualStorageBehaviorUndefined: _VIRTUAL_STORAGE_BEHAVIOR_CODE = 0; pub const _VIRTUAL_STORAGE_BEHAVIOR_CODE_VirtualStorageBehaviorCacheWriteThrough: _VIRTUAL_STORAGE_BEHAVIOR_CODE = 1; pub const _VIRTUAL_STORAGE_BEHAVIOR_CODE_VirtualStorageBehaviorCacheWriteBack: _VIRTUAL_STORAGE_BEHAVIOR_CODE = 2; pub type _VIRTUAL_STORAGE_BEHAVIOR_CODE = ::std::os::raw::c_int; pub use self::_VIRTUAL_STORAGE_BEHAVIOR_CODE as VIRTUAL_STORAGE_BEHAVIOR_CODE; pub type PVIRTUAL_STORAGE_BEHAVIOR_CODE = *mut _VIRTUAL_STORAGE_BEHAVIOR_CODE; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT { pub Size: DWORD, pub BehaviorCode: VIRTUAL_STORAGE_BEHAVIOR_CODE, } #[test] fn bindgen_test_layout__VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT() { 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::null::<_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT>())).BehaviorCode as *const _ 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() { 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::null::<_ENCRYPTION_KEY_CTRL_INPUT>())).HeaderSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_KEY_CTRL_INPUT), "::", stringify!(HeaderSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_KEY_CTRL_INPUT>())).StructureSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_KEY_CTRL_INPUT), "::", stringify!(StructureSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_KEY_CTRL_INPUT>())).KeyOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_KEY_CTRL_INPUT), "::", stringify!(KeyOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_KEY_CTRL_INPUT>())).KeySize as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_KEY_CTRL_INPUT), "::", stringify!(KeySize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_KEY_CTRL_INPUT>())).DplLock as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_KEY_CTRL_INPUT), "::", stringify!(DplLock) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_KEY_CTRL_INPUT>())).DplUserId as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_ENCRYPTION_KEY_CTRL_INPUT), "::", stringify!(DplUserId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENCRYPTION_KEY_CTRL_INPUT>())).DplCredentialId as *const _ 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() { 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::null::<_WOF_EXTERNAL_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WOF_EXTERNAL_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WOF_EXTERNAL_INFO>())).Provider as *const _ 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() { 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::null::<_WOF_EXTERNAL_FILE_ID>())).FileId as *const _ 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() { 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::null::<_WOF_VERSION_INFO>())).WofVersion as *const _ 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() { 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::null::<_WIM_PROVIDER_EXTERNAL_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WIM_PROVIDER_EXTERNAL_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIM_PROVIDER_EXTERNAL_INFO>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_WIM_PROVIDER_EXTERNAL_INFO), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIM_PROVIDER_EXTERNAL_INFO>())).DataSourceId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_WIM_PROVIDER_EXTERNAL_INFO), "::", stringify!(DataSourceId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIM_PROVIDER_EXTERNAL_INFO>())).ResourceHash as *const _ 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() { 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::null::<_WIM_PROVIDER_ADD_OVERLAY_INPUT>())).WimType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WIM_PROVIDER_ADD_OVERLAY_INPUT), "::", stringify!(WimType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIM_PROVIDER_ADD_OVERLAY_INPUT>())).WimIndex as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_WIM_PROVIDER_ADD_OVERLAY_INPUT), "::", stringify!(WimIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIM_PROVIDER_ADD_OVERLAY_INPUT>())).WimFileNameOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_WIM_PROVIDER_ADD_OVERLAY_INPUT), "::", stringify!(WimFileNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIM_PROVIDER_ADD_OVERLAY_INPUT>())).WimFileNameLength as *const _ 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() { 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::null::<_WIM_PROVIDER_UPDATE_OVERLAY_INPUT>())).DataSourceId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WIM_PROVIDER_UPDATE_OVERLAY_INPUT), "::", stringify!(DataSourceId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIM_PROVIDER_UPDATE_OVERLAY_INPUT>())).WimFileNameOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_WIM_PROVIDER_UPDATE_OVERLAY_INPUT), "::", stringify!(WimFileNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIM_PROVIDER_UPDATE_OVERLAY_INPUT>())).WimFileNameLength as *const _ 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() { 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::null::<_WIM_PROVIDER_REMOVE_OVERLAY_INPUT>())).DataSourceId as *const _ 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() { 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::null::<_WIM_PROVIDER_SUSPEND_OVERLAY_INPUT>())).DataSourceId as *const _ 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() { 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::null::<_WIM_PROVIDER_OVERLAY_ENTRY>())).NextEntryOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), "::", stringify!(NextEntryOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIM_PROVIDER_OVERLAY_ENTRY>())).DataSourceId as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), "::", stringify!(DataSourceId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIM_PROVIDER_OVERLAY_ENTRY>())).WimGuid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), "::", stringify!(WimGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIM_PROVIDER_OVERLAY_ENTRY>())).WimFileNameOffset as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), "::", stringify!(WimFileNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIM_PROVIDER_OVERLAY_ENTRY>())).WimType as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), "::", stringify!(WimType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIM_PROVIDER_OVERLAY_ENTRY>())).WimIndex as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), "::", stringify!(WimIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_WIM_PROVIDER_OVERLAY_ENTRY>())).Flags as *const _ 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() { 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::null::<_FILE_PROVIDER_EXTERNAL_INFO_V0>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V0), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_PROVIDER_EXTERNAL_INFO_V0>())).Algorithm as *const _ 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() { 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::null::<_FILE_PROVIDER_EXTERNAL_INFO_V1>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V1), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_PROVIDER_EXTERNAL_INFO_V1>())).Algorithm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V1), "::", stringify!(Algorithm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FILE_PROVIDER_EXTERNAL_INFO_V1>())).Flags as *const _ 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() { 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::null::<_CONTAINER_VOLUME_STATE>())).Flags as *const _ 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() { 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::null::<_CONTAINER_ROOT_INFO_INPUT>())).Flags as *const _ 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() { 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::null::<_CONTAINER_ROOT_INFO_OUTPUT>())).ContainerRootIdLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CONTAINER_ROOT_INFO_OUTPUT), "::", stringify!(ContainerRootIdLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CONTAINER_ROOT_INFO_OUTPUT>())).ContainerRootId as *const _ 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() { 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::null::<_VIRTUALIZATION_INSTANCE_INFO_INPUT>())).NumberOfWorkerThreads as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT), "::", stringify!(NumberOfWorkerThreads) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIRTUALIZATION_INSTANCE_INFO_INPUT>())).Flags as *const _ 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() { 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::null::<_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX>())).HeaderSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX), "::", stringify!(HeaderSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX>())).NotificationInfoSize as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX), "::", stringify!(NotificationInfoSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX>())) .NotificationInfoOffset as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX), "::", stringify!(NotificationInfoOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX>())).ProviderMajorVersion as *const _ 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() { 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::null::<_VIRTUALIZATION_INSTANCE_INFO_OUTPUT>())) .VirtualizationInstanceID as *const _ 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() { 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::null::<_GET_FILTER_FILE_IDENTIFIER_INPUT>())).AltitudeLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GET_FILTER_FILE_IDENTIFIER_INPUT), "::", stringify!(AltitudeLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_FILTER_FILE_IDENTIFIER_INPUT>())).Altitude as *const _ 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() { 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::null::<_GET_FILTER_FILE_IDENTIFIER_OUTPUT>())) .FilterFileIdentifierLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GET_FILTER_FILE_IDENTIFIER_OUTPUT), "::", stringify!(FilterFileIdentifierLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GET_FILTER_FILE_IDENTIFIER_OUTPUT>())).FilterFileIdentifier as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_GET_FILTER_FILE_IDENTIFIER_OUTPUT), "::", stringify!(FilterFileIdentifier) ) ); } pub type GET_FILTER_FILE_IDENTIFIER_OUTPUT = _GET_FILTER_FILE_IDENTIFIER_OUTPUT; pub type PGET_FILTER_FILE_IDENTIFIER_OUTPUT = *mut _GET_FILTER_FILE_IDENTIFIER_OUTPUT; #[repr(C)] #[derive(Copy, Clone)] pub struct _DISK_EXTENT { pub DiskNumber: DWORD, pub StartingOffset: LARGE_INTEGER, pub ExtentLength: LARGE_INTEGER, } #[test] fn bindgen_test_layout__DISK_EXTENT() { 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::null::<_DISK_EXTENT>())).DiskNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DISK_EXTENT), "::", stringify!(DiskNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_EXTENT>())).StartingOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DISK_EXTENT), "::", stringify!(StartingOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DISK_EXTENT>())).ExtentLength as *const _ 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() { 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::null::<_VOLUME_DISK_EXTENTS>())).NumberOfDiskExtents as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_VOLUME_DISK_EXTENTS), "::", stringify!(NumberOfDiskExtents) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_VOLUME_DISK_EXTENTS>())).Extents as *const _ 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() { 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::null::<_VOLUME_GET_GPT_ATTRIBUTES_INFORMATION>())).GptAttributes as *const _ 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() { 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::null::<_IO_IRP_EXT_TRACK_OFFSET_HEADER>())).Validation as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IO_IRP_EXT_TRACK_OFFSET_HEADER), "::", stringify!(Validation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IO_IRP_EXT_TRACK_OFFSET_HEADER>())).Flags as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_IO_IRP_EXT_TRACK_OFFSET_HEADER), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_IO_IRP_EXT_TRACK_OFFSET_HEADER>())).TrackedOffsetCallback as *const _ 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() { 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::null::<_SCARD_IO_REQUEST>())).dwProtocol as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCARD_IO_REQUEST), "::", stringify!(dwProtocol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCARD_IO_REQUEST>())).cbPciLength as *const _ 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() { 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::null::<_SCARD_T0_COMMAND>())).bCla as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCARD_T0_COMMAND), "::", stringify!(bCla) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCARD_T0_COMMAND>())).bIns as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(_SCARD_T0_COMMAND), "::", stringify!(bIns) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCARD_T0_COMMAND>())).bP1 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_SCARD_T0_COMMAND), "::", stringify!(bP1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCARD_T0_COMMAND>())).bP2 as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(_SCARD_T0_COMMAND), "::", stringify!(bP2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCARD_T0_COMMAND>())).bP3 as *const _ 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], _bindgen_union_align: [u8; 5usize], } #[test] fn bindgen_test_layout__SCARD_T0_REQUEST__bindgen_ty_1() { 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::null::<_SCARD_T0_REQUEST__bindgen_ty_1>())).CmdBytes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCARD_T0_REQUEST__bindgen_ty_1), "::", stringify!(CmdBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCARD_T0_REQUEST__bindgen_ty_1>())).rgbHeader as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCARD_T0_REQUEST__bindgen_ty_1), "::", stringify!(rgbHeader) ) ); } #[test] fn bindgen_test_layout__SCARD_T0_REQUEST() { 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::null::<_SCARD_T0_REQUEST>())).ioRequest as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCARD_T0_REQUEST), "::", stringify!(ioRequest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCARD_T0_REQUEST>())).bSw1 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SCARD_T0_REQUEST), "::", stringify!(bSw1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCARD_T0_REQUEST>())).bSw2 as *const _ 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() { 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::null::<_SCARD_T1_REQUEST>())).ioRequest as *const _ 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(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() { 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::null::())).szReader as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(SCARD_READERSTATEA), "::", stringify!(szReader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pvUserData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(SCARD_READERSTATEA), "::", stringify!(pvUserData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwCurrentState as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(SCARD_READERSTATEA), "::", stringify!(dwCurrentState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwEventState as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(SCARD_READERSTATEA), "::", stringify!(dwEventState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbAtr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(SCARD_READERSTATEA), "::", stringify!(cbAtr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgbAtr as *const _ 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(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() { 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::null::())).szReader as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(SCARD_READERSTATEW), "::", stringify!(szReader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pvUserData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(SCARD_READERSTATEW), "::", stringify!(pvUserData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwCurrentState as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(SCARD_READERSTATEW), "::", stringify!(dwCurrentState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwEventState as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(SCARD_READERSTATEW), "::", stringify!(dwEventState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbAtr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(SCARD_READERSTATEW), "::", stringify!(cbAtr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgbAtr as *const _ 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(Copy, Clone)] pub struct _SCARD_ATRMASK { pub cbAtr: DWORD, pub rgbAtr: [BYTE; 36usize], pub rgbMask: [BYTE; 36usize], } #[test] fn bindgen_test_layout__SCARD_ATRMASK() { 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::null::<_SCARD_ATRMASK>())).cbAtr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SCARD_ATRMASK), "::", stringify!(cbAtr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCARD_ATRMASK>())).rgbAtr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SCARD_ATRMASK), "::", stringify!(rgbAtr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SCARD_ATRMASK>())).rgbMask as *const _ 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() { 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::null::())).dwStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAA), "::", stringify!(dwStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrGroupNames as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAA), "::", stringify!(lpstrGroupNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxGroupNames as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAA), "::", stringify!(nMaxGroupNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgguidInterfaces as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAA), "::", stringify!(rgguidInterfaces) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cguidInterfaces as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAA), "::", stringify!(cguidInterfaces) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrCardNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAA), "::", stringify!(lpstrCardNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxCardNames as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAA), "::", stringify!(nMaxCardNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnCheck as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAA), "::", stringify!(lpfnCheck) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnConnect as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAA), "::", stringify!(lpfnConnect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnDisconnect as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAA), "::", stringify!(lpfnDisconnect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pvUserData as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAA), "::", stringify!(pvUserData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwShareMode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAA), "::", stringify!(dwShareMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwPreferredProtocols as *const _ 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() { 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::null::())).dwStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAW), "::", stringify!(dwStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrGroupNames as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAW), "::", stringify!(lpstrGroupNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxGroupNames as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAW), "::", stringify!(nMaxGroupNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgguidInterfaces as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAW), "::", stringify!(rgguidInterfaces) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cguidInterfaces as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAW), "::", stringify!(cguidInterfaces) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrCardNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAW), "::", stringify!(lpstrCardNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxCardNames as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAW), "::", stringify!(nMaxCardNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnCheck as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAW), "::", stringify!(lpfnCheck) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnConnect as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAW), "::", stringify!(lpfnConnect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnDisconnect as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAW), "::", stringify!(lpfnDisconnect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pvUserData as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAW), "::", stringify!(pvUserData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwShareMode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(OPENCARD_SEARCH_CRITERIAW), "::", stringify!(dwShareMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwPreferredProtocols as *const _ 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() { 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::null::())).dwStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(dwStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hSCardContext as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(hSCardContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrTitle as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(lpstrTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrSearchDesc as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(lpstrSearchDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hIcon as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pOpenCardSearchCriteria as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(pOpenCardSearchCriteria) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnConnect as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(lpfnConnect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pvUserData as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(pvUserData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwShareMode as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(dwShareMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwPreferredProtocols as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(dwPreferredProtocols) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrRdr as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(lpstrRdr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxRdr as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(nMaxRdr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrCard as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(lpstrCard) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxCard as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(nMaxCard) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwActiveProtocol as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXA), "::", stringify!(dwActiveProtocol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hCardHandle as *const _ 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() { 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::null::())).dwStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(dwStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hSCardContext as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(hSCardContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrTitle as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(lpstrTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrSearchDesc as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(lpstrSearchDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hIcon as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pOpenCardSearchCriteria as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(pOpenCardSearchCriteria) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnConnect as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(lpfnConnect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pvUserData as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(pvUserData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwShareMode as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(dwShareMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwPreferredProtocols as *const _ as usize }, 84usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(dwPreferredProtocols) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrRdr as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(lpstrRdr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxRdr as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(nMaxRdr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrCard as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(lpstrCard) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxCard as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(nMaxCard) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwActiveProtocol as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(OPENCARDNAME_EXW), "::", stringify!(dwActiveProtocol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hCardHandle as *const _ 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, _bindgen_union_align: [u32; 6usize], } #[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() { 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::null::())) .cbReaderNameOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), "::", stringify!(cbReaderNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .cchReaderNameLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), "::", stringify!(cchReaderNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .cbContainerNameOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), "::", stringify!(cbContainerNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .cchContainerNameLength as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), "::", stringify!(cchContainerNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .dwDesiredCardModuleVersion as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dwDesiredCardModuleVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwCspFlags as *const _ 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() { 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::null::())) .cbSerialNumberOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2), "::", stringify!(cbSerialNumberOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .cbSerialNumberLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2), "::", stringify!(cbSerialNumberLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .dwDesiredCardModuleVersion as *const _ 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() { 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::null::())).ReaderAndContainerParameter as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(READER_SEL_REQUEST__bindgen_ty_1), "::", stringify!(ReaderAndContainerParameter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SerialNumberParameter as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(READER_SEL_REQUEST__bindgen_ty_1), "::", stringify!(SerialNumberParameter) ) ); } #[test] fn bindgen_test_layout_READER_SEL_REQUEST() { 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::null::())).dwShareMode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(READER_SEL_REQUEST), "::", stringify!(dwShareMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwPreferredProtocols as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(READER_SEL_REQUEST), "::", stringify!(dwPreferredProtocols) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MatchType as *const _ 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() { 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::null::())).cbReaderNameOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(READER_SEL_RESPONSE), "::", stringify!(cbReaderNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cchReaderNameLength as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(READER_SEL_RESPONSE), "::", stringify!(cchReaderNameLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbCardNameOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(READER_SEL_RESPONSE), "::", stringify!(cbCardNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cchCardNameLength as *const _ 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() { 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::null::())).dwStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(dwStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hSCardContext as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(hSCardContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrGroupNames as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(lpstrGroupNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxGroupNames as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(nMaxGroupNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrCardNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(lpstrCardNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxCardNames as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(nMaxCardNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgguidInterfaces as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(rgguidInterfaces) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cguidInterfaces as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(cguidInterfaces) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrRdr as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(lpstrRdr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxRdr as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(nMaxRdr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrCard as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(lpstrCard) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxCard as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(nMaxCard) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrTitle as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(lpstrTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pvUserData as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(pvUserData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwShareMode as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(dwShareMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwPreferredProtocols as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(dwPreferredProtocols) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwActiveProtocol as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(dwActiveProtocol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnConnect as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(lpfnConnect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnCheck as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(lpfnCheck) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnDisconnect as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEA), "::", stringify!(lpfnDisconnect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hCardHandle as *const _ 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() { 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::null::())).dwStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(dwStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hSCardContext as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(hSCardContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrGroupNames as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(lpstrGroupNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxGroupNames as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(nMaxGroupNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrCardNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(lpstrCardNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxCardNames as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(nMaxCardNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgguidInterfaces as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(rgguidInterfaces) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cguidInterfaces as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(cguidInterfaces) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrRdr as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(lpstrRdr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxRdr as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(nMaxRdr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrCard as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(lpstrCard) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxCard as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(nMaxCard) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrTitle as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(lpstrTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pvUserData as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(pvUserData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwShareMode as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(dwShareMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwPreferredProtocols as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(dwPreferredProtocols) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwActiveProtocol as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(dwActiveProtocol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnConnect as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(lpfnConnect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnCheck as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(lpfnCheck) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnDisconnect as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(OPENCARDNAMEW), "::", stringify!(lpfnDisconnect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hCardHandle as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEA_V1__bindgen_ty_1() { 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::null::<_PROPSHEETPAGEA_V1__bindgen_ty_1>())).pszTemplate as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_1), "::", stringify!(pszTemplate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V1__bindgen_ty_1>())).pResource as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEA_V1__bindgen_ty_2() { 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::null::<_PROPSHEETPAGEA_V1__bindgen_ty_2>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_2), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V1__bindgen_ty_2>())).pszIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_2), "::", stringify!(pszIcon) ) ); } #[test] fn bindgen_test_layout__PROPSHEETPAGEA_V1() { 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::null::<_PROPSHEETPAGEA_V1>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V1), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V1>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V1), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V1>())).hInstance as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V1), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V1>())).pszTitle as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V1), "::", stringify!(pszTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V1>())).pfnDlgProc as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V1), "::", stringify!(pfnDlgProc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V1>())).lParam as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V1), "::", stringify!(lParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V1>())).pfnCallback as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V1), "::", stringify!(pfnCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V1>())).pcRefParent as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEA_V2__bindgen_ty_1() { 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::null::<_PROPSHEETPAGEA_V2__bindgen_ty_1>())).pszTemplate as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_1), "::", stringify!(pszTemplate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V2__bindgen_ty_1>())).pResource as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEA_V2__bindgen_ty_2() { 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::null::<_PROPSHEETPAGEA_V2__bindgen_ty_2>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_2), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V2__bindgen_ty_2>())).pszIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_2), "::", stringify!(pszIcon) ) ); } #[test] fn bindgen_test_layout__PROPSHEETPAGEA_V2() { 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::null::<_PROPSHEETPAGEA_V2>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V2), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V2>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V2), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V2>())).hInstance as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V2), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V2>())).pszTitle as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V2), "::", stringify!(pszTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V2>())).pfnDlgProc as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V2), "::", stringify!(pfnDlgProc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V2>())).lParam as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V2), "::", stringify!(lParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V2>())).pfnCallback as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V2), "::", stringify!(pfnCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V2>())).pcRefParent as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V2), "::", stringify!(pcRefParent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V2>())).pszHeaderTitle as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V2), "::", stringify!(pszHeaderTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V2>())).pszHeaderSubTitle as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEA_V3__bindgen_ty_1() { 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::null::<_PROPSHEETPAGEA_V3__bindgen_ty_1>())).pszTemplate as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_1), "::", stringify!(pszTemplate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V3__bindgen_ty_1>())).pResource as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEA_V3__bindgen_ty_2() { 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::null::<_PROPSHEETPAGEA_V3__bindgen_ty_2>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_2), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V3__bindgen_ty_2>())).pszIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_2), "::", stringify!(pszIcon) ) ); } #[test] fn bindgen_test_layout__PROPSHEETPAGEA_V3() { 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::null::<_PROPSHEETPAGEA_V3>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V3), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V3>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V3), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V3>())).hInstance as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V3), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V3>())).pszTitle as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V3), "::", stringify!(pszTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V3>())).pfnDlgProc as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V3), "::", stringify!(pfnDlgProc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V3>())).lParam as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V3), "::", stringify!(lParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V3>())).pfnCallback as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V3), "::", stringify!(pfnCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V3>())).pcRefParent as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V3), "::", stringify!(pcRefParent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V3>())).pszHeaderTitle as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V3), "::", stringify!(pszHeaderTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V3>())).pszHeaderSubTitle as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA_V3), "::", stringify!(pszHeaderSubTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA_V3>())).hActCtx as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEA__bindgen_ty_1() { 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::null::<_PROPSHEETPAGEA__bindgen_ty_1>())).pszTemplate as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA__bindgen_ty_1), "::", stringify!(pszTemplate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA__bindgen_ty_1>())).pResource as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEA__bindgen_ty_2() { 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::null::<_PROPSHEETPAGEA__bindgen_ty_2>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA__bindgen_ty_2), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA__bindgen_ty_2>())).pszIcon as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEA__bindgen_ty_3() { 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::null::<_PROPSHEETPAGEA__bindgen_ty_3>())).hbmHeader as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA__bindgen_ty_3), "::", stringify!(hbmHeader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA__bindgen_ty_3>())).pszbmHeader as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA__bindgen_ty_3), "::", stringify!(pszbmHeader) ) ); } #[test] fn bindgen_test_layout__PROPSHEETPAGEA() { 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::null::<_PROPSHEETPAGEA>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA>())).hInstance as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA>())).pszTitle as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA), "::", stringify!(pszTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA>())).pfnDlgProc as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA), "::", stringify!(pfnDlgProc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA>())).lParam as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA), "::", stringify!(lParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA>())).pfnCallback as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA), "::", stringify!(pfnCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA>())).pcRefParent as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA), "::", stringify!(pcRefParent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA>())).pszHeaderTitle as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA), "::", stringify!(pszHeaderTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA>())).pszHeaderSubTitle as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEA), "::", stringify!(pszHeaderSubTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEA>())).hActCtx as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEW_V1__bindgen_ty_1() { 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::null::<_PROPSHEETPAGEW_V1__bindgen_ty_1>())).pszTemplate as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_1), "::", stringify!(pszTemplate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V1__bindgen_ty_1>())).pResource as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEW_V1__bindgen_ty_2() { 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::null::<_PROPSHEETPAGEW_V1__bindgen_ty_2>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_2), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V1__bindgen_ty_2>())).pszIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_2), "::", stringify!(pszIcon) ) ); } #[test] fn bindgen_test_layout__PROPSHEETPAGEW_V1() { 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::null::<_PROPSHEETPAGEW_V1>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V1), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V1>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V1), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V1>())).hInstance as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V1), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V1>())).pszTitle as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V1), "::", stringify!(pszTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V1>())).pfnDlgProc as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V1), "::", stringify!(pfnDlgProc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V1>())).lParam as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V1), "::", stringify!(lParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V1>())).pfnCallback as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V1), "::", stringify!(pfnCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V1>())).pcRefParent as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEW_V2__bindgen_ty_1() { 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::null::<_PROPSHEETPAGEW_V2__bindgen_ty_1>())).pszTemplate as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_1), "::", stringify!(pszTemplate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V2__bindgen_ty_1>())).pResource as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEW_V2__bindgen_ty_2() { 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::null::<_PROPSHEETPAGEW_V2__bindgen_ty_2>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_2), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V2__bindgen_ty_2>())).pszIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_2), "::", stringify!(pszIcon) ) ); } #[test] fn bindgen_test_layout__PROPSHEETPAGEW_V2() { 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::null::<_PROPSHEETPAGEW_V2>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V2), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V2>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V2), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V2>())).hInstance as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V2), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V2>())).pszTitle as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V2), "::", stringify!(pszTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V2>())).pfnDlgProc as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V2), "::", stringify!(pfnDlgProc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V2>())).lParam as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V2), "::", stringify!(lParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V2>())).pfnCallback as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V2), "::", stringify!(pfnCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V2>())).pcRefParent as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V2), "::", stringify!(pcRefParent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V2>())).pszHeaderTitle as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V2), "::", stringify!(pszHeaderTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V2>())).pszHeaderSubTitle as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEW_V3__bindgen_ty_1() { 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::null::<_PROPSHEETPAGEW_V3__bindgen_ty_1>())).pszTemplate as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_1), "::", stringify!(pszTemplate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V3__bindgen_ty_1>())).pResource as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEW_V3__bindgen_ty_2() { 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::null::<_PROPSHEETPAGEW_V3__bindgen_ty_2>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_2), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V3__bindgen_ty_2>())).pszIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_2), "::", stringify!(pszIcon) ) ); } #[test] fn bindgen_test_layout__PROPSHEETPAGEW_V3() { 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::null::<_PROPSHEETPAGEW_V3>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V3), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V3>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V3), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V3>())).hInstance as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V3), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V3>())).pszTitle as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V3), "::", stringify!(pszTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V3>())).pfnDlgProc as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V3), "::", stringify!(pfnDlgProc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V3>())).lParam as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V3), "::", stringify!(lParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V3>())).pfnCallback as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V3), "::", stringify!(pfnCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V3>())).pcRefParent as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V3), "::", stringify!(pcRefParent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V3>())).pszHeaderTitle as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V3), "::", stringify!(pszHeaderTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V3>())).pszHeaderSubTitle as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW_V3), "::", stringify!(pszHeaderSubTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW_V3>())).hActCtx as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEW__bindgen_ty_1() { 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::null::<_PROPSHEETPAGEW__bindgen_ty_1>())).pszTemplate as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW__bindgen_ty_1), "::", stringify!(pszTemplate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW__bindgen_ty_1>())).pResource as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEW__bindgen_ty_2() { 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::null::<_PROPSHEETPAGEW__bindgen_ty_2>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW__bindgen_ty_2), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW__bindgen_ty_2>())).pszIcon as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETPAGEW__bindgen_ty_3() { 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::null::<_PROPSHEETPAGEW__bindgen_ty_3>())).hbmHeader as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW__bindgen_ty_3), "::", stringify!(hbmHeader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW__bindgen_ty_3>())).pszbmHeader as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW__bindgen_ty_3), "::", stringify!(pszbmHeader) ) ); } #[test] fn bindgen_test_layout__PROPSHEETPAGEW() { 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::null::<_PROPSHEETPAGEW>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW>())).hInstance as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW>())).pszTitle as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW), "::", stringify!(pszTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW>())).pfnDlgProc as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW), "::", stringify!(pfnDlgProc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW>())).lParam as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW), "::", stringify!(lParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW>())).pfnCallback as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW), "::", stringify!(pfnCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW>())).pcRefParent as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW), "::", stringify!(pcRefParent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW>())).pszHeaderTitle as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW), "::", stringify!(pszHeaderTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW>())).pszHeaderSubTitle as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_PROPSHEETPAGEW), "::", stringify!(pszHeaderSubTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETPAGEW>())).hActCtx as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERA_V1__bindgen_ty_1() { 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::null::<_PROPSHEETHEADERA_V1__bindgen_ty_1>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_1), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V1__bindgen_ty_1>())).pszIcon as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERA_V1__bindgen_ty_2() { 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::null::<_PROPSHEETHEADERA_V1__bindgen_ty_2>())).nStartPage as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_2), "::", stringify!(nStartPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V1__bindgen_ty_2>())).pStartPage as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERA_V1__bindgen_ty_3() { 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::null::<_PROPSHEETHEADERA_V1__bindgen_ty_3>())).ppsp as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_3), "::", stringify!(ppsp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V1__bindgen_ty_3>())).phpage as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_3), "::", stringify!(phpage) ) ); } #[test] fn bindgen_test_layout__PROPSHEETHEADERA_V1() { 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::null::<_PROPSHEETHEADERA_V1>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V1), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V1>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V1), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V1>())).hwndParent as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V1), "::", stringify!(hwndParent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V1>())).hInstance as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V1), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V1>())).pszCaption as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V1), "::", stringify!(pszCaption) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V1>())).nPages as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V1), "::", stringify!(nPages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V1>())).pfnCallback as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERA_V2__bindgen_ty_1() { 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::null::<_PROPSHEETHEADERA_V2__bindgen_ty_1>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_1), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V2__bindgen_ty_1>())).pszIcon as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERA_V2__bindgen_ty_2() { 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::null::<_PROPSHEETHEADERA_V2__bindgen_ty_2>())).nStartPage as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_2), "::", stringify!(nStartPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V2__bindgen_ty_2>())).pStartPage as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERA_V2__bindgen_ty_3() { 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::null::<_PROPSHEETHEADERA_V2__bindgen_ty_3>())).ppsp as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_3), "::", stringify!(ppsp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V2__bindgen_ty_3>())).phpage as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERA_V2__bindgen_ty_4() { 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::null::<_PROPSHEETHEADERA_V2__bindgen_ty_4>())).hbmWatermark as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_4), "::", stringify!(hbmWatermark) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V2__bindgen_ty_4>())).pszbmWatermark as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERA_V2__bindgen_ty_5() { 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::null::<_PROPSHEETHEADERA_V2__bindgen_ty_5>())).hbmHeader as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_5), "::", stringify!(hbmHeader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V2__bindgen_ty_5>())).pszbmHeader as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_5), "::", stringify!(pszbmHeader) ) ); } #[test] fn bindgen_test_layout__PROPSHEETHEADERA_V2() { 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::null::<_PROPSHEETHEADERA_V2>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V2), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V2>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V2), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V2>())).hwndParent as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V2), "::", stringify!(hwndParent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V2>())).hInstance as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V2), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V2>())).pszCaption as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V2), "::", stringify!(pszCaption) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V2>())).nPages as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V2), "::", stringify!(nPages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V2>())).pfnCallback as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERA_V2), "::", stringify!(pfnCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERA_V2>())).hplWatermark as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERW_V1__bindgen_ty_1() { 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::null::<_PROPSHEETHEADERW_V1__bindgen_ty_1>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_1), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V1__bindgen_ty_1>())).pszIcon as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERW_V1__bindgen_ty_2() { 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::null::<_PROPSHEETHEADERW_V1__bindgen_ty_2>())).nStartPage as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_2), "::", stringify!(nStartPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V1__bindgen_ty_2>())).pStartPage as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERW_V1__bindgen_ty_3() { 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::null::<_PROPSHEETHEADERW_V1__bindgen_ty_3>())).ppsp as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_3), "::", stringify!(ppsp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V1__bindgen_ty_3>())).phpage as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_3), "::", stringify!(phpage) ) ); } #[test] fn bindgen_test_layout__PROPSHEETHEADERW_V1() { 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::null::<_PROPSHEETHEADERW_V1>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V1), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V1>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V1), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V1>())).hwndParent as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V1), "::", stringify!(hwndParent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V1>())).hInstance as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V1), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V1>())).pszCaption as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V1), "::", stringify!(pszCaption) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V1>())).nPages as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V1), "::", stringify!(nPages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V1>())).pfnCallback as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERW_V2__bindgen_ty_1() { 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::null::<_PROPSHEETHEADERW_V2__bindgen_ty_1>())).hIcon as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_1), "::", stringify!(hIcon) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V2__bindgen_ty_1>())).pszIcon as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERW_V2__bindgen_ty_2() { 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::null::<_PROPSHEETHEADERW_V2__bindgen_ty_2>())).nStartPage as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_2), "::", stringify!(nStartPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V2__bindgen_ty_2>())).pStartPage as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERW_V2__bindgen_ty_3() { 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::null::<_PROPSHEETHEADERW_V2__bindgen_ty_3>())).ppsp as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_3), "::", stringify!(ppsp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V2__bindgen_ty_3>())).phpage as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERW_V2__bindgen_ty_4() { 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::null::<_PROPSHEETHEADERW_V2__bindgen_ty_4>())).hbmWatermark as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_4), "::", stringify!(hbmWatermark) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V2__bindgen_ty_4>())).pszbmWatermark as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__PROPSHEETHEADERW_V2__bindgen_ty_5() { 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::null::<_PROPSHEETHEADERW_V2__bindgen_ty_5>())).hbmHeader as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_5), "::", stringify!(hbmHeader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V2__bindgen_ty_5>())).pszbmHeader as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_5), "::", stringify!(pszbmHeader) ) ); } #[test] fn bindgen_test_layout__PROPSHEETHEADERW_V2() { 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::null::<_PROPSHEETHEADERW_V2>())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V2), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V2>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V2), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V2>())).hwndParent as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V2), "::", stringify!(hwndParent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V2>())).hInstance as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V2), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V2>())).pszCaption as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V2), "::", stringify!(pszCaption) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V2>())).nPages as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V2), "::", stringify!(nPages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V2>())).pfnCallback as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_PROPSHEETHEADERW_V2), "::", stringify!(pfnCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROPSHEETHEADERW_V2>())).hplWatermark as *const _ 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() { 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::null::<_PSHNOTIFY>())).hdr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PSHNOTIFY), "::", stringify!(hdr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PSHNOTIFY>())).lParam as *const _ 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() { 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::null::<_PRINTER_INFO_1A>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_1A), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_1A>())).pDescription as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_1A), "::", stringify!(pDescription) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_1A>())).pName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_1A), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_1A>())).pComment as *const _ 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() { 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::null::<_PRINTER_INFO_1W>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_1W), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_1W>())).pDescription as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_1W), "::", stringify!(pDescription) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_1W>())).pName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_1W), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_1W>())).pComment as *const _ 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() { 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::null::<_PRINTER_INFO_2A>())).pServerName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(pServerName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).pPrinterName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(pPrinterName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).pShareName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(pShareName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).pPortName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(pPortName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).pDriverName as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(pDriverName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).pComment as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(pComment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).pLocation as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(pLocation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).pDevMode as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(pDevMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).pSepFile as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(pSepFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).pPrintProcessor as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(pPrintProcessor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).pDatatype as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(pDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).pParameters as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(pParameters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).pSecurityDescriptor as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(pSecurityDescriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).Attributes as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(Attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).Priority as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(Priority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).DefaultPriority as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(DefaultPriority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).StartTime as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(StartTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).UntilTime as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(UntilTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).Status as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(Status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).cJobs as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2A), "::", stringify!(cJobs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2A>())).AveragePPM as *const _ 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() { 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::null::<_PRINTER_INFO_2W>())).pServerName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(pServerName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).pPrinterName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(pPrinterName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).pShareName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(pShareName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).pPortName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(pPortName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).pDriverName as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(pDriverName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).pComment as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(pComment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).pLocation as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(pLocation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).pDevMode as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(pDevMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).pSepFile as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(pSepFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).pPrintProcessor as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(pPrintProcessor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).pDatatype as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(pDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).pParameters as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(pParameters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).pSecurityDescriptor as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(pSecurityDescriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).Attributes as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(Attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).Priority as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(Priority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).DefaultPriority as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(DefaultPriority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).StartTime as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(StartTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).UntilTime as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(UntilTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).Status as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(Status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).cJobs as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_2W), "::", stringify!(cJobs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_2W>())).AveragePPM as *const _ 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() { 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::null::<_PRINTER_INFO_3>())).pSecurityDescriptor as *const _ 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() { 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::null::<_PRINTER_INFO_4A>())).pPrinterName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_4A), "::", stringify!(pPrinterName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_4A>())).pServerName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_4A), "::", stringify!(pServerName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_4A>())).Attributes as *const _ 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() { 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::null::<_PRINTER_INFO_4W>())).pPrinterName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_4W), "::", stringify!(pPrinterName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_4W>())).pServerName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_4W), "::", stringify!(pServerName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_4W>())).Attributes as *const _ 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() { 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::null::<_PRINTER_INFO_5A>())).pPrinterName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_5A), "::", stringify!(pPrinterName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_5A>())).pPortName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_5A), "::", stringify!(pPortName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_5A>())).Attributes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_5A), "::", stringify!(Attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_5A>())).DeviceNotSelectedTimeout as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_5A), "::", stringify!(DeviceNotSelectedTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_5A>())).TransmissionRetryTimeout as *const _ 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() { 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::null::<_PRINTER_INFO_5W>())).pPrinterName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_5W), "::", stringify!(pPrinterName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_5W>())).pPortName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_5W), "::", stringify!(pPortName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_5W>())).Attributes as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_5W), "::", stringify!(Attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_5W>())).DeviceNotSelectedTimeout as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_5W), "::", stringify!(DeviceNotSelectedTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_5W>())).TransmissionRetryTimeout as *const _ 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() { 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::null::<_PRINTER_INFO_6>())).dwStatus as *const _ 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() { 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::null::<_PRINTER_INFO_7A>())).pszObjectGUID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_7A), "::", stringify!(pszObjectGUID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_7A>())).dwAction as *const _ 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() { 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::null::<_PRINTER_INFO_7W>())).pszObjectGUID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_INFO_7W), "::", stringify!(pszObjectGUID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_INFO_7W>())).dwAction as *const _ 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() { 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::null::<_PRINTER_INFO_8A>())).pDevMode as *const _ 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() { 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::null::<_PRINTER_INFO_8W>())).pDevMode as *const _ 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() { 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::null::<_PRINTER_INFO_9A>())).pDevMode as *const _ 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() { 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::null::<_PRINTER_INFO_9W>())).pDevMode as *const _ 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() { 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::null::<_JOB_INFO_1A>())).JobId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1A), "::", stringify!(JobId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1A>())).pPrinterName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1A), "::", stringify!(pPrinterName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1A>())).pMachineName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1A), "::", stringify!(pMachineName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1A>())).pUserName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1A), "::", stringify!(pUserName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1A>())).pDocument as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1A), "::", stringify!(pDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1A>())).pDatatype as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1A), "::", stringify!(pDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1A>())).pStatus as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1A), "::", stringify!(pStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1A>())).Status as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1A), "::", stringify!(Status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1A>())).Priority as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1A), "::", stringify!(Priority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1A>())).Position as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1A), "::", stringify!(Position) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1A>())).TotalPages as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1A), "::", stringify!(TotalPages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1A>())).PagesPrinted as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1A), "::", stringify!(PagesPrinted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1A>())).Submitted as *const _ 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() { 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::null::<_JOB_INFO_1W>())).JobId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1W), "::", stringify!(JobId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1W>())).pPrinterName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1W), "::", stringify!(pPrinterName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1W>())).pMachineName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1W), "::", stringify!(pMachineName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1W>())).pUserName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1W), "::", stringify!(pUserName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1W>())).pDocument as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1W), "::", stringify!(pDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1W>())).pDatatype as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1W), "::", stringify!(pDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1W>())).pStatus as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1W), "::", stringify!(pStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1W>())).Status as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1W), "::", stringify!(Status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1W>())).Priority as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1W), "::", stringify!(Priority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1W>())).Position as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1W), "::", stringify!(Position) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1W>())).TotalPages as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1W), "::", stringify!(TotalPages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1W>())).PagesPrinted as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_1W), "::", stringify!(PagesPrinted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_1W>())).Submitted as *const _ 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() { 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::null::<_JOB_INFO_2A>())).JobId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(JobId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).pPrinterName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(pPrinterName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).pMachineName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(pMachineName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).pUserName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(pUserName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).pDocument as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(pDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).pNotifyName as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(pNotifyName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).pDatatype as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(pDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).pPrintProcessor as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(pPrintProcessor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).pParameters as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(pParameters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).pDriverName as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(pDriverName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).pDevMode as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(pDevMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).pStatus as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(pStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).pSecurityDescriptor as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(pSecurityDescriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).Status as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(Status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).Priority as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(Priority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).Position as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(Position) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).StartTime as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(StartTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).UntilTime as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(UntilTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).TotalPages as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(TotalPages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).Size as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).Submitted as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(Submitted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).Time as *const _ as usize }, 148usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2A), "::", stringify!(Time) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2A>())).PagesPrinted as *const _ 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() { 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::null::<_JOB_INFO_2W>())).JobId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(JobId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).pPrinterName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(pPrinterName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).pMachineName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(pMachineName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).pUserName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(pUserName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).pDocument as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(pDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).pNotifyName as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(pNotifyName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).pDatatype as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(pDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).pPrintProcessor as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(pPrintProcessor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).pParameters as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(pParameters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).pDriverName as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(pDriverName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).pDevMode as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(pDevMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).pStatus as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(pStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).pSecurityDescriptor as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(pSecurityDescriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).Status as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(Status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).Priority as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(Priority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).Position as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(Position) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).StartTime as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(StartTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).UntilTime as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(UntilTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).TotalPages as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(TotalPages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).Size as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).Submitted as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(Submitted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).Time as *const _ as usize }, 148usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_2W), "::", stringify!(Time) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_2W>())).PagesPrinted as *const _ 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() { 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::null::<_JOB_INFO_3>())).JobId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_3), "::", stringify!(JobId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_3>())).NextJobId as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_3), "::", stringify!(NextJobId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_3>())).Reserved as *const _ 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() { 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::null::<_JOB_INFO_4A>())).JobId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(JobId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).pPrinterName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(pPrinterName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).pMachineName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(pMachineName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).pUserName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(pUserName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).pDocument as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(pDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).pNotifyName as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(pNotifyName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).pDatatype as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(pDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).pPrintProcessor as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(pPrintProcessor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).pParameters as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(pParameters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).pDriverName as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(pDriverName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).pDevMode as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(pDevMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).pStatus as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(pStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).pSecurityDescriptor as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(pSecurityDescriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).Status as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(Status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).Priority as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(Priority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).Position as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(Position) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).StartTime as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(StartTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).UntilTime as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(UntilTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).TotalPages as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(TotalPages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).Size as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).Submitted as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(Submitted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).Time as *const _ as usize }, 148usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(Time) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).PagesPrinted as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4A), "::", stringify!(PagesPrinted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4A>())).SizeHigh as *const _ 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() { 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::null::<_JOB_INFO_4W>())).JobId as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(JobId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).pPrinterName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(pPrinterName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).pMachineName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(pMachineName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).pUserName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(pUserName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).pDocument as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(pDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).pNotifyName as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(pNotifyName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).pDatatype as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(pDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).pPrintProcessor as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(pPrintProcessor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).pParameters as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(pParameters) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).pDriverName as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(pDriverName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).pDevMode as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(pDevMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).pStatus as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(pStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).pSecurityDescriptor as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(pSecurityDescriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).Status as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(Status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).Priority as *const _ as usize }, 108usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(Priority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).Position as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(Position) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).StartTime as *const _ as usize }, 116usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(StartTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).UntilTime as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(UntilTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).TotalPages as *const _ as usize }, 124usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(TotalPages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).Size as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).Submitted as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(Submitted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).Time as *const _ as usize }, 148usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(Time) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).PagesPrinted as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_JOB_INFO_4W), "::", stringify!(PagesPrinted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_JOB_INFO_4W>())).SizeHigh as *const _ 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() { 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::null::<_ADDJOB_INFO_1A>())).Path as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ADDJOB_INFO_1A), "::", stringify!(Path) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADDJOB_INFO_1A>())).JobId as *const _ 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() { 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::null::<_ADDJOB_INFO_1W>())).Path as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ADDJOB_INFO_1W), "::", stringify!(Path) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ADDJOB_INFO_1W>())).JobId as *const _ 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() { 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::null::<_DRIVER_INFO_1A>())).pName as *const _ 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() { 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::null::<_DRIVER_INFO_1W>())).pName as *const _ 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() { 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::null::<_DRIVER_INFO_2A>())).cVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_2A), "::", stringify!(cVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_2A>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_2A), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_2A>())).pEnvironment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_2A), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_2A>())).pDriverPath as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_2A), "::", stringify!(pDriverPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_2A>())).pDataFile as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_2A), "::", stringify!(pDataFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_2A>())).pConfigFile as *const _ 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() { 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::null::<_DRIVER_INFO_2W>())).cVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_2W), "::", stringify!(cVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_2W>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_2W), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_2W>())).pEnvironment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_2W), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_2W>())).pDriverPath as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_2W), "::", stringify!(pDriverPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_2W>())).pDataFile as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_2W), "::", stringify!(pDataFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_2W>())).pConfigFile as *const _ 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() { 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::null::<_DRIVER_INFO_3A>())).cVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3A), "::", stringify!(cVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3A>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3A), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3A>())).pEnvironment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3A), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3A>())).pDriverPath as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3A), "::", stringify!(pDriverPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3A>())).pDataFile as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3A), "::", stringify!(pDataFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3A>())).pConfigFile as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3A), "::", stringify!(pConfigFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3A>())).pHelpFile as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3A), "::", stringify!(pHelpFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3A>())).pDependentFiles as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3A), "::", stringify!(pDependentFiles) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3A>())).pMonitorName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3A), "::", stringify!(pMonitorName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3A>())).pDefaultDataType as *const _ 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() { 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::null::<_DRIVER_INFO_3W>())).cVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3W), "::", stringify!(cVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3W>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3W), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3W>())).pEnvironment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3W), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3W>())).pDriverPath as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3W), "::", stringify!(pDriverPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3W>())).pDataFile as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3W), "::", stringify!(pDataFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3W>())).pConfigFile as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3W), "::", stringify!(pConfigFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3W>())).pHelpFile as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3W), "::", stringify!(pHelpFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3W>())).pDependentFiles as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3W), "::", stringify!(pDependentFiles) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3W>())).pMonitorName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_3W), "::", stringify!(pMonitorName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_3W>())).pDefaultDataType as *const _ 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() { 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::null::<_DRIVER_INFO_4A>())).cVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4A), "::", stringify!(cVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4A>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4A), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4A>())).pEnvironment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4A), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4A>())).pDriverPath as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4A), "::", stringify!(pDriverPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4A>())).pDataFile as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4A), "::", stringify!(pDataFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4A>())).pConfigFile as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4A), "::", stringify!(pConfigFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4A>())).pHelpFile as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4A), "::", stringify!(pHelpFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4A>())).pDependentFiles as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4A), "::", stringify!(pDependentFiles) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4A>())).pMonitorName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4A), "::", stringify!(pMonitorName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4A>())).pDefaultDataType as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4A), "::", stringify!(pDefaultDataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4A>())).pszzPreviousNames as *const _ 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() { 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::null::<_DRIVER_INFO_4W>())).cVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4W), "::", stringify!(cVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4W>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4W), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4W>())).pEnvironment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4W), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4W>())).pDriverPath as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4W), "::", stringify!(pDriverPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4W>())).pDataFile as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4W), "::", stringify!(pDataFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4W>())).pConfigFile as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4W), "::", stringify!(pConfigFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4W>())).pHelpFile as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4W), "::", stringify!(pHelpFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4W>())).pDependentFiles as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4W), "::", stringify!(pDependentFiles) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4W>())).pMonitorName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4W), "::", stringify!(pMonitorName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4W>())).pDefaultDataType as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_4W), "::", stringify!(pDefaultDataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_4W>())).pszzPreviousNames as *const _ 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() { 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::null::<_DRIVER_INFO_5A>())).cVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5A), "::", stringify!(cVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5A>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5A), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5A>())).pEnvironment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5A), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5A>())).pDriverPath as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5A), "::", stringify!(pDriverPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5A>())).pDataFile as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5A), "::", stringify!(pDataFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5A>())).pConfigFile as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5A), "::", stringify!(pConfigFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5A>())).dwDriverAttributes as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5A), "::", stringify!(dwDriverAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5A>())).dwConfigVersion as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5A), "::", stringify!(dwConfigVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5A>())).dwDriverVersion as *const _ 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() { 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::null::<_DRIVER_INFO_5W>())).cVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5W), "::", stringify!(cVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5W>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5W), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5W>())).pEnvironment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5W), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5W>())).pDriverPath as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5W), "::", stringify!(pDriverPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5W>())).pDataFile as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5W), "::", stringify!(pDataFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5W>())).pConfigFile as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5W), "::", stringify!(pConfigFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5W>())).dwDriverAttributes as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5W), "::", stringify!(dwDriverAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5W>())).dwConfigVersion as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_5W), "::", stringify!(dwConfigVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_5W>())).dwDriverVersion as *const _ 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() { 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::null::<_DRIVER_INFO_6A>())).cVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(cVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).pEnvironment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).pDriverPath as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(pDriverPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).pDataFile as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(pDataFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).pConfigFile as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(pConfigFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).pHelpFile as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(pHelpFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).pDependentFiles as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(pDependentFiles) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).pMonitorName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(pMonitorName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).pDefaultDataType as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(pDefaultDataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).pszzPreviousNames as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(pszzPreviousNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).ftDriverDate as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(ftDriverDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).dwlDriverVersion as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(dwlDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).pszMfgName as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(pszMfgName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).pszOEMUrl as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(pszOEMUrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).pszHardwareID as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6A), "::", stringify!(pszHardwareID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6A>())).pszProvider as *const _ 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() { 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::null::<_DRIVER_INFO_6W>())).cVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(cVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).pEnvironment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).pDriverPath as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(pDriverPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).pDataFile as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(pDataFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).pConfigFile as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(pConfigFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).pHelpFile as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(pHelpFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).pDependentFiles as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(pDependentFiles) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).pMonitorName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(pMonitorName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).pDefaultDataType as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(pDefaultDataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).pszzPreviousNames as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(pszzPreviousNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).ftDriverDate as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(ftDriverDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).dwlDriverVersion as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(dwlDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).pszMfgName as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(pszMfgName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).pszOEMUrl as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(pszOEMUrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).pszHardwareID as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_6W), "::", stringify!(pszHardwareID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_6W>())).pszProvider as *const _ 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() { 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::null::<_DRIVER_INFO_8A>())).cVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(cVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pEnvironment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pDriverPath as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pDriverPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pDataFile as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pDataFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pConfigFile as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pConfigFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pHelpFile as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pHelpFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pDependentFiles as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pDependentFiles) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pMonitorName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pMonitorName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pDefaultDataType as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pDefaultDataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pszzPreviousNames as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pszzPreviousNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).ftDriverDate as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(ftDriverDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).dwlDriverVersion as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(dwlDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pszMfgName as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pszMfgName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pszOEMUrl as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pszOEMUrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pszHardwareID as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pszHardwareID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pszProvider as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pszProvider) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pszPrintProcessor as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pszPrintProcessor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pszVendorSetup as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pszVendorSetup) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pszzColorProfiles as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pszzColorProfiles) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pszInfPath as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pszInfPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).dwPrinterDriverAttributes as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(dwPrinterDriverAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).pszzCoreDriverDependencies as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(pszzCoreDriverDependencies) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).ftMinInboxDriverVerDate as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8A), "::", stringify!(ftMinInboxDriverVerDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8A>())).dwlMinInboxDriverVerVersion as *const _ 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() { 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::null::<_DRIVER_INFO_8W>())).cVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(cVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pEnvironment as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pDriverPath as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pDriverPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pDataFile as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pDataFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pConfigFile as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pConfigFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pHelpFile as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pHelpFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pDependentFiles as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pDependentFiles) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pMonitorName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pMonitorName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pDefaultDataType as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pDefaultDataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pszzPreviousNames as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pszzPreviousNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).ftDriverDate as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(ftDriverDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).dwlDriverVersion as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(dwlDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pszMfgName as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pszMfgName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pszOEMUrl as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pszOEMUrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pszHardwareID as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pszHardwareID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pszProvider as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pszProvider) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pszPrintProcessor as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pszPrintProcessor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pszVendorSetup as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pszVendorSetup) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pszzColorProfiles as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pszzColorProfiles) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pszInfPath as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pszInfPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).dwPrinterDriverAttributes as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(dwPrinterDriverAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).pszzCoreDriverDependencies as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(pszzCoreDriverDependencies) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).ftMinInboxDriverVerDate as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(_DRIVER_INFO_8W), "::", stringify!(ftMinInboxDriverVerDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DRIVER_INFO_8W>())).dwlMinInboxDriverVerVersion as *const _ 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() { 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::null::<_DOC_INFO_1A>())).pDocName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_1A), "::", stringify!(pDocName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_1A>())).pOutputFile as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_1A), "::", stringify!(pOutputFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_1A>())).pDatatype as *const _ 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() { 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::null::<_DOC_INFO_1W>())).pDocName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_1W), "::", stringify!(pDocName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_1W>())).pOutputFile as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_1W), "::", stringify!(pOutputFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_1W>())).pDatatype as *const _ 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() { 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::null::<_FORM_INFO_1A>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_1A), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_1A>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_1A), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_1A>())).Size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_1A), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_1A>())).ImageableArea as *const _ 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() { 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::null::<_FORM_INFO_1W>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_1W), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_1W>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_1W), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_1W>())).Size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_1W), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_1W>())).ImageableArea as *const _ 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() { 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::null::<_FORM_INFO_2A>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2A), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2A>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2A), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2A>())).Size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2A), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2A>())).ImageableArea as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2A), "::", stringify!(ImageableArea) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2A>())).pKeyword as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2A), "::", stringify!(pKeyword) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2A>())).StringType as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2A), "::", stringify!(StringType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2A>())).pMuiDll as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2A), "::", stringify!(pMuiDll) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2A>())).dwResourceId as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2A), "::", stringify!(dwResourceId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2A>())).pDisplayName as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2A), "::", stringify!(pDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2A>())).wLangId as *const _ 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() { 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::null::<_FORM_INFO_2W>())).Flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2W), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2W>())).pName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2W), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2W>())).Size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2W), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2W>())).ImageableArea as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2W), "::", stringify!(ImageableArea) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2W>())).pKeyword as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2W), "::", stringify!(pKeyword) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2W>())).StringType as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2W), "::", stringify!(StringType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2W>())).pMuiDll as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2W), "::", stringify!(pMuiDll) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2W>())).dwResourceId as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2W), "::", stringify!(dwResourceId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2W>())).pDisplayName as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_FORM_INFO_2W), "::", stringify!(pDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FORM_INFO_2W>())).wLangId as *const _ 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() { 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::null::<_DOC_INFO_2A>())).pDocName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_2A), "::", stringify!(pDocName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_2A>())).pOutputFile as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_2A), "::", stringify!(pOutputFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_2A>())).pDatatype as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_2A), "::", stringify!(pDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_2A>())).dwMode as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_2A), "::", stringify!(dwMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_2A>())).JobId as *const _ 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() { 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::null::<_DOC_INFO_2W>())).pDocName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_2W), "::", stringify!(pDocName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_2W>())).pOutputFile as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_2W), "::", stringify!(pOutputFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_2W>())).pDatatype as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_2W), "::", stringify!(pDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_2W>())).dwMode as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_2W), "::", stringify!(dwMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_2W>())).JobId as *const _ 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() { 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::null::<_DOC_INFO_3A>())).pDocName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_3A), "::", stringify!(pDocName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_3A>())).pOutputFile as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_3A), "::", stringify!(pOutputFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_3A>())).pDatatype as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_3A), "::", stringify!(pDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_3A>())).dwFlags as *const _ 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() { 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::null::<_DOC_INFO_3W>())).pDocName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_3W), "::", stringify!(pDocName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_3W>())).pOutputFile as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_3W), "::", stringify!(pOutputFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_3W>())).pDatatype as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_DOC_INFO_3W), "::", stringify!(pDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_DOC_INFO_3W>())).dwFlags as *const _ 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() { 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::null::<_PRINTPROCESSOR_INFO_1A>())).pName as *const _ 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() { 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::null::<_PRINTPROCESSOR_INFO_1W>())).pName as *const _ 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() { 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::null::<_PRINTPROCESSOR_CAPS_1>())).dwLevel as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTPROCESSOR_CAPS_1), "::", stringify!(dwLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTPROCESSOR_CAPS_1>())).dwNupOptions as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PRINTPROCESSOR_CAPS_1), "::", stringify!(dwNupOptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTPROCESSOR_CAPS_1>())).dwPageOrderFlags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTPROCESSOR_CAPS_1), "::", stringify!(dwPageOrderFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTPROCESSOR_CAPS_1>())).dwNumberOfCopies as *const _ 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() { 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::null::<_PRINTPROCESSOR_CAPS_2>())).dwLevel as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTPROCESSOR_CAPS_2), "::", stringify!(dwLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTPROCESSOR_CAPS_2>())).dwNupOptions as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PRINTPROCESSOR_CAPS_2), "::", stringify!(dwNupOptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTPROCESSOR_CAPS_2>())).dwPageOrderFlags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTPROCESSOR_CAPS_2), "::", stringify!(dwPageOrderFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTPROCESSOR_CAPS_2>())).dwNumberOfCopies as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PRINTPROCESSOR_CAPS_2), "::", stringify!(dwNumberOfCopies) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTPROCESSOR_CAPS_2>())).dwDuplexHandlingCaps as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PRINTPROCESSOR_CAPS_2), "::", stringify!(dwDuplexHandlingCaps) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTPROCESSOR_CAPS_2>())).dwNupDirectionCaps as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_PRINTPROCESSOR_CAPS_2), "::", stringify!(dwNupDirectionCaps) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTPROCESSOR_CAPS_2>())).dwNupBorderCaps as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_PRINTPROCESSOR_CAPS_2), "::", stringify!(dwNupBorderCaps) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTPROCESSOR_CAPS_2>())).dwBookletHandlingCaps as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_PRINTPROCESSOR_CAPS_2), "::", stringify!(dwBookletHandlingCaps) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTPROCESSOR_CAPS_2>())).dwScalingCaps as *const _ 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() { 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::null::<_PORT_INFO_1A>())).pName as *const _ 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() { 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::null::<_PORT_INFO_1W>())).pName as *const _ 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() { 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::null::<_PORT_INFO_2A>())).pPortName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PORT_INFO_2A), "::", stringify!(pPortName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PORT_INFO_2A>())).pMonitorName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PORT_INFO_2A), "::", stringify!(pMonitorName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PORT_INFO_2A>())).pDescription as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PORT_INFO_2A), "::", stringify!(pDescription) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PORT_INFO_2A>())).fPortType as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_PORT_INFO_2A), "::", stringify!(fPortType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PORT_INFO_2A>())).Reserved as *const _ 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() { 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::null::<_PORT_INFO_2W>())).pPortName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PORT_INFO_2W), "::", stringify!(pPortName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PORT_INFO_2W>())).pMonitorName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PORT_INFO_2W), "::", stringify!(pMonitorName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PORT_INFO_2W>())).pDescription as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PORT_INFO_2W), "::", stringify!(pDescription) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PORT_INFO_2W>())).fPortType as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_PORT_INFO_2W), "::", stringify!(fPortType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PORT_INFO_2W>())).Reserved as *const _ 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() { 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::null::<_PORT_INFO_3A>())).dwStatus as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PORT_INFO_3A), "::", stringify!(dwStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PORT_INFO_3A>())).pszStatus as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PORT_INFO_3A), "::", stringify!(pszStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PORT_INFO_3A>())).dwSeverity as *const _ 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() { 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::null::<_PORT_INFO_3W>())).dwStatus as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PORT_INFO_3W), "::", stringify!(dwStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PORT_INFO_3W>())).pszStatus as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PORT_INFO_3W), "::", stringify!(pszStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PORT_INFO_3W>())).dwSeverity as *const _ 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() { 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::null::<_MONITOR_INFO_1A>())).pName as *const _ 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() { 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::null::<_MONITOR_INFO_1W>())).pName as *const _ 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() { 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::null::<_MONITOR_INFO_2A>())).pName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MONITOR_INFO_2A), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MONITOR_INFO_2A>())).pEnvironment as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MONITOR_INFO_2A), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MONITOR_INFO_2A>())).pDLLName as *const _ 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() { 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::null::<_MONITOR_INFO_2W>())).pName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MONITOR_INFO_2W), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MONITOR_INFO_2W>())).pEnvironment as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MONITOR_INFO_2W), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MONITOR_INFO_2W>())).pDLLName as *const _ 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() { 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::null::<_DATATYPES_INFO_1A>())).pName as *const _ 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() { 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::null::<_DATATYPES_INFO_1W>())).pName as *const _ 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() { 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::null::<_PRINTER_DEFAULTSA>())).pDatatype as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_DEFAULTSA), "::", stringify!(pDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_DEFAULTSA>())).pDevMode as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_DEFAULTSA), "::", stringify!(pDevMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_DEFAULTSA>())).DesiredAccess as *const _ 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() { 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::null::<_PRINTER_DEFAULTSW>())).pDatatype as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_DEFAULTSW), "::", stringify!(pDatatype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_DEFAULTSW>())).pDevMode as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_DEFAULTSW), "::", stringify!(pDevMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_DEFAULTSW>())).DesiredAccess as *const _ 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() { 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::null::<_PRINTER_ENUM_VALUESA>())).pValueName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_ENUM_VALUESA), "::", stringify!(pValueName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_ENUM_VALUESA>())).cbValueName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_ENUM_VALUESA), "::", stringify!(cbValueName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_ENUM_VALUESA>())).dwType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PRINTER_ENUM_VALUESA), "::", stringify!(dwType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_ENUM_VALUESA>())).pData as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PRINTER_ENUM_VALUESA), "::", stringify!(pData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_ENUM_VALUESA>())).cbData as *const _ 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() { 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::null::<_PRINTER_ENUM_VALUESW>())).pValueName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_ENUM_VALUESW), "::", stringify!(pValueName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_ENUM_VALUESW>())).cbValueName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_ENUM_VALUESW), "::", stringify!(cbValueName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_ENUM_VALUESW>())).dwType as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PRINTER_ENUM_VALUESW), "::", stringify!(dwType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_ENUM_VALUESW>())).pData as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_PRINTER_ENUM_VALUESW), "::", stringify!(pData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_ENUM_VALUESW>())).cbData as *const _ 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() { 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::null::<_PRINTER_NOTIFY_OPTIONS_TYPE>())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_OPTIONS_TYPE>())).Reserved0 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), "::", stringify!(Reserved0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_OPTIONS_TYPE>())).Reserved1 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_OPTIONS_TYPE>())).Reserved2 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), "::", stringify!(Reserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_OPTIONS_TYPE>())).Count as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_OPTIONS_TYPE>())).pFields as *const _ 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() { 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::null::<_PRINTER_NOTIFY_OPTIONS>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_OPTIONS), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_OPTIONS>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_OPTIONS), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_OPTIONS>())).Count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_OPTIONS), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_OPTIONS>())).pTypes as *const _ 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, _bindgen_union_align: [u64; 2usize], } #[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() { 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::null::<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1>())).cbBuf as *const _ 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::null::<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1>())).pBuf as *const _ 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() { 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::null::<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1>())).adwData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1), "::", stringify!(adwData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1>())).Data as *const _ 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() { 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::null::<_PRINTER_NOTIFY_INFO_DATA>())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_INFO_DATA), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_INFO_DATA>())).Field as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_INFO_DATA), "::", stringify!(Field) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_INFO_DATA>())).Reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_INFO_DATA), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_INFO_DATA>())).Id as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_INFO_DATA), "::", stringify!(Id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_INFO_DATA>())).NotifyData as *const _ 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() { 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::null::<_PRINTER_NOTIFY_INFO>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_INFO), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_INFO>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_INFO), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_INFO>())).Count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PRINTER_NOTIFY_INFO), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_NOTIFY_INFO>())).aData as *const _ 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() { 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::null::<_BINARY_CONTAINER>())).cbBuf as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BINARY_CONTAINER), "::", stringify!(cbBuf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BINARY_CONTAINER>())).pData as *const _ 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, _bindgen_union_align: [u64; 2usize], } #[test] fn bindgen_test_layout__BIDI_DATA__bindgen_ty_1() { 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::null::<_BIDI_DATA__bindgen_ty_1>())).bData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BIDI_DATA__bindgen_ty_1), "::", stringify!(bData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_DATA__bindgen_ty_1>())).iData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BIDI_DATA__bindgen_ty_1), "::", stringify!(iData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_DATA__bindgen_ty_1>())).sData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BIDI_DATA__bindgen_ty_1), "::", stringify!(sData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_DATA__bindgen_ty_1>())).fData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BIDI_DATA__bindgen_ty_1), "::", stringify!(fData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_DATA__bindgen_ty_1>())).biData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BIDI_DATA__bindgen_ty_1), "::", stringify!(biData) ) ); } #[test] fn bindgen_test_layout__BIDI_DATA() { 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::null::<_BIDI_DATA>())).dwBidiType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BIDI_DATA), "::", stringify!(dwBidiType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_DATA>())).u as *const _ 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() { 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::null::<_BIDI_REQUEST_DATA>())).dwReqNumber as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BIDI_REQUEST_DATA), "::", stringify!(dwReqNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_REQUEST_DATA>())).pSchema as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_BIDI_REQUEST_DATA), "::", stringify!(pSchema) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_REQUEST_DATA>())).data as *const _ 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() { 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::null::<_BIDI_REQUEST_CONTAINER>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BIDI_REQUEST_CONTAINER), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_REQUEST_CONTAINER>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BIDI_REQUEST_CONTAINER), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_REQUEST_CONTAINER>())).Count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_BIDI_REQUEST_CONTAINER), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_REQUEST_CONTAINER>())).aData as *const _ 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() { 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::null::<_BIDI_RESPONSE_DATA>())).dwResult as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BIDI_RESPONSE_DATA), "::", stringify!(dwResult) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_RESPONSE_DATA>())).dwReqNumber as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BIDI_RESPONSE_DATA), "::", stringify!(dwReqNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_RESPONSE_DATA>())).pSchema as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_BIDI_RESPONSE_DATA), "::", stringify!(pSchema) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_RESPONSE_DATA>())).data as *const _ 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() { 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::null::<_BIDI_RESPONSE_CONTAINER>())).Version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_BIDI_RESPONSE_CONTAINER), "::", stringify!(Version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_RESPONSE_CONTAINER>())).Flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_BIDI_RESPONSE_CONTAINER), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_RESPONSE_CONTAINER>())).Count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_BIDI_RESPONSE_CONTAINER), "::", stringify!(Count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_BIDI_RESPONSE_CONTAINER>())).aData as *const _ 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() { 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::null::<_PROVIDOR_INFO_1A>())).pName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROVIDOR_INFO_1A), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROVIDOR_INFO_1A>())).pEnvironment as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROVIDOR_INFO_1A), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROVIDOR_INFO_1A>())).pDLLName as *const _ 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() { 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::null::<_PROVIDOR_INFO_1W>())).pName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PROVIDOR_INFO_1W), "::", stringify!(pName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROVIDOR_INFO_1W>())).pEnvironment as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_PROVIDOR_INFO_1W), "::", stringify!(pEnvironment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PROVIDOR_INFO_1W>())).pDLLName as *const _ 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() { 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::null::<_PROVIDOR_INFO_2A>())).pOrder as *const _ 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() { 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::null::<_PROVIDOR_INFO_2W>())).pOrder as *const _ 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: size_t) -> BOOL; } extern "C" { pub fn IsValidDevmodeW(pDevmode: PDEVMODEW, DevmodeSize: size_t) -> 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() { 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::null::<_PRINTER_OPTIONSA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_OPTIONSA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_OPTIONSA>())).dwFlags as *const _ 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() { 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::null::<_PRINTER_OPTIONSW>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_OPTIONSW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_OPTIONSW>())).dwFlags as *const _ 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() { 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::null::<_PRINTER_CONNECTION_INFO_1A>())).dwFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_CONNECTION_INFO_1A), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_CONNECTION_INFO_1A>())).pszDriverName as *const _ 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() { 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::null::<_PRINTER_CONNECTION_INFO_1W>())).dwFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_PRINTER_CONNECTION_INFO_1W), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_PRINTER_CONNECTION_INFO_1W>())).pszDriverName as *const _ 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(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() { 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::null::<_CORE_PRINTER_DRIVERA>())).CoreDriverGUID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CORE_PRINTER_DRIVERA), "::", stringify!(CoreDriverGUID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CORE_PRINTER_DRIVERA>())).ftDriverDate as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CORE_PRINTER_DRIVERA), "::", stringify!(ftDriverDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CORE_PRINTER_DRIVERA>())).dwlDriverVersion as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CORE_PRINTER_DRIVERA), "::", stringify!(dwlDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CORE_PRINTER_DRIVERA>())).szPackageID as *const _ 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(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() { 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::null::<_CORE_PRINTER_DRIVERW>())).CoreDriverGUID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_CORE_PRINTER_DRIVERW), "::", stringify!(CoreDriverGUID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CORE_PRINTER_DRIVERW>())).ftDriverDate as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_CORE_PRINTER_DRIVERW), "::", stringify!(ftDriverDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CORE_PRINTER_DRIVERW>())).dwlDriverVersion as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_CORE_PRINTER_DRIVERW), "::", stringify!(dwlDriverVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_CORE_PRINTER_DRIVERW>())).szPackageID as *const _ 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, _bindgen_union_align: [u64; 2usize], } #[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() { 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::null::())).cbBuf as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PrintPropertyValue__bindgen_ty_1__bindgen_ty_1), "::", stringify!(cbBuf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pBuf as *const _ 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() { 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::null::())).propertyByte as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PrintPropertyValue__bindgen_ty_1), "::", stringify!(propertyByte) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).propertyString as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PrintPropertyValue__bindgen_ty_1), "::", stringify!(propertyString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).propertyInt32 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PrintPropertyValue__bindgen_ty_1), "::", stringify!(propertyInt32) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).propertyInt64 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PrintPropertyValue__bindgen_ty_1), "::", stringify!(propertyInt64) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).propertyBlob as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PrintPropertyValue__bindgen_ty_1), "::", stringify!(propertyBlob) ) ); } #[test] fn bindgen_test_layout_PrintPropertyValue() { 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::null::())).ePropertyType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PrintPropertyValue), "::", stringify!(ePropertyType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).value as *const _ 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() { 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::null::())).propertyName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PrintNamedProperty), "::", stringify!(propertyName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).propertyValue as *const _ 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() { 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::null::())).numberOfProperties as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PrintPropertiesCollection), "::", stringify!(numberOfProperties) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).propertiesCollection as *const _ 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() { 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::null::())).context as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(PRINT_EXECUTION_DATA), "::", stringify!(context) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).clientAppPID as *const _ 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: size_t, _Size: size_t) -> *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: size_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _expand( _Block: *mut ::std::os::raw::c_void, _Size: size_t, ) -> *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: size_t) -> *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) -> size_t; } extern "C" { pub fn _msize(_Block: *mut ::std::os::raw::c_void) -> size_t; } extern "C" { pub fn _realloc_base( _Block: *mut ::std::os::raw::c_void, _Size: size_t, ) -> *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: size_t, _Size: size_t, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn _recalloc( _Block: *mut ::std::os::raw::c_void, _Count: size_t, _Size: size_t, ) -> *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: size_t, _Alignment: size_t) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn _aligned_offset_malloc( _Size: size_t, _Alignment: size_t, _Offset: size_t, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn _aligned_msize( _Block: *mut ::std::os::raw::c_void, _Alignment: size_t, _Offset: size_t, ) -> size_t; } extern "C" { pub fn _aligned_offset_realloc( _Block: *mut ::std::os::raw::c_void, _Size: size_t, _Alignment: size_t, _Offset: size_t, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn _aligned_offset_recalloc( _Block: *mut ::std::os::raw::c_void, _Count: size_t, _Size: size_t, _Alignment: size_t, _Offset: size_t, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn _aligned_realloc( _Block: *mut ::std::os::raw::c_void, _Size: size_t, _Alignment: size_t, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn _aligned_recalloc( _Block: *mut ::std::os::raw::c_void, _Count: size_t, _Size: size_t, _Alignment: size_t, ) -> *mut ::std::os::raw::c_void; } pub type max_align_t = f64; 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: size_t, _SizeOfElements: size_t, _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn qsort( _Base: *mut ::std::os::raw::c_void, _NumOfElements: size_t, _SizeOfElements: size_t, _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: size_t, _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: size_t, _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: size_t, _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: size_t, _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: size_t, _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: size_t, _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: size_t, _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: size_t, ) -> *mut wchar_t; } extern "C" { pub fn _wmakepath_s( _Buffer: *mut wchar_t, _BufferCount: size_t, _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: size_t, _Dir: *mut wchar_t, _DirCount: size_t, _Filename: *mut wchar_t, _FilenameCount: size_t, _Ext: *mut wchar_t, _ExtCount: size_t, ) -> errno_t; } extern "C" { pub fn _wdupenv_s( _Buffer: *mut *mut wchar_t, _BufferCount: *mut size_t, _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 size_t, _Buffer: *mut wchar_t, _BufferCount: size_t, _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: size_t, ) -> 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() { 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::null::<_div_t>())).quot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_div_t), "::", stringify!(quot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_div_t>())).rem as *const _ 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() { 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::null::<_ldiv_t>())).quot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ldiv_t), "::", stringify!(quot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ldiv_t>())).rem as *const _ 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() { 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::null::<_lldiv_t>())).quot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_lldiv_t), "::", stringify!(quot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_lldiv_t>())).rem as *const _ 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() { 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::null::<_LDOUBLE>())).ld as *const _ 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() { 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::null::<_CRT_DOUBLE>())).x as *const _ 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() { 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::null::<_CRT_FLOAT>())).f as *const _ 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() { 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::null::<_LONGDOUBLE>())).x as *const _ 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() { 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::null::<_LDBL12>())).ld12 as *const _ 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: size_t, _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: size_t, _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: size_t, _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: size_t, _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: size_t, _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: size_t, _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: size_t, _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: size_t, _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: size_t) -> ::std::os::raw::c_int; } extern "C" { pub fn _mblen_l( _Ch: *const ::std::os::raw::c_char, _MaxCount: size_t, _Locale: _locale_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _mbstrlen(_String: *const ::std::os::raw::c_char) -> size_t; } extern "C" { pub fn _mbstrlen_l(_String: *const ::std::os::raw::c_char, _Locale: _locale_t) -> size_t; } extern "C" { pub fn _mbstrnlen(_String: *const ::std::os::raw::c_char, _MaxCount: size_t) -> size_t; } extern "C" { pub fn _mbstrnlen_l( _String: *const ::std::os::raw::c_char, _MaxCount: size_t, _Locale: _locale_t, ) -> size_t; } extern "C" { pub fn mbtowc( _DstCh: *mut wchar_t, _SrcCh: *const ::std::os::raw::c_char, _SrcSizeInBytes: size_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _mbtowc_l( _DstCh: *mut wchar_t, _SrcCh: *const ::std::os::raw::c_char, _SrcSizeInBytes: size_t, _Locale: _locale_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn mbstowcs_s( _PtNumOfCharConverted: *mut size_t, _DstBuf: *mut wchar_t, _SizeInWords: size_t, _SrcBuf: *const ::std::os::raw::c_char, _MaxCount: size_t, ) -> errno_t; } extern "C" { pub fn mbstowcs( _Dest: *mut wchar_t, _Source: *const ::std::os::raw::c_char, _MaxCount: size_t, ) -> size_t; } extern "C" { pub fn _mbstowcs_s_l( _PtNumOfCharConverted: *mut size_t, _DstBuf: *mut wchar_t, _SizeInWords: size_t, _SrcBuf: *const ::std::os::raw::c_char, _MaxCount: size_t, _Locale: _locale_t, ) -> errno_t; } extern "C" { pub fn _mbstowcs_l( _Dest: *mut wchar_t, _Source: *const ::std::os::raw::c_char, _MaxCount: size_t, _Locale: _locale_t, ) -> size_t; } 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: size_t, _WCh: wchar_t, _Locale: _locale_t, ) -> errno_t; } extern "C" { pub fn wcstombs_s( _PtNumOfCharConverted: *mut size_t, _Dst: *mut ::std::os::raw::c_char, _DstSizeInBytes: size_t, _Src: *const wchar_t, _MaxCountInBytes: size_t, ) -> errno_t; } extern "C" { pub fn wcstombs( _Dest: *mut ::std::os::raw::c_char, _Source: *const wchar_t, _MaxCount: size_t, ) -> size_t; } extern "C" { pub fn _wcstombs_s_l( _PtNumOfCharConverted: *mut size_t, _Dst: *mut ::std::os::raw::c_char, _DstSizeInBytes: size_t, _Src: *const wchar_t, _MaxCountInBytes: size_t, _Locale: _locale_t, ) -> errno_t; } extern "C" { pub fn _wcstombs_l( _Dest: *mut ::std::os::raw::c_char, _Source: *const wchar_t, _MaxCount: size_t, _Locale: _locale_t, ) -> size_t; } extern "C" { pub fn _fullpath( _Buffer: *mut ::std::os::raw::c_char, _Path: *const ::std::os::raw::c_char, _BufferCount: size_t, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn _makepath_s( _Buffer: *mut ::std::os::raw::c_char, _BufferCount: size_t, _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: size_t, _Dir: *mut ::std::os::raw::c_char, _DirCount: size_t, _Filename: *mut ::std::os::raw::c_char, _FilenameCount: size_t, _Ext: *mut ::std::os::raw::c_char, _ExtCount: size_t, ) -> errno_t; } extern "C" { pub fn getenv_s( _RequiredCount: *mut size_t, _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 size_t, _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: size_t, ) -> 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IUnknownVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IUnknownVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(AsyncIUnknownVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(AsyncIUnknownVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(AsyncIUnknownVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_QueryInterface as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(AsyncIUnknownVtbl), "::", stringify!(Begin_QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_QueryInterface as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(AsyncIUnknownVtbl), "::", stringify!(Finish_QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_AddRef as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(AsyncIUnknownVtbl), "::", stringify!(Begin_AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_AddRef as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(AsyncIUnknownVtbl), "::", stringify!(Finish_AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_Release as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(AsyncIUnknownVtbl), "::", stringify!(Begin_Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_Release as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IClassFactoryVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IClassFactoryVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IClassFactoryVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateInstance as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IClassFactoryVtbl), "::", stringify!(CreateInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LockServer as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::<_COSERVERINFO>())).dwReserved1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_COSERVERINFO), "::", stringify!(dwReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COSERVERINFO>())).pwszName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_COSERVERINFO), "::", stringify!(pwszName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COSERVERINFO>())).pAuthInfo as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_COSERVERINFO), "::", stringify!(pAuthInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_COSERVERINFO>())).dwReserved2 as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMarshalVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IMarshalVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IMarshalVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetUnmarshalClass as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IMarshalVtbl), "::", stringify!(GetUnmarshalClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetMarshalSizeMax as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IMarshalVtbl), "::", stringify!(GetMarshalSizeMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MarshalInterface as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IMarshalVtbl), "::", stringify!(MarshalInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UnmarshalInterface as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IMarshalVtbl), "::", stringify!(UnmarshalInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseMarshalData as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IMarshalVtbl), "::", stringify!(ReleaseMarshalData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DisconnectObject as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(INoMarshalVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(INoMarshalVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IAgileObjectVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IAgileObjectVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IActivationFilterVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IActivationFilterVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IActivationFilterVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).HandleActivation as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMarshal2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IMarshal2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IMarshal2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetUnmarshalClass as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IMarshal2Vtbl), "::", stringify!(GetUnmarshalClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetMarshalSizeMax as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IMarshal2Vtbl), "::", stringify!(GetMarshalSizeMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MarshalInterface as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IMarshal2Vtbl), "::", stringify!(MarshalInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UnmarshalInterface as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IMarshal2Vtbl), "::", stringify!(UnmarshalInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseMarshalData as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IMarshal2Vtbl), "::", stringify!(ReleaseMarshalData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DisconnectObject as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMallocVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IMallocVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IMallocVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Alloc as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IMallocVtbl), "::", stringify!(Alloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Realloc as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IMallocVtbl), "::", stringify!(Realloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Free as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IMallocVtbl), "::", stringify!(Free) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSize as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IMallocVtbl), "::", stringify!(GetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DidAlloc as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IMallocVtbl), "::", stringify!(DidAlloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).HeapMinimize as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IStdMarshalInfoVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IStdMarshalInfoVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IStdMarshalInfoVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetClassForHandler as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IExternalConnectionVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IExternalConnectionVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IExternalConnectionVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddConnection as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IExternalConnectionVtbl), "::", stringify!(AddConnection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseConnection as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).pIID as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMULTI_QI), "::", stringify!(pIID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pItf as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMULTI_QI), "::", stringify!(pItf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hr as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMultiQIVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IMultiQIVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IMultiQIVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryMultipleInterfaces as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(AsyncIMultiQIVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(AsyncIMultiQIVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(AsyncIMultiQIVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_QueryMultipleInterfaces as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(AsyncIMultiQIVtbl), "::", stringify!(Begin_QueryMultipleInterfaces) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_QueryMultipleInterfaces as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternalUnknownVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternalUnknownVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternalUnknownVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryInternalInterface as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IEnumUnknownVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IEnumUnknownVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IEnumUnknownVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Next as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IEnumUnknownVtbl), "::", stringify!(Next) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Skip as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IEnumUnknownVtbl), "::", stringify!(Skip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reset as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IEnumUnknownVtbl), "::", stringify!(Reset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Clone as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IEnumStringVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IEnumStringVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IEnumStringVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Next as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IEnumStringVtbl), "::", stringify!(Next) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Skip as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IEnumStringVtbl), "::", stringify!(Skip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reset as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IEnumStringVtbl), "::", stringify!(Reset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Clone as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ISequentialStreamVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ISequentialStreamVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ISequentialStreamVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Read as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ISequentialStreamVtbl), "::", stringify!(Read) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Write as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).pwcsName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTATSTG), "::", stringify!(pwcsName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagSTATSTG), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagSTATSTG), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mtime as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagSTATSTG), "::", stringify!(mtime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ctime as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagSTATSTG), "::", stringify!(ctime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).atime as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagSTATSTG), "::", stringify!(atime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).grfMode as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagSTATSTG), "::", stringify!(grfMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).grfLocksSupported as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagSTATSTG), "::", stringify!(grfLocksSupported) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).clsid as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagSTATSTG), "::", stringify!(clsid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).grfStateBits as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagSTATSTG), "::", stringify!(grfStateBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IStreamVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IStreamVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IStreamVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Read as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IStreamVtbl), "::", stringify!(Read) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Write as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IStreamVtbl), "::", stringify!(Write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Seek as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IStreamVtbl), "::", stringify!(Seek) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetSize as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IStreamVtbl), "::", stringify!(SetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CopyTo as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IStreamVtbl), "::", stringify!(CopyTo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Commit as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IStreamVtbl), "::", stringify!(Commit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Revert as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IStreamVtbl), "::", stringify!(Revert) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LockRegion as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IStreamVtbl), "::", stringify!(LockRegion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UnlockRegion as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IStreamVtbl), "::", stringify!(UnlockRegion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Stat as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IStreamVtbl), "::", stringify!(Stat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Clone as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).reserved1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRPCOLEMESSAGE), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dataRepresentation as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRPCOLEMESSAGE), "::", stringify!(dataRepresentation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Buffer as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagRPCOLEMESSAGE), "::", stringify!(Buffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbBuffer as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagRPCOLEMESSAGE), "::", stringify!(cbBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iMethod as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagRPCOLEMESSAGE), "::", stringify!(iMethod) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved2 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagRPCOLEMESSAGE), "::", stringify!(reserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rpcFlags as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IRpcChannelBufferVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IRpcChannelBufferVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IRpcChannelBufferVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBuffer as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IRpcChannelBufferVtbl), "::", stringify!(GetBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SendReceive as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IRpcChannelBufferVtbl), "::", stringify!(SendReceive) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FreeBuffer as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IRpcChannelBufferVtbl), "::", stringify!(FreeBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDestCtx as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IRpcChannelBufferVtbl), "::", stringify!(GetDestCtx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsConnected as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBuffer as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer2Vtbl), "::", stringify!(GetBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SendReceive as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer2Vtbl), "::", stringify!(SendReceive) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FreeBuffer as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer2Vtbl), "::", stringify!(FreeBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDestCtx as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer2Vtbl), "::", stringify!(GetDestCtx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsConnected as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer2Vtbl), "::", stringify!(IsConnected) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetProtocolVersion as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IAsyncRpcChannelBufferVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IAsyncRpcChannelBufferVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IAsyncRpcChannelBufferVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBuffer as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IAsyncRpcChannelBufferVtbl), "::", stringify!(GetBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SendReceive as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IAsyncRpcChannelBufferVtbl), "::", stringify!(SendReceive) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FreeBuffer as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IAsyncRpcChannelBufferVtbl), "::", stringify!(FreeBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDestCtx as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IAsyncRpcChannelBufferVtbl), "::", stringify!(GetDestCtx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsConnected as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IAsyncRpcChannelBufferVtbl), "::", stringify!(IsConnected) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetProtocolVersion as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IAsyncRpcChannelBufferVtbl), "::", stringify!(GetProtocolVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Send as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IAsyncRpcChannelBufferVtbl), "::", stringify!(Send) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Receive as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IAsyncRpcChannelBufferVtbl), "::", stringify!(Receive) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDestCtxEx as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer3Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer3Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer3Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBuffer as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer3Vtbl), "::", stringify!(GetBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SendReceive as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer3Vtbl), "::", stringify!(SendReceive) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FreeBuffer as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer3Vtbl), "::", stringify!(FreeBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDestCtx as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer3Vtbl), "::", stringify!(GetDestCtx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsConnected as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer3Vtbl), "::", stringify!(IsConnected) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetProtocolVersion as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer3Vtbl), "::", stringify!(GetProtocolVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Send as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer3Vtbl), "::", stringify!(Send) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Receive as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer3Vtbl), "::", stringify!(Receive) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Cancel as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer3Vtbl), "::", stringify!(Cancel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetCallContext as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer3Vtbl), "::", stringify!(GetCallContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDestCtxEx as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer3Vtbl), "::", stringify!(GetDestCtxEx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetState as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IRpcChannelBuffer3Vtbl), "::", stringify!(GetState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RegisterAsync as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IRpcSyntaxNegotiateVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IRpcSyntaxNegotiateVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IRpcSyntaxNegotiateVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NegotiateSyntax as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IRpcProxyBufferVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IRpcProxyBufferVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IRpcProxyBufferVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Connect as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IRpcProxyBufferVtbl), "::", stringify!(Connect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Disconnect as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IRpcStubBufferVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IRpcStubBufferVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IRpcStubBufferVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Connect as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IRpcStubBufferVtbl), "::", stringify!(Connect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Disconnect as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IRpcStubBufferVtbl), "::", stringify!(Disconnect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IRpcStubBufferVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsIIDSupported as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IRpcStubBufferVtbl), "::", stringify!(IsIIDSupported) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CountRefs as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IRpcStubBufferVtbl), "::", stringify!(CountRefs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DebugServerQueryInterface as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IRpcStubBufferVtbl), "::", stringify!(DebugServerQueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DebugServerRelease as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IPSFactoryBufferVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IPSFactoryBufferVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IPSFactoryBufferVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateProxy as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IPSFactoryBufferVtbl), "::", stringify!(CreateProxy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateStub as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).iid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(SChannelHookCallInfo), "::", stringify!(iid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbSize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(SChannelHookCallInfo), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uCausality as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(SChannelHookCallInfo), "::", stringify!(uCausality) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwServerPid as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(SChannelHookCallInfo), "::", stringify!(dwServerPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iMethod as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(SChannelHookCallInfo), "::", stringify!(iMethod) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pObject as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IChannelHookVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IChannelHookVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IChannelHookVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientGetSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IChannelHookVtbl), "::", stringify!(ClientGetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientFillBuffer as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IChannelHookVtbl), "::", stringify!(ClientFillBuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ClientNotify as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IChannelHookVtbl), "::", stringify!(ClientNotify) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ServerNotify as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IChannelHookVtbl), "::", stringify!(ServerNotify) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ServerGetSize as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IChannelHookVtbl), "::", stringify!(ServerGetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ServerFillBuffer as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).dwAuthnSvc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSOLE_AUTHENTICATION_SERVICE), "::", stringify!(dwAuthnSvc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwAuthzSvc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagSOLE_AUTHENTICATION_SERVICE), "::", stringify!(dwAuthzSvc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pPrincipalName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagSOLE_AUTHENTICATION_SERVICE), "::", stringify!(pPrincipalName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hr as *const _ 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() { 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::null::())).dwAuthnSvc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSOLE_AUTHENTICATION_INFO), "::", stringify!(dwAuthnSvc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwAuthzSvc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagSOLE_AUTHENTICATION_INFO), "::", stringify!(dwAuthzSvc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pAuthInfo as *const _ 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() { 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::null::())).cAuthInfo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSOLE_AUTHENTICATION_LIST), "::", stringify!(cAuthInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).aAuthInfo as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IClientSecurityVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IClientSecurityVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IClientSecurityVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryBlanket as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IClientSecurityVtbl), "::", stringify!(QueryBlanket) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetBlanket as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IClientSecurityVtbl), "::", stringify!(SetBlanket) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CopyProxy as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IServerSecurityVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IServerSecurityVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IServerSecurityVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryBlanket as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IServerSecurityVtbl), "::", stringify!(QueryBlanket) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ImpersonateClient as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IServerSecurityVtbl), "::", stringify!(ImpersonateClient) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RevertToSelf as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IServerSecurityVtbl), "::", stringify!(RevertToSelf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsImpersonating as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IRpcOptionsVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IRpcOptionsVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IRpcOptionsVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Set as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IRpcOptionsVtbl), "::", stringify!(Set) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Query as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IGlobalOptionsVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IGlobalOptionsVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IGlobalOptionsVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Set as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IGlobalOptionsVtbl), "::", stringify!(Set) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Query as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ISurrogateVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ISurrogateVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ISurrogateVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LoadDllServer as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ISurrogateVtbl), "::", stringify!(LoadDllServer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FreeSurrogate as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IGlobalInterfaceTableVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IGlobalInterfaceTableVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IGlobalInterfaceTableVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RegisterInterfaceInGlobal as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IGlobalInterfaceTableVtbl), "::", stringify!(RegisterInterfaceInGlobal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RevokeInterfaceFromGlobal as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IGlobalInterfaceTableVtbl), "::", stringify!(RevokeInterfaceFromGlobal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetInterfaceFromGlobal as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ISynchronizeVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ISynchronizeVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ISynchronizeVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Wait as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ISynchronizeVtbl), "::", stringify!(Wait) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Signal as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ISynchronizeVtbl), "::", stringify!(Signal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reset as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ISynchronizeHandleVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ISynchronizeHandleVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ISynchronizeHandleVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetHandle as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ISynchronizeEventVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ISynchronizeEventVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ISynchronizeEventVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetHandle as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ISynchronizeEventVtbl), "::", stringify!(GetHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetEventHandle as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ISynchronizeContainerVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ISynchronizeContainerVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ISynchronizeContainerVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddSynchronize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ISynchronizeContainerVtbl), "::", stringify!(AddSynchronize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).WaitMultiple as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ISynchronizeMutexVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ISynchronizeMutexVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ISynchronizeMutexVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Wait as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ISynchronizeMutexVtbl), "::", stringify!(Wait) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Signal as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ISynchronizeMutexVtbl), "::", stringify!(Signal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reset as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ISynchronizeMutexVtbl), "::", stringify!(Reset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseMutex as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ICancelMethodCallsVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ICancelMethodCallsVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ICancelMethodCallsVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Cancel as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ICancelMethodCallsVtbl), "::", stringify!(Cancel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TestCancel as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IAsyncManagerVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IAsyncManagerVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IAsyncManagerVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CompleteCall as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IAsyncManagerVtbl), "::", stringify!(CompleteCall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetCallContext as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IAsyncManagerVtbl), "::", stringify!(GetCallContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetState as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ICallFactoryVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ICallFactoryVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ICallFactoryVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateCall as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IRpcHelperVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IRpcHelperVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IRpcHelperVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDCOMProtocolVersion as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IRpcHelperVtbl), "::", stringify!(GetDCOMProtocolVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIIDFromOBJREF as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IReleaseMarshalBuffersVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IReleaseMarshalBuffersVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IReleaseMarshalBuffersVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseMarshalBuffer as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IWaitMultipleVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IWaitMultipleVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IWaitMultipleVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).WaitMultiple as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IWaitMultipleVtbl), "::", stringify!(WaitMultiple) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddSynchronize as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IAddrTrackingControlVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IAddrTrackingControlVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IAddrTrackingControlVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnableCOMDynamicAddrTracking as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IAddrTrackingControlVtbl), "::", stringify!(EnableCOMDynamicAddrTracking) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DisableCOMDynamicAddrTracking as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IAddrExclusionControlVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IAddrExclusionControlVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IAddrExclusionControlVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetCurrentAddrExclusionList as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IAddrExclusionControlVtbl), "::", stringify!(GetCurrentAddrExclusionList) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UpdateAddrExclusionList as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IPipeByteVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IPipeByteVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IPipeByteVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Pull as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IPipeByteVtbl), "::", stringify!(Pull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Push as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(AsyncIPipeByteVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(AsyncIPipeByteVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(AsyncIPipeByteVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_Pull as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(AsyncIPipeByteVtbl), "::", stringify!(Begin_Pull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_Pull as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(AsyncIPipeByteVtbl), "::", stringify!(Finish_Pull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_Push as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(AsyncIPipeByteVtbl), "::", stringify!(Begin_Push) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_Push as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IPipeLongVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IPipeLongVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IPipeLongVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Pull as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IPipeLongVtbl), "::", stringify!(Pull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Push as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(AsyncIPipeLongVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(AsyncIPipeLongVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(AsyncIPipeLongVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_Pull as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(AsyncIPipeLongVtbl), "::", stringify!(Begin_Pull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_Pull as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(AsyncIPipeLongVtbl), "::", stringify!(Finish_Pull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_Push as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(AsyncIPipeLongVtbl), "::", stringify!(Begin_Push) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_Push as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IPipeDoubleVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IPipeDoubleVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IPipeDoubleVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Pull as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IPipeDoubleVtbl), "::", stringify!(Pull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Push as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(AsyncIPipeDoubleVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(AsyncIPipeDoubleVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(AsyncIPipeDoubleVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_Pull as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(AsyncIPipeDoubleVtbl), "::", stringify!(Begin_Pull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_Pull as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(AsyncIPipeDoubleVtbl), "::", stringify!(Finish_Pull) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_Push as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(AsyncIPipeDoubleVtbl), "::", stringify!(Begin_Push) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_Push as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IComThreadingInfoVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IComThreadingInfoVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IComThreadingInfoVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetCurrentApartmentType as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IComThreadingInfoVtbl), "::", stringify!(GetCurrentApartmentType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetCurrentThreadType as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IComThreadingInfoVtbl), "::", stringify!(GetCurrentThreadType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetCurrentLogicalThreadId as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IComThreadingInfoVtbl), "::", stringify!(GetCurrentLogicalThreadId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetCurrentLogicalThreadId as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IProcessInitControlVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IProcessInitControlVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IProcessInitControlVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ResetInitializerTimeout as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IFastRundownVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IFastRundownVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ 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() { 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::null::())).lpVtbl as *const _ 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 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMarshalingStreamVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IMarshalingStreamVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IMarshalingStreamVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Read as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IMarshalingStreamVtbl), "::", stringify!(Read) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Write as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IMarshalingStreamVtbl), "::", stringify!(Write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Seek as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IMarshalingStreamVtbl), "::", stringify!(Seek) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetSize as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IMarshalingStreamVtbl), "::", stringify!(SetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CopyTo as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IMarshalingStreamVtbl), "::", stringify!(CopyTo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Commit as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IMarshalingStreamVtbl), "::", stringify!(Commit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Revert as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IMarshalingStreamVtbl), "::", stringify!(Revert) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LockRegion as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IMarshalingStreamVtbl), "::", stringify!(LockRegion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UnlockRegion as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IMarshalingStreamVtbl), "::", stringify!(UnlockRegion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Stat as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IMarshalingStreamVtbl), "::", stringify!(Stat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Clone as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IMarshalingStreamVtbl), "::", stringify!(Clone) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetMarshalingContextAttribute as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IAgileReferenceVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IAgileReferenceVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IAgileReferenceVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Resolve as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IAgileReference), "::", stringify!(lpVtbl) ) ); } extern "C" { pub static IID_ICallbackWithNoReentrancyToApplicationSTA: GUID; } extern "C" { pub static mut __MIDL_itf_objidlbase_0000_0053_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidlbase_0000_0053_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub fn IEnumUnknown_Next_Proxy( This: *mut IEnumUnknown, celt: ULONG, rgelt: *mut *mut IUnknown, pceltFetched: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IEnumUnknown_Next_Stub( This: *mut IEnumUnknown, celt: ULONG, rgelt: *mut *mut IUnknown, pceltFetched: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IEnumString_Next_Proxy( This: *mut IEnumString, celt: ULONG, rgelt: *mut LPOLESTR, pceltFetched: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IEnumString_Next_Stub( This: *mut IEnumString, celt: ULONG, rgelt: *mut LPOLESTR, pceltFetched: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn ISequentialStream_Read_Proxy( This: *mut ISequentialStream, pv: *mut ::std::os::raw::c_void, cb: ULONG, pcbRead: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn ISequentialStream_Read_Stub( This: *mut ISequentialStream, pv: *mut byte, cb: ULONG, pcbRead: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn ISequentialStream_Write_Proxy( This: *mut ISequentialStream, pv: *const ::std::os::raw::c_void, cb: ULONG, pcbWritten: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn ISequentialStream_Write_Stub( This: *mut ISequentialStream, pv: *const byte, cb: ULONG, pcbWritten: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IStream_Seek_Proxy( This: *mut IStream, dlibMove: LARGE_INTEGER, dwOrigin: DWORD, plibNewPosition: *mut ULARGE_INTEGER, ) -> HRESULT; } extern "C" { pub fn IStream_Seek_Stub( This: *mut IStream, dlibMove: LARGE_INTEGER, dwOrigin: DWORD, plibNewPosition: *mut ULARGE_INTEGER, ) -> HRESULT; } extern "C" { pub fn IStream_CopyTo_Proxy( This: *mut IStream, pstm: *mut IStream, cb: ULARGE_INTEGER, pcbRead: *mut ULARGE_INTEGER, pcbWritten: *mut ULARGE_INTEGER, ) -> HRESULT; } extern "C" { pub fn IStream_CopyTo_Stub( This: *mut IStream, pstm: *mut IStream, cb: ULARGE_INTEGER, pcbRead: *mut ULARGE_INTEGER, pcbWritten: *mut ULARGE_INTEGER, ) -> HRESULT; } extern "C" { pub static GUID_NULL: IID; } extern "C" { pub static CATID_MARSHALER: IID; } extern "C" { pub static IID_IRpcChannel: IID; } extern "C" { pub static IID_IRpcStub: IID; } extern "C" { pub static IID_IStubManager: IID; } extern "C" { pub static IID_IRpcProxy: IID; } extern "C" { pub static IID_IProxyManager: IID; } extern "C" { pub static IID_IPSFactory: IID; } extern "C" { pub static IID_IInternalMoniker: IID; } extern "C" { pub static IID_IDfReserved1: IID; } extern "C" { pub static IID_IDfReserved2: IID; } extern "C" { pub static IID_IDfReserved3: IID; } extern "C" { pub static CLSID_StdMarshal: CLSID; } extern "C" { pub static CLSID_AggStdMarshal: CLSID; } extern "C" { pub static CLSID_StdAsyncActManager: CLSID; } extern "C" { pub static IID_IStub: IID; } extern "C" { pub static IID_IProxy: IID; } extern "C" { pub static IID_IEnumGeneric: IID; } extern "C" { pub static IID_IEnumHolder: IID; } extern "C" { pub static IID_IEnumCallback: IID; } extern "C" { pub static IID_IOleManager: IID; } extern "C" { pub static IID_IOlePresObj: IID; } extern "C" { pub static IID_IDebug: IID; } extern "C" { pub static IID_IDebugStream: IID; } extern "C" { pub static CLSID_PSGenObject: CLSID; } extern "C" { pub static CLSID_PSClientSite: CLSID; } extern "C" { pub static CLSID_PSClassObject: CLSID; } extern "C" { pub static CLSID_PSInPlaceActive: CLSID; } extern "C" { pub static CLSID_PSInPlaceFrame: CLSID; } extern "C" { pub static CLSID_PSDragDrop: CLSID; } extern "C" { pub static CLSID_PSBindCtx: CLSID; } extern "C" { pub static CLSID_PSEnumerators: CLSID; } extern "C" { pub static CLSID_StaticMetafile: CLSID; } extern "C" { pub static CLSID_StaticDib: CLSID; } extern "C" { pub static CID_CDfsVolume: CLSID; } extern "C" { pub static CLSID_DCOMAccessControl: CLSID; } extern "C" { pub static CLSID_GlobalOptions: CLSID; } extern "C" { pub static CLSID_StdGlobalInterfaceTable: CLSID; } extern "C" { pub static CLSID_ComBinding: CLSID; } extern "C" { pub static CLSID_StdEvent: CLSID; } extern "C" { pub static CLSID_ManualResetEvent: CLSID; } extern "C" { pub static CLSID_SynchronizeContainer: CLSID; } extern "C" { pub static CLSID_AddrControl: CLSID; } extern "C" { pub static CLSID_ContextSwitcher: CLSID; } extern "C" { pub static CLSID_CCDFormKrnl: CLSID; } extern "C" { pub static CLSID_CCDPropertyPage: CLSID; } extern "C" { pub static CLSID_CCDFormDialog: CLSID; } extern "C" { pub static CLSID_CCDCommandButton: CLSID; } extern "C" { pub static CLSID_CCDComboBox: CLSID; } extern "C" { pub static CLSID_CCDTextBox: CLSID; } extern "C" { pub static CLSID_CCDCheckBox: CLSID; } extern "C" { pub static CLSID_CCDLabel: CLSID; } extern "C" { pub static CLSID_CCDOptionButton: CLSID; } extern "C" { pub static CLSID_CCDListBox: CLSID; } extern "C" { pub static CLSID_CCDScrollBar: CLSID; } extern "C" { pub static CLSID_CCDGroupBox: CLSID; } extern "C" { pub static CLSID_CCDGeneralPropertyPage: CLSID; } extern "C" { pub static CLSID_CCDGenericPropertyPage: CLSID; } extern "C" { pub static CLSID_CCDFontPropertyPage: CLSID; } extern "C" { pub static CLSID_CCDColorPropertyPage: CLSID; } extern "C" { pub static CLSID_CCDLabelPropertyPage: CLSID; } extern "C" { pub static CLSID_CCDCheckBoxPropertyPage: CLSID; } extern "C" { pub static CLSID_CCDTextBoxPropertyPage: CLSID; } extern "C" { pub static CLSID_CCDOptionButtonPropertyPage: CLSID; } extern "C" { pub static CLSID_CCDListBoxPropertyPage: CLSID; } extern "C" { pub static CLSID_CCDCommandButtonPropertyPage: CLSID; } extern "C" { pub static CLSID_CCDComboBoxPropertyPage: CLSID; } extern "C" { pub static CLSID_CCDScrollBarPropertyPage: CLSID; } extern "C" { pub static CLSID_CCDGroupBoxPropertyPage: CLSID; } extern "C" { pub static CLSID_CCDXObjectPropertyPage: CLSID; } extern "C" { pub static CLSID_CStdPropertyFrame: CLSID; } extern "C" { pub static CLSID_CFormPropertyPage: CLSID; } extern "C" { pub static CLSID_CGridPropertyPage: CLSID; } extern "C" { pub static CLSID_CWSJArticlePage: CLSID; } extern "C" { pub static CLSID_CSystemPage: CLSID; } extern "C" { pub static CLSID_IdentityUnmarshal: CLSID; } extern "C" { pub static CLSID_InProcFreeMarshaler: CLSID; } extern "C" { pub static CLSID_Picture_Metafile: CLSID; } extern "C" { pub static CLSID_Picture_EnhMetafile: CLSID; } extern "C" { pub static CLSID_Picture_Dib: CLSID; } extern "C" { pub static GUID_TRISTATE: GUID; } extern "C" { pub fn CoGetMalloc(dwMemContext: DWORD, ppMalloc: *mut LPMALLOC) -> HRESULT; } extern "C" { pub fn CreateStreamOnHGlobal( hGlobal: HGLOBAL, fDeleteOnRelease: BOOL, ppstm: *mut LPSTREAM, ) -> HRESULT; } extern "C" { pub fn GetHGlobalFromStream(pstm: LPSTREAM, phglobal: *mut HGLOBAL) -> HRESULT; } extern "C" { pub fn CoUninitialize(); } extern "C" { pub fn CoGetCurrentProcess() -> DWORD; } extern "C" { pub fn CoInitializeEx(pvReserved: LPVOID, dwCoInit: DWORD) -> HRESULT; } extern "C" { pub fn CoGetCallerTID(lpdwTID: LPDWORD) -> HRESULT; } extern "C" { pub fn CoGetCurrentLogicalThreadId(pguid: *mut GUID) -> HRESULT; } extern "C" { pub fn CoGetContextToken(pToken: *mut ULONG_PTR) -> HRESULT; } extern "C" { pub fn CoGetDefaultContext( aptType: APTTYPE, riid: *const IID, ppv: *mut *mut ::std::os::raw::c_void, ) -> HRESULT; } extern "C" { pub fn CoGetApartmentType( pAptType: *mut APTTYPE, pAptQualifier: *mut APTTYPEQUALIFIER, ) -> HRESULT; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct tagServerInformation { pub dwServerPid: DWORD, pub dwServerTid: DWORD, pub ui64ServerAddress: UINT64, } #[test] fn bindgen_test_layout_tagServerInformation() { 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::null::())).dwServerPid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagServerInformation), "::", stringify!(dwServerPid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwServerTid as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagServerInformation), "::", stringify!(dwServerTid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ui64ServerAddress as *const _ 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__() { 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::null::())).unused as *const _ 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 CoRegisterActivationFilter(pActivationFilter: *mut IActivationFilter) -> 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 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; } extern "C" { pub static mut __MIDL_itf_unknwn_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_unknwn_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_unknwn_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_unknwn_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_unknwn_0000_0002_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_unknwn_0000_0002_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_unknwn_0000_0003_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_unknwn_0000_0003_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0053_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0053_v0_0_s_ifspec: RPC_IF_HANDLE; } pub type LPMALLOCSPY = *mut IMallocSpy; extern "C" { pub static IID_IMallocSpy: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IMallocSpyVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IMallocSpy, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub PreAlloc: ::std::option::Option< unsafe extern "C" fn(This: *mut IMallocSpy, cbRequest: SIZE_T) -> SIZE_T, >, pub PostAlloc: ::std::option::Option< unsafe extern "C" fn( This: *mut IMallocSpy, pActual: *mut ::std::os::raw::c_void, ) -> *mut ::std::os::raw::c_void, >, pub PreFree: ::std::option::Option< unsafe extern "C" fn( This: *mut IMallocSpy, pRequest: *mut ::std::os::raw::c_void, fSpyed: BOOL, ) -> *mut ::std::os::raw::c_void, >, pub PostFree: ::std::option::Option, pub PreRealloc: ::std::option::Option< unsafe extern "C" fn( This: *mut IMallocSpy, pRequest: *mut ::std::os::raw::c_void, cbRequest: SIZE_T, ppNewRequest: *mut *mut ::std::os::raw::c_void, fSpyed: BOOL, ) -> SIZE_T, >, pub PostRealloc: ::std::option::Option< unsafe extern "C" fn( This: *mut IMallocSpy, pActual: *mut ::std::os::raw::c_void, fSpyed: BOOL, ) -> *mut ::std::os::raw::c_void, >, pub PreGetSize: ::std::option::Option< unsafe extern "C" fn( This: *mut IMallocSpy, pRequest: *mut ::std::os::raw::c_void, fSpyed: BOOL, ) -> *mut ::std::os::raw::c_void, >, pub PostGetSize: ::std::option::Option< unsafe extern "C" fn(This: *mut IMallocSpy, cbActual: SIZE_T, fSpyed: BOOL) -> SIZE_T, >, pub PreDidAlloc: ::std::option::Option< unsafe extern "C" fn( This: *mut IMallocSpy, pRequest: *mut ::std::os::raw::c_void, fSpyed: BOOL, ) -> *mut ::std::os::raw::c_void, >, pub PostDidAlloc: ::std::option::Option< unsafe extern "C" fn( This: *mut IMallocSpy, pRequest: *mut ::std::os::raw::c_void, fSpyed: BOOL, fActual: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int, >, pub PreHeapMinimize: ::std::option::Option, pub PostHeapMinimize: ::std::option::Option, } #[test] fn bindgen_test_layout_IMallocSpyVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMallocSpyVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IMallocSpyVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IMallocSpyVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PreAlloc as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IMallocSpyVtbl), "::", stringify!(PreAlloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PostAlloc as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IMallocSpyVtbl), "::", stringify!(PostAlloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PreFree as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IMallocSpyVtbl), "::", stringify!(PreFree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PostFree as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IMallocSpyVtbl), "::", stringify!(PostFree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PreRealloc as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IMallocSpyVtbl), "::", stringify!(PreRealloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PostRealloc as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IMallocSpyVtbl), "::", stringify!(PostRealloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PreGetSize as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IMallocSpyVtbl), "::", stringify!(PreGetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PostGetSize as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IMallocSpyVtbl), "::", stringify!(PostGetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PreDidAlloc as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IMallocSpyVtbl), "::", stringify!(PreDidAlloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PostDidAlloc as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IMallocSpyVtbl), "::", stringify!(PostDidAlloc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PreHeapMinimize as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IMallocSpyVtbl), "::", stringify!(PreHeapMinimize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PostHeapMinimize as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMallocSpy), "::", stringify!(lpVtbl) ) ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0054_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0054_v0_0_s_ifspec: RPC_IF_HANDLE; } pub type LPBC = *mut IBindCtx; pub type LPBINDCTX = *mut IBindCtx; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct tagBIND_OPTS { pub cbStruct: DWORD, pub grfFlags: DWORD, pub grfMode: DWORD, pub dwTickCountDeadline: DWORD, } #[test] fn bindgen_test_layout_tagBIND_OPTS() { 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::null::())).cbStruct as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS), "::", stringify!(cbStruct) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).grfFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS), "::", stringify!(grfFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).grfMode as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS), "::", stringify!(grfMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTickCountDeadline as *const _ 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() { 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::null::())).cbStruct as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS2), "::", stringify!(cbStruct) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).grfFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS2), "::", stringify!(grfFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).grfMode as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS2), "::", stringify!(grfMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTickCountDeadline as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS2), "::", stringify!(dwTickCountDeadline) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTrackFlags as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS2), "::", stringify!(dwTrackFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwClassContext as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS2), "::", stringify!(dwClassContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).locale as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS2), "::", stringify!(locale) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pServerInfo as *const _ 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() { 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::null::())).cbStruct as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS3), "::", stringify!(cbStruct) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).grfFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS3), "::", stringify!(grfFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).grfMode as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS3), "::", stringify!(grfMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTickCountDeadline as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS3), "::", stringify!(dwTickCountDeadline) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTrackFlags as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS3), "::", stringify!(dwTrackFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwClassContext as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS3), "::", stringify!(dwClassContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).locale as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS3), "::", stringify!(locale) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pServerInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagBIND_OPTS3), "::", stringify!(pServerInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwnd as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IBindCtxVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IBindCtxVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IBindCtxVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RegisterObjectBound as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IBindCtxVtbl), "::", stringify!(RegisterObjectBound) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RevokeObjectBound as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IBindCtxVtbl), "::", stringify!(RevokeObjectBound) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseBoundObjects as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IBindCtxVtbl), "::", stringify!(ReleaseBoundObjects) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetBindOptions as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IBindCtxVtbl), "::", stringify!(SetBindOptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBindOptions as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IBindCtxVtbl), "::", stringify!(GetBindOptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetRunningObjectTable as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IBindCtxVtbl), "::", stringify!(GetRunningObjectTable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RegisterObjectParam as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IBindCtxVtbl), "::", stringify!(RegisterObjectParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetObjectParam as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IBindCtxVtbl), "::", stringify!(GetObjectParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnumObjectParam as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IBindCtxVtbl), "::", stringify!(EnumObjectParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RevokeObjectParam as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IEnumMonikerVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IEnumMonikerVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IEnumMonikerVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Next as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IEnumMonikerVtbl), "::", stringify!(Next) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Skip as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IEnumMonikerVtbl), "::", stringify!(Skip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reset as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IEnumMonikerVtbl), "::", stringify!(Reset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Clone as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IEnumMoniker), "::", stringify!(lpVtbl) ) ); } extern "C" { pub fn IEnumMoniker_RemoteNext_Proxy( This: *mut IEnumMoniker, celt: ULONG, rgelt: *mut *mut IMoniker, pceltFetched: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IEnumMoniker_RemoteNext_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0056_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0056_v0_0_s_ifspec: RPC_IF_HANDLE; } pub type LPRUNNABLEOBJECT = *mut IRunnableObject; extern "C" { pub static IID_IRunnableObject: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IRunnableObjectVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IRunnableObject, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub GetRunningClass: ::std::option::Option< unsafe extern "C" fn(This: *mut IRunnableObject, lpClsid: LPCLSID) -> HRESULT, >, pub Run: ::std::option::Option< unsafe extern "C" fn(This: *mut IRunnableObject, pbc: LPBINDCTX) -> HRESULT, >, pub IsRunning: ::std::option::Option BOOL>, pub LockRunning: ::std::option::Option< unsafe extern "C" fn( This: *mut IRunnableObject, fLock: BOOL, fLastUnlockCloses: BOOL, ) -> HRESULT, >, pub SetContainedObject: ::std::option::Option< unsafe extern "C" fn(This: *mut IRunnableObject, fContained: BOOL) -> HRESULT, >, } #[test] fn bindgen_test_layout_IRunnableObjectVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IRunnableObjectVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IRunnableObjectVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IRunnableObjectVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetRunningClass as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IRunnableObjectVtbl), "::", stringify!(GetRunningClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Run as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IRunnableObjectVtbl), "::", stringify!(Run) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsRunning as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IRunnableObjectVtbl), "::", stringify!(IsRunning) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LockRunning as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IRunnableObjectVtbl), "::", stringify!(LockRunning) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetContainedObject as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IRunningObjectTableVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IRunningObjectTableVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IRunningObjectTableVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Register as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IRunningObjectTableVtbl), "::", stringify!(Register) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Revoke as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IRunningObjectTableVtbl), "::", stringify!(Revoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsRunning as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IRunningObjectTableVtbl), "::", stringify!(IsRunning) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetObjectA as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IRunningObjectTableVtbl), "::", stringify!(GetObjectA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).NoteChangeTime as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IRunningObjectTableVtbl), "::", stringify!(NoteChangeTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTimeOfLastChange as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IRunningObjectTableVtbl), "::", stringify!(GetTimeOfLastChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnumRunning as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IRunningObjectTable), "::", stringify!(lpVtbl) ) ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0058_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0058_v0_0_s_ifspec: RPC_IF_HANDLE; } pub type LPPERSIST = *mut IPersist; extern "C" { pub static IID_IPersist: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IPersistVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IPersist, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub GetClassID: ::std::option::Option< unsafe extern "C" fn(This: *mut IPersist, pClassID: *mut CLSID) -> HRESULT, >, } #[test] fn bindgen_test_layout_IPersistVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IPersistVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IPersistVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IPersistVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetClassID as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IPersistStreamVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IPersistStreamVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IPersistStreamVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetClassID as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IPersistStreamVtbl), "::", stringify!(GetClassID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsDirty as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IPersistStreamVtbl), "::", stringify!(IsDirty) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Load as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IPersistStreamVtbl), "::", stringify!(Load) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Save as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IPersistStreamVtbl), "::", stringify!(Save) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSizeMax as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetClassID as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(GetClassID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsDirty as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(IsDirty) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Load as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(Load) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Save as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(Save) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSizeMax as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(GetSizeMax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BindToObject as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(BindToObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BindToStorage as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(BindToStorage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reduce as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(Reduce) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ComposeWith as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(ComposeWith) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Enum as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(Enum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsEqual as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(IsEqual) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Hash as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(Hash) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsRunning as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(IsRunning) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTimeOfLastChange as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(GetTimeOfLastChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Inverse as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(Inverse) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CommonPrefixWith as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(CommonPrefixWith) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RelativePathTo as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(RelativePathTo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDisplayName as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(GetDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ParseDisplayName as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IMonikerVtbl), "::", stringify!(ParseDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsSystemMoniker as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMoniker), "::", stringify!(lpVtbl) ) ); } extern "C" { pub fn IMoniker_RemoteBindToObject_Proxy( This: *mut IMoniker, pbc: *mut IBindCtx, pmkToLeft: *mut IMoniker, riidResult: *const IID, ppvResult: *mut *mut IUnknown, ) -> HRESULT; } extern "C" { pub fn IMoniker_RemoteBindToObject_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn IMoniker_RemoteBindToStorage_Proxy( This: *mut IMoniker, pbc: *mut IBindCtx, pmkToLeft: *mut IMoniker, riid: *const IID, ppvObj: *mut *mut IUnknown, ) -> HRESULT; } extern "C" { pub fn IMoniker_RemoteBindToStorage_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0061_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0061_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub static IID_IROTData: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IROTDataVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IROTData, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub GetComparisonData: ::std::option::Option< unsafe extern "C" fn( This: *mut IROTData, pbData: *mut byte, cbMax: ULONG, pcbData: *mut ULONG, ) -> HRESULT, >, } #[test] fn bindgen_test_layout_IROTDataVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IROTDataVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IROTDataVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IROTDataVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetComparisonData as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IROTData), "::", stringify!(lpVtbl) ) ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0062_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0062_v0_0_s_ifspec: RPC_IF_HANDLE; } pub type LPENUMSTATSTG = *mut IEnumSTATSTG; extern "C" { pub static IID_IEnumSTATSTG: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IEnumSTATSTGVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IEnumSTATSTG, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub Next: ::std::option::Option< unsafe extern "C" fn( This: *mut IEnumSTATSTG, celt: ULONG, rgelt: *mut STATSTG, pceltFetched: *mut ULONG, ) -> HRESULT, >, pub Skip: ::std::option::Option< unsafe extern "C" fn(This: *mut IEnumSTATSTG, celt: ULONG) -> HRESULT, >, pub Reset: ::std::option::Option HRESULT>, pub Clone: ::std::option::Option< unsafe extern "C" fn(This: *mut IEnumSTATSTG, ppenum: *mut *mut IEnumSTATSTG) -> HRESULT, >, } #[test] fn bindgen_test_layout_IEnumSTATSTGVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IEnumSTATSTGVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IEnumSTATSTGVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IEnumSTATSTGVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Next as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IEnumSTATSTGVtbl), "::", stringify!(Next) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Skip as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IEnumSTATSTGVtbl), "::", stringify!(Skip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reset as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IEnumSTATSTGVtbl), "::", stringify!(Reset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Clone as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).ulCntStr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRemSNB), "::", stringify!(ulCntStr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulCntChar as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRemSNB), "::", stringify!(ulCntChar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgString as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateStream as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(CreateStream) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OpenStream as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(OpenStream) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateStorage as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(CreateStorage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OpenStorage as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(OpenStorage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CopyTo as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(CopyTo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MoveElementTo as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(MoveElementTo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Commit as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(Commit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Revert as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(Revert) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnumElements as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(EnumElements) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DestroyElement as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(DestroyElement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RenameElement as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(RenameElement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetElementTimes as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(SetElementTimes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetClass as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(SetClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetStateBits as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IStorageVtbl), "::", stringify!(SetStateBits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Stat as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IStorage), "::", stringify!(lpVtbl) ) ); } extern "C" { pub fn IStorage_RemoteOpenStream_Proxy( This: *mut IStorage, pwcsName: *const OLECHAR, cbReserved1: ULONG, reserved1: *mut byte, grfMode: DWORD, reserved2: DWORD, ppstm: *mut *mut IStream, ) -> HRESULT; } extern "C" { pub fn IStorage_RemoteOpenStream_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn IStorage_RemoteCopyTo_Proxy( This: *mut IStorage, ciidExclude: DWORD, rgiidExclude: *const IID, snbExclude: SNB, pstgDest: *mut IStorage, ) -> HRESULT; } extern "C" { pub fn IStorage_RemoteCopyTo_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn IStorage_RemoteEnumElements_Proxy( This: *mut IStorage, reserved1: DWORD, cbReserved2: ULONG, reserved2: *mut byte, reserved3: DWORD, ppenum: *mut *mut IEnumSTATSTG, ) -> HRESULT; } extern "C" { pub fn IStorage_RemoteEnumElements_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0064_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0064_v0_0_s_ifspec: RPC_IF_HANDLE; } pub type LPPERSISTFILE = *mut IPersistFile; extern "C" { pub static IID_IPersistFile: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IPersistFileVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IPersistFile, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub GetClassID: ::std::option::Option< unsafe extern "C" fn(This: *mut IPersistFile, pClassID: *mut CLSID) -> HRESULT, >, pub IsDirty: ::std::option::Option HRESULT>, pub Load: ::std::option::Option< unsafe extern "C" fn( This: *mut IPersistFile, pszFileName: LPCOLESTR, dwMode: DWORD, ) -> HRESULT, >, pub Save: ::std::option::Option< unsafe extern "C" fn( This: *mut IPersistFile, pszFileName: LPCOLESTR, fRemember: BOOL, ) -> HRESULT, >, pub SaveCompleted: ::std::option::Option< unsafe extern "C" fn(This: *mut IPersistFile, pszFileName: LPCOLESTR) -> HRESULT, >, pub GetCurFile: ::std::option::Option< unsafe extern "C" fn(This: *mut IPersistFile, ppszFileName: *mut LPOLESTR) -> HRESULT, >, } #[test] fn bindgen_test_layout_IPersistFileVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IPersistFileVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IPersistFileVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IPersistFileVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetClassID as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IPersistFileVtbl), "::", stringify!(GetClassID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsDirty as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IPersistFileVtbl), "::", stringify!(IsDirty) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Load as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IPersistFileVtbl), "::", stringify!(Load) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Save as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IPersistFileVtbl), "::", stringify!(Save) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SaveCompleted as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IPersistFileVtbl), "::", stringify!(SaveCompleted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetCurFile as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IPersistStorageVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IPersistStorageVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IPersistStorageVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetClassID as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IPersistStorageVtbl), "::", stringify!(GetClassID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsDirty as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IPersistStorageVtbl), "::", stringify!(IsDirty) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).InitNew as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IPersistStorageVtbl), "::", stringify!(InitNew) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Load as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IPersistStorageVtbl), "::", stringify!(Load) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Save as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IPersistStorageVtbl), "::", stringify!(Save) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SaveCompleted as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IPersistStorageVtbl), "::", stringify!(SaveCompleted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).HandsOffStorage as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IPersistStorage), "::", stringify!(lpVtbl) ) ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0066_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0066_v0_0_s_ifspec: RPC_IF_HANDLE; } pub type LPLOCKBYTES = *mut ILockBytes; extern "C" { pub static IID_ILockBytes: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ILockBytesVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut ILockBytes, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub ReadAt: ::std::option::Option< unsafe extern "C" fn( This: *mut ILockBytes, ulOffset: ULARGE_INTEGER, pv: *mut ::std::os::raw::c_void, cb: ULONG, pcbRead: *mut ULONG, ) -> HRESULT, >, pub WriteAt: ::std::option::Option< unsafe extern "C" fn( This: *mut ILockBytes, ulOffset: ULARGE_INTEGER, pv: *const ::std::os::raw::c_void, cb: ULONG, pcbWritten: *mut ULONG, ) -> HRESULT, >, pub Flush: ::std::option::Option HRESULT>, pub SetSize: ::std::option::Option< unsafe extern "C" fn(This: *mut ILockBytes, cb: ULARGE_INTEGER) -> HRESULT, >, pub LockRegion: ::std::option::Option< unsafe extern "C" fn( This: *mut ILockBytes, libOffset: ULARGE_INTEGER, cb: ULARGE_INTEGER, dwLockType: DWORD, ) -> HRESULT, >, pub UnlockRegion: ::std::option::Option< unsafe extern "C" fn( This: *mut ILockBytes, libOffset: ULARGE_INTEGER, cb: ULARGE_INTEGER, dwLockType: DWORD, ) -> HRESULT, >, pub Stat: ::std::option::Option< unsafe extern "C" fn( This: *mut ILockBytes, pstatstg: *mut STATSTG, grfStatFlag: DWORD, ) -> HRESULT, >, } #[test] fn bindgen_test_layout_ILockBytesVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ILockBytesVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ILockBytesVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ILockBytesVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReadAt as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ILockBytesVtbl), "::", stringify!(ReadAt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).WriteAt as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ILockBytesVtbl), "::", stringify!(WriteAt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flush as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ILockBytesVtbl), "::", stringify!(Flush) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetSize as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(ILockBytesVtbl), "::", stringify!(SetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LockRegion as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(ILockBytesVtbl), "::", stringify!(LockRegion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UnlockRegion as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(ILockBytesVtbl), "::", stringify!(UnlockRegion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Stat as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).tdSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDVTARGETDEVICE), "::", stringify!(tdSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tdDriverNameOffset as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagDVTARGETDEVICE), "::", stringify!(tdDriverNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tdDeviceNameOffset as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(tagDVTARGETDEVICE), "::", stringify!(tdDeviceNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tdPortNameOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagDVTARGETDEVICE), "::", stringify!(tdPortNameOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tdExtDevmodeOffset as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(tagDVTARGETDEVICE), "::", stringify!(tdExtDevmodeOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tdData as *const _ 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() { 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::null::())).cfFormat as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagFORMATETC), "::", stringify!(cfFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptd as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagFORMATETC), "::", stringify!(ptd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwAspect as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagFORMATETC), "::", stringify!(dwAspect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lindex as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagFORMATETC), "::", stringify!(lindex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tymed as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IEnumFORMATETCVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IEnumFORMATETCVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IEnumFORMATETCVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Next as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IEnumFORMATETCVtbl), "::", stringify!(Next) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Skip as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IEnumFORMATETCVtbl), "::", stringify!(Skip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reset as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IEnumFORMATETCVtbl), "::", stringify!(Reset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Clone as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).formatetc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTATDATA), "::", stringify!(formatetc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).advf as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagSTATDATA), "::", stringify!(advf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pAdvSink as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagSTATDATA), "::", stringify!(pAdvSink) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwConnection as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IEnumSTATDATAVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IEnumSTATDATAVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IEnumSTATDATAVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Next as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IEnumSTATDATAVtbl), "::", stringify!(Next) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Skip as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IEnumSTATDATAVtbl), "::", stringify!(Skip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reset as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IEnumSTATDATAVtbl), "::", stringify!(Reset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Clone as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IRootStorageVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IRootStorageVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IRootStorageVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SwitchToFile as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).tymed as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRemSTGMEDIUM), "::", stringify!(tymed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwHandleType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRemSTGMEDIUM), "::", stringify!(dwHandleType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRemSTGMEDIUM), "::", stringify!(pData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pUnkForRelease as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagRemSTGMEDIUM), "::", stringify!(pUnkForRelease) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbData as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagRemSTGMEDIUM), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_tagSTGMEDIUM__bindgen_ty_1() { 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::null::())).hBitmap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTGMEDIUM__bindgen_ty_1), "::", stringify!(hBitmap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hMetaFilePict as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTGMEDIUM__bindgen_ty_1), "::", stringify!(hMetaFilePict) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hEnhMetaFile as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTGMEDIUM__bindgen_ty_1), "::", stringify!(hEnhMetaFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hGlobal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTGMEDIUM__bindgen_ty_1), "::", stringify!(hGlobal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszFileName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTGMEDIUM__bindgen_ty_1), "::", stringify!(lpszFileName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pstm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTGMEDIUM__bindgen_ty_1), "::", stringify!(pstm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pstg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTGMEDIUM__bindgen_ty_1), "::", stringify!(pstg) ) ); } #[test] fn bindgen_test_layout_tagSTGMEDIUM() { 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::null::())).tymed as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTGMEDIUM), "::", stringify!(tymed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pUnkForRelease as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__GDI_OBJECT___MIDL_IAdviseSink_0002() { 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::null::<_GDI_OBJECT___MIDL_IAdviseSink_0002>())).hBitmap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GDI_OBJECT___MIDL_IAdviseSink_0002), "::", stringify!(hBitmap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GDI_OBJECT___MIDL_IAdviseSink_0002>())).hPalette as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GDI_OBJECT___MIDL_IAdviseSink_0002), "::", stringify!(hPalette) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GDI_OBJECT___MIDL_IAdviseSink_0002>())).hGeneric as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GDI_OBJECT___MIDL_IAdviseSink_0002), "::", stringify!(hGeneric) ) ); } #[test] fn bindgen_test_layout__GDI_OBJECT() { 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::null::<_GDI_OBJECT>())).ObjectType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_GDI_OBJECT), "::", stringify!(ObjectType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_GDI_OBJECT>())).u as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout__userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003() { 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::null::<_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003>())) .hMetaFilePict as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), "::", stringify!(hMetaFilePict) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003>())) .hHEnhMetaFile as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), "::", stringify!(hHEnhMetaFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003>())) .hGdiHandle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), "::", stringify!(hGdiHandle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003>())) .hGlobal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), "::", stringify!(hGlobal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003>())) .lpszFileName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), "::", stringify!(lpszFileName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003>())).pstm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), "::", stringify!(pstm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003>())).pstg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), "::", stringify!(pstg) ) ); } #[test] fn bindgen_test_layout__userSTGMEDIUM__STGMEDIUM_UNION() { 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::null::<_userSTGMEDIUM__STGMEDIUM_UNION>())).tymed as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userSTGMEDIUM__STGMEDIUM_UNION), "::", stringify!(tymed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userSTGMEDIUM__STGMEDIUM_UNION>())).u as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_userSTGMEDIUM__STGMEDIUM_UNION), "::", stringify!(u) ) ); } #[test] fn bindgen_test_layout__userSTGMEDIUM() { 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::null::<_userSTGMEDIUM>())).pUnkForRelease as *const _ 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() { 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::null::<_userFLAG_STGMEDIUM>())).ContextFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_userFLAG_STGMEDIUM), "::", stringify!(ContextFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userFLAG_STGMEDIUM>())).fPassOwnership as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_userFLAG_STGMEDIUM), "::", stringify!(fPassOwnership) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_userFLAG_STGMEDIUM>())).Stgmed as *const _ 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() { 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::null::<_FLAG_STGMEDIUM>())).ContextFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_FLAG_STGMEDIUM), "::", stringify!(ContextFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FLAG_STGMEDIUM>())).fPassOwnership as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_FLAG_STGMEDIUM), "::", stringify!(fPassOwnership) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_FLAG_STGMEDIUM>())).Stgmed as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IAdviseSinkVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IAdviseSinkVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IAdviseSinkVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnDataChange as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IAdviseSinkVtbl), "::", stringify!(OnDataChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnViewChange as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IAdviseSinkVtbl), "::", stringify!(OnViewChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnRename as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IAdviseSinkVtbl), "::", stringify!(OnRename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnSave as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IAdviseSinkVtbl), "::", stringify!(OnSave) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnClose as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSinkVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSinkVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSinkVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_OnDataChange as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSinkVtbl), "::", stringify!(Begin_OnDataChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_OnDataChange as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSinkVtbl), "::", stringify!(Finish_OnDataChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_OnViewChange as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSinkVtbl), "::", stringify!(Begin_OnViewChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_OnViewChange as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSinkVtbl), "::", stringify!(Finish_OnViewChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_OnRename as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSinkVtbl), "::", stringify!(Begin_OnRename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_OnRename as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSinkVtbl), "::", stringify!(Finish_OnRename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_OnSave as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSinkVtbl), "::", stringify!(Begin_OnSave) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_OnSave as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSinkVtbl), "::", stringify!(Finish_OnSave) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_OnClose as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSinkVtbl), "::", stringify!(Begin_OnClose) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_OnClose as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink), "::", stringify!(lpVtbl) ) ); } extern "C" { pub fn AsyncIAdviseSink_Begin_RemoteOnDataChange_Proxy( This: *mut AsyncIAdviseSink, pFormatetc: *mut FORMATETC, pStgmed: *mut ASYNC_STGMEDIUM, ) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Begin_RemoteOnDataChange_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn AsyncIAdviseSink_Finish_RemoteOnDataChange_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Finish_RemoteOnDataChange_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn AsyncIAdviseSink_Begin_RemoteOnViewChange_Proxy( This: *mut AsyncIAdviseSink, dwAspect: DWORD, lindex: LONG, ) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Begin_RemoteOnViewChange_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn AsyncIAdviseSink_Finish_RemoteOnViewChange_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Finish_RemoteOnViewChange_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn AsyncIAdviseSink_Begin_RemoteOnRename_Proxy( This: *mut AsyncIAdviseSink, pmk: *mut IMoniker, ) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Begin_RemoteOnRename_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn AsyncIAdviseSink_Finish_RemoteOnRename_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Finish_RemoteOnRename_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn AsyncIAdviseSink_Begin_RemoteOnSave_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Begin_RemoteOnSave_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn AsyncIAdviseSink_Finish_RemoteOnSave_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Finish_RemoteOnSave_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn AsyncIAdviseSink_Begin_RemoteOnClose_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Begin_RemoteOnClose_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn AsyncIAdviseSink_Finish_RemoteOnClose_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Finish_RemoteOnClose_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0071_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0071_v0_0_s_ifspec: RPC_IF_HANDLE; } pub type LPADVISESINK2 = *mut IAdviseSink2; extern "C" { pub static IID_IAdviseSink2: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IAdviseSink2Vtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IAdviseSink2, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub OnDataChange: ::std::option::Option< unsafe extern "C" fn( This: *mut IAdviseSink2, pFormatetc: *mut FORMATETC, pStgmed: *mut STGMEDIUM, ), >, pub OnViewChange: ::std::option::Option< unsafe extern "C" fn(This: *mut IAdviseSink2, dwAspect: DWORD, lindex: LONG), >, pub OnRename: ::std::option::Option, pub OnSave: ::std::option::Option, pub OnClose: ::std::option::Option, pub OnLinkSrcChange: ::std::option::Option, } #[test] fn bindgen_test_layout_IAdviseSink2Vtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IAdviseSink2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IAdviseSink2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IAdviseSink2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnDataChange as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IAdviseSink2Vtbl), "::", stringify!(OnDataChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnViewChange as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IAdviseSink2Vtbl), "::", stringify!(OnViewChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnRename as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IAdviseSink2Vtbl), "::", stringify!(OnRename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnSave as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IAdviseSink2Vtbl), "::", stringify!(OnSave) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnClose as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IAdviseSink2Vtbl), "::", stringify!(OnClose) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnLinkSrcChange as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_OnDataChange as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink2Vtbl), "::", stringify!(Begin_OnDataChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_OnDataChange as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink2Vtbl), "::", stringify!(Finish_OnDataChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_OnViewChange as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink2Vtbl), "::", stringify!(Begin_OnViewChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_OnViewChange as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink2Vtbl), "::", stringify!(Finish_OnViewChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_OnRename as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink2Vtbl), "::", stringify!(Begin_OnRename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_OnRename as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink2Vtbl), "::", stringify!(Finish_OnRename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_OnSave as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink2Vtbl), "::", stringify!(Begin_OnSave) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_OnSave as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink2Vtbl), "::", stringify!(Finish_OnSave) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_OnClose as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink2Vtbl), "::", stringify!(Begin_OnClose) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_OnClose as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink2Vtbl), "::", stringify!(Finish_OnClose) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Begin_OnLinkSrcChange as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink2Vtbl), "::", stringify!(Begin_OnLinkSrcChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Finish_OnLinkSrcChange as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(AsyncIAdviseSink2), "::", stringify!(lpVtbl) ) ); } extern "C" { pub fn AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Proxy( This: *mut AsyncIAdviseSink2, pmk: *mut IMoniker, ) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Proxy( This: *mut AsyncIAdviseSink2, ) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0072_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0072_v0_0_s_ifspec: RPC_IF_HANDLE; } pub type LPDATAOBJECT = *mut IDataObject; pub const tagDATADIR_DATADIR_GET: tagDATADIR = 1; pub const tagDATADIR_DATADIR_SET: tagDATADIR = 2; pub type tagDATADIR = ::std::os::raw::c_int; pub use self::tagDATADIR as DATADIR; extern "C" { pub static IID_IDataObject: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IDataObjectVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IDataObject, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub GetData: ::std::option::Option< unsafe extern "C" fn( This: *mut IDataObject, pformatetcIn: *mut FORMATETC, pmedium: *mut STGMEDIUM, ) -> HRESULT, >, pub GetDataHere: ::std::option::Option< unsafe extern "C" fn( This: *mut IDataObject, pformatetc: *mut FORMATETC, pmedium: *mut STGMEDIUM, ) -> HRESULT, >, pub QueryGetData: ::std::option::Option< unsafe extern "C" fn(This: *mut IDataObject, pformatetc: *mut FORMATETC) -> HRESULT, >, pub GetCanonicalFormatEtc: ::std::option::Option< unsafe extern "C" fn( This: *mut IDataObject, pformatectIn: *mut FORMATETC, pformatetcOut: *mut FORMATETC, ) -> HRESULT, >, pub SetData: ::std::option::Option< unsafe extern "C" fn( This: *mut IDataObject, pformatetc: *mut FORMATETC, pmedium: *mut STGMEDIUM, fRelease: BOOL, ) -> HRESULT, >, pub EnumFormatEtc: ::std::option::Option< unsafe extern "C" fn( This: *mut IDataObject, dwDirection: DWORD, ppenumFormatEtc: *mut *mut IEnumFORMATETC, ) -> HRESULT, >, pub DAdvise: ::std::option::Option< unsafe extern "C" fn( This: *mut IDataObject, pformatetc: *mut FORMATETC, advf: DWORD, pAdvSink: *mut IAdviseSink, pdwConnection: *mut DWORD, ) -> HRESULT, >, pub DUnadvise: ::std::option::Option< unsafe extern "C" fn(This: *mut IDataObject, dwConnection: DWORD) -> HRESULT, >, pub EnumDAdvise: ::std::option::Option< unsafe extern "C" fn( This: *mut IDataObject, ppenumAdvise: *mut *mut IEnumSTATDATA, ) -> HRESULT, >, } #[test] fn bindgen_test_layout_IDataObjectVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IDataObjectVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IDataObjectVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IDataObjectVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetData as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IDataObjectVtbl), "::", stringify!(GetData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDataHere as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IDataObjectVtbl), "::", stringify!(GetDataHere) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryGetData as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IDataObjectVtbl), "::", stringify!(QueryGetData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetCanonicalFormatEtc as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IDataObjectVtbl), "::", stringify!(GetCanonicalFormatEtc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetData as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IDataObjectVtbl), "::", stringify!(SetData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnumFormatEtc as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IDataObjectVtbl), "::", stringify!(EnumFormatEtc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DAdvise as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IDataObjectVtbl), "::", stringify!(DAdvise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DUnadvise as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IDataObjectVtbl), "::", stringify!(DUnadvise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnumDAdvise as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IDataObject), "::", stringify!(lpVtbl) ) ); } extern "C" { pub fn IDataObject_RemoteGetData_Proxy( This: *mut IDataObject, pformatetcIn: *mut FORMATETC, pRemoteMedium: *mut STGMEDIUM, ) -> HRESULT; } extern "C" { pub fn IDataObject_RemoteGetData_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn IDataObject_RemoteGetDataHere_Proxy( This: *mut IDataObject, pformatetc: *mut FORMATETC, pRemoteMedium: *mut STGMEDIUM, ) -> HRESULT; } extern "C" { pub fn IDataObject_RemoteGetDataHere_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn IDataObject_RemoteSetData_Proxy( This: *mut IDataObject, pformatetc: *mut FORMATETC, pmedium: *mut FLAG_STGMEDIUM, fRelease: BOOL, ) -> HRESULT; } extern "C" { pub fn IDataObject_RemoteSetData_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0073_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0073_v0_0_s_ifspec: RPC_IF_HANDLE; } pub type LPDATAADVISEHOLDER = *mut IDataAdviseHolder; extern "C" { pub static IID_IDataAdviseHolder: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IDataAdviseHolderVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IDataAdviseHolder, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub Advise: ::std::option::Option< unsafe extern "C" fn( This: *mut IDataAdviseHolder, pDataObject: *mut IDataObject, pFetc: *mut FORMATETC, advf: DWORD, pAdvise: *mut IAdviseSink, pdwConnection: *mut DWORD, ) -> HRESULT, >, pub Unadvise: ::std::option::Option< unsafe extern "C" fn(This: *mut IDataAdviseHolder, dwConnection: DWORD) -> HRESULT, >, pub EnumAdvise: ::std::option::Option< unsafe extern "C" fn( This: *mut IDataAdviseHolder, ppenumAdvise: *mut *mut IEnumSTATDATA, ) -> HRESULT, >, pub SendOnDataChange: ::std::option::Option< unsafe extern "C" fn( This: *mut IDataAdviseHolder, pDataObject: *mut IDataObject, dwReserved: DWORD, advf: DWORD, ) -> HRESULT, >, } #[test] fn bindgen_test_layout_IDataAdviseHolderVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IDataAdviseHolderVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IDataAdviseHolderVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IDataAdviseHolderVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Advise as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IDataAdviseHolderVtbl), "::", stringify!(Advise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Unadvise as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IDataAdviseHolderVtbl), "::", stringify!(Unadvise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnumAdvise as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IDataAdviseHolderVtbl), "::", stringify!(EnumAdvise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SendOnDataChange as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).pUnk as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagINTERFACEINFO), "::", stringify!(pUnk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagINTERFACEINFO), "::", stringify!(iid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMethod as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMessageFilterVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IMessageFilterVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IMessageFilterVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).HandleInComingCall as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IMessageFilterVtbl), "::", stringify!(HandleInComingCall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RetryRejectedCall as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IMessageFilterVtbl), "::", stringify!(RetryRejectedCall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MessagePending as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMessageFilter), "::", stringify!(lpVtbl) ) ); } extern "C" { pub static FMTID_SummaryInformation: FMTID; } extern "C" { pub static FMTID_DocSummaryInformation: FMTID; } extern "C" { pub static FMTID_UserDefinedProperties: FMTID; } extern "C" { pub static FMTID_DiscardableInformation: FMTID; } extern "C" { pub static FMTID_ImageSummaryInformation: FMTID; } extern "C" { pub static FMTID_AudioSummaryInformation: FMTID; } extern "C" { pub static FMTID_VideoSummaryInformation: FMTID; } extern "C" { pub static FMTID_MediaFileSummaryInformation: FMTID; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0075_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0075_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub static IID_IClassActivator: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IClassActivatorVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IClassActivator, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub GetClassObject: ::std::option::Option< unsafe extern "C" fn( This: *mut IClassActivator, rclsid: *const IID, dwClassContext: DWORD, locale: LCID, riid: *const IID, ppv: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, } #[test] fn bindgen_test_layout_IClassActivatorVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IClassActivatorVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IClassActivatorVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IClassActivatorVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetClassObject as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IClassActivator), "::", stringify!(lpVtbl) ) ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0076_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0076_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub static IID_IFillLockBytes: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IFillLockBytesVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IFillLockBytes, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub FillAppend: ::std::option::Option< unsafe extern "C" fn( This: *mut IFillLockBytes, pv: *const ::std::os::raw::c_void, cb: ULONG, pcbWritten: *mut ULONG, ) -> HRESULT, >, pub FillAt: ::std::option::Option< unsafe extern "C" fn( This: *mut IFillLockBytes, ulOffset: ULARGE_INTEGER, pv: *const ::std::os::raw::c_void, cb: ULONG, pcbWritten: *mut ULONG, ) -> HRESULT, >, pub SetFillSize: ::std::option::Option< unsafe extern "C" fn(This: *mut IFillLockBytes, ulSize: ULARGE_INTEGER) -> HRESULT, >, pub Terminate: ::std::option::Option< unsafe extern "C" fn(This: *mut IFillLockBytes, bCanceled: BOOL) -> HRESULT, >, } #[test] fn bindgen_test_layout_IFillLockBytesVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IFillLockBytesVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IFillLockBytesVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IFillLockBytesVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FillAppend as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IFillLockBytesVtbl), "::", stringify!(FillAppend) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FillAt as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IFillLockBytesVtbl), "::", stringify!(FillAt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetFillSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IFillLockBytesVtbl), "::", stringify!(SetFillSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Terminate as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IFillLockBytes), "::", stringify!(lpVtbl) ) ); } extern "C" { pub fn IFillLockBytes_RemoteFillAppend_Proxy( This: *mut IFillLockBytes, pv: *const byte, cb: ULONG, pcbWritten: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IFillLockBytes_RemoteFillAppend_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub fn IFillLockBytes_RemoteFillAt_Proxy( This: *mut IFillLockBytes, ulOffset: ULARGE_INTEGER, pv: *const byte, cb: ULONG, pcbWritten: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IFillLockBytes_RemoteFillAt_Stub( This: *mut IRpcStubBuffer, _pRpcChannelBuffer: *mut IRpcChannelBuffer, _pRpcMessage: PRPC_MESSAGE, _pdwStubPhase: *mut DWORD, ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0077_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0077_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub static IID_IProgressNotify: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IProgressNotifyVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IProgressNotify, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub OnProgress: ::std::option::Option< unsafe extern "C" fn( This: *mut IProgressNotify, dwProgressCurrent: DWORD, dwProgressMaximum: DWORD, fAccurate: BOOL, fOwner: BOOL, ) -> HRESULT, >, } #[test] fn bindgen_test_layout_IProgressNotifyVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IProgressNotifyVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IProgressNotifyVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IProgressNotifyVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnProgress as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IProgressNotify), "::", stringify!(lpVtbl) ) ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0078_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0078_v0_0_s_ifspec: RPC_IF_HANDLE; } #[repr(C)] #[derive(Copy, Clone)] pub struct tagStorageLayout { pub LayoutType: DWORD, pub pwcsElementName: *mut OLECHAR, pub cOffset: LARGE_INTEGER, pub cBytes: LARGE_INTEGER, } #[test] fn bindgen_test_layout_tagStorageLayout() { 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::null::())).LayoutType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagStorageLayout), "::", stringify!(LayoutType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pwcsElementName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagStorageLayout), "::", stringify!(pwcsElementName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cOffset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagStorageLayout), "::", stringify!(cOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cBytes as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ILayoutStorageVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ILayoutStorageVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ILayoutStorageVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LayoutScript as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ILayoutStorageVtbl), "::", stringify!(LayoutScript) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BeginMonitor as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ILayoutStorageVtbl), "::", stringify!(BeginMonitor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EndMonitor as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ILayoutStorageVtbl), "::", stringify!(EndMonitor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReLayoutDocfile as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(ILayoutStorageVtbl), "::", stringify!(ReLayoutDocfile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReLayoutDocfileOnILockBytes as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ILayoutStorage), "::", stringify!(lpVtbl) ) ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0079_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0079_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub static IID_IBlockingLock: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IBlockingLockVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IBlockingLock, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub Lock: ::std::option::Option< unsafe extern "C" fn(This: *mut IBlockingLock, dwTimeout: DWORD) -> HRESULT, >, pub Unlock: ::std::option::Option HRESULT>, } #[test] fn bindgen_test_layout_IBlockingLockVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IBlockingLockVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IBlockingLockVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IBlockingLockVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Lock as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IBlockingLockVtbl), "::", stringify!(Lock) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Unlock as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ITimeAndNoticeControlVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ITimeAndNoticeControlVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ITimeAndNoticeControlVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SuppressChanges as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOplockStorageVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOplockStorageVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOplockStorageVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateStorageEx as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOplockStorageVtbl), "::", stringify!(CreateStorageEx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OpenStorageEx as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOplockStorage), "::", stringify!(lpVtbl) ) ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0082_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0082_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub static IID_IDirectWriterLock: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IDirectWriterLockVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IDirectWriterLock, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub WaitForWriteAccess: ::std::option::Option< unsafe extern "C" fn(This: *mut IDirectWriterLock, dwTimeout: DWORD) -> HRESULT, >, pub ReleaseWriteAccess: ::std::option::Option HRESULT>, pub HaveWriteAccess: ::std::option::Option HRESULT>, } #[test] fn bindgen_test_layout_IDirectWriterLockVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IDirectWriterLockVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IDirectWriterLockVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IDirectWriterLockVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).WaitForWriteAccess as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IDirectWriterLockVtbl), "::", stringify!(WaitForWriteAccess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseWriteAccess as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IDirectWriterLockVtbl), "::", stringify!(ReleaseWriteAccess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).HaveWriteAccess as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IDirectWriterLock), "::", stringify!(lpVtbl) ) ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0083_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0083_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub static IID_IUrlMon: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IUrlMonVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IUrlMon, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub AsyncGetClassBits: ::std::option::Option< unsafe extern "C" fn( This: *mut IUrlMon, rclsid: *const IID, pszTYPE: LPCWSTR, pszExt: LPCWSTR, dwFileVersionMS: DWORD, dwFileVersionLS: DWORD, pszCodeBase: LPCWSTR, pbc: *mut IBindCtx, dwClassContext: DWORD, riid: *const IID, flags: DWORD, ) -> HRESULT, >, } #[test] fn bindgen_test_layout_IUrlMonVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IUrlMonVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IUrlMonVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IUrlMonVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AsyncGetClassBits as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IForegroundTransferVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IForegroundTransferVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IForegroundTransferVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AllowForegroundTransfer as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IThumbnailExtractorVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IThumbnailExtractorVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IThumbnailExtractorVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ExtractThumbnail as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IThumbnailExtractorVtbl), "::", stringify!(ExtractThumbnail) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnFileUpdated as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IDummyHICONIncluderVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IDummyHICONIncluderVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IDummyHICONIncluderVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Dummy as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IDummyHICONIncluder), "::", stringify!(lpVtbl) ) ); } pub const tagApplicationType_ServerApplication: tagApplicationType = 0; pub const tagApplicationType_LibraryApplication: tagApplicationType = 1; pub type tagApplicationType = ::std::os::raw::c_int; pub use self::tagApplicationType as ApplicationType; pub const tagShutdownType_IdleShutdown: tagShutdownType = 0; pub const tagShutdownType_ForcedShutdown: tagShutdownType = 1; pub type tagShutdownType = ::std::os::raw::c_int; pub use self::tagShutdownType as ShutdownType; extern "C" { pub static mut __MIDL_itf_objidl_0000_0087_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0087_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub static IID_IProcessLock: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IProcessLockVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IProcessLock, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub AddRefOnProcess: ::std::option::Option ULONG>, pub ReleaseRefOnProcess: ::std::option::Option ULONG>, } #[test] fn bindgen_test_layout_IProcessLockVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IProcessLockVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IProcessLockVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IProcessLockVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRefOnProcess as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IProcessLockVtbl), "::", stringify!(AddRefOnProcess) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseRefOnProcess as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ISurrogateServiceVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ISurrogateServiceVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ISurrogateServiceVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Init as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ISurrogateServiceVtbl), "::", stringify!(Init) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ApplicationLaunch as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ISurrogateServiceVtbl), "::", stringify!(ApplicationLaunch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ApplicationFree as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ISurrogateServiceVtbl), "::", stringify!(ApplicationFree) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CatalogRefresh as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(ISurrogateServiceVtbl), "::", stringify!(CatalogRefresh) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProcessShutdown as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ISurrogateService), "::", stringify!(lpVtbl) ) ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0089_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0089_v0_0_s_ifspec: RPC_IF_HANDLE; } pub type LPINITIALIZESPY = *mut IInitializeSpy; extern "C" { pub static IID_IInitializeSpy: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IInitializeSpyVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IInitializeSpy, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub PreInitialize: ::std::option::Option< unsafe extern "C" fn( This: *mut IInitializeSpy, dwCoInit: DWORD, dwCurThreadAptRefs: DWORD, ) -> HRESULT, >, pub PostInitialize: ::std::option::Option< unsafe extern "C" fn( This: *mut IInitializeSpy, hrCoInit: HRESULT, dwCoInit: DWORD, dwNewThreadAptRefs: DWORD, ) -> HRESULT, >, pub PreUninitialize: ::std::option::Option< unsafe extern "C" fn(This: *mut IInitializeSpy, dwCurThreadAptRefs: DWORD) -> HRESULT, >, pub PostUninitialize: ::std::option::Option< unsafe extern "C" fn(This: *mut IInitializeSpy, dwNewThreadAptRefs: DWORD) -> HRESULT, >, } #[test] fn bindgen_test_layout_IInitializeSpyVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInitializeSpyVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInitializeSpyVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInitializeSpyVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PreInitialize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInitializeSpyVtbl), "::", stringify!(PreInitialize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PostInitialize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInitializeSpyVtbl), "::", stringify!(PostInitialize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PreUninitialize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IInitializeSpyVtbl), "::", stringify!(PreUninitialize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PostUninitialize as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInitializeSpy), "::", stringify!(lpVtbl) ) ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0090_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0090_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub static IID_IApartmentShutdown: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IApartmentShutdownVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IApartmentShutdown, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub OnUninitialize: ::std::option::Option< unsafe extern "C" fn(This: *mut IApartmentShutdown, ui64ApartmentIdentifier: UINT64), >, } #[test] fn bindgen_test_layout_IApartmentShutdownVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IApartmentShutdownVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IApartmentShutdownVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IApartmentShutdownVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnUninitialize as *const _ 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() { 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::null::())).lpVtbl as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IApartmentShutdown), "::", stringify!(lpVtbl) ) ); } extern "C" { pub static mut __MIDL_itf_objidl_0000_0091_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_objidl_0000_0091_v0_0_s_ifspec: RPC_IF_HANDLE; } extern "C" { pub fn ASYNC_STGMEDIUM_UserSize( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut ASYNC_STGMEDIUM, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn ASYNC_STGMEDIUM_UserMarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut ASYNC_STGMEDIUM, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn ASYNC_STGMEDIUM_UserUnmarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut ASYNC_STGMEDIUM, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn ASYNC_STGMEDIUM_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ASYNC_STGMEDIUM); } extern "C" { pub fn CLIPFORMAT_UserSize( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut CLIPFORMAT, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn CLIPFORMAT_UserMarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut CLIPFORMAT, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn CLIPFORMAT_UserUnmarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut CLIPFORMAT, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn CLIPFORMAT_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut CLIPFORMAT); } extern "C" { pub fn FLAG_STGMEDIUM_UserSize( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut FLAG_STGMEDIUM, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn FLAG_STGMEDIUM_UserMarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut FLAG_STGMEDIUM, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn FLAG_STGMEDIUM_UserUnmarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut FLAG_STGMEDIUM, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn FLAG_STGMEDIUM_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut FLAG_STGMEDIUM); } extern "C" { pub fn HBITMAP_UserSize( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut HBITMAP, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn HBITMAP_UserMarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut HBITMAP, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn HBITMAP_UserUnmarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut HBITMAP, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn HBITMAP_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HBITMAP); } extern "C" { pub fn HDC_UserSize( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut HDC, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn HDC_UserMarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut HDC, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn HDC_UserUnmarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut HDC, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn HDC_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HDC); } extern "C" { pub fn HICON_UserSize( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut HICON, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn HICON_UserMarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut HICON, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn HICON_UserUnmarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut HICON, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn HICON_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HICON); } extern "C" { pub fn SNB_UserSize( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut SNB, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn SNB_UserMarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut SNB, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn SNB_UserUnmarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut SNB, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn SNB_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut SNB); } extern "C" { pub fn STGMEDIUM_UserSize( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut STGMEDIUM, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn STGMEDIUM_UserMarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut STGMEDIUM, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn STGMEDIUM_UserUnmarshal( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut STGMEDIUM, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn STGMEDIUM_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut STGMEDIUM); } extern "C" { pub fn ASYNC_STGMEDIUM_UserSize64( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut ASYNC_STGMEDIUM, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn ASYNC_STGMEDIUM_UserMarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut ASYNC_STGMEDIUM, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn ASYNC_STGMEDIUM_UserUnmarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut ASYNC_STGMEDIUM, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn ASYNC_STGMEDIUM_UserFree64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ASYNC_STGMEDIUM, ); } extern "C" { pub fn CLIPFORMAT_UserSize64( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut CLIPFORMAT, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn CLIPFORMAT_UserMarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut CLIPFORMAT, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn CLIPFORMAT_UserUnmarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut CLIPFORMAT, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn CLIPFORMAT_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut CLIPFORMAT); } extern "C" { pub fn FLAG_STGMEDIUM_UserSize64( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut FLAG_STGMEDIUM, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn FLAG_STGMEDIUM_UserMarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut FLAG_STGMEDIUM, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn FLAG_STGMEDIUM_UserUnmarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut FLAG_STGMEDIUM, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn FLAG_STGMEDIUM_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut FLAG_STGMEDIUM); } extern "C" { pub fn HBITMAP_UserSize64( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut HBITMAP, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn HBITMAP_UserMarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut HBITMAP, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn HBITMAP_UserUnmarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut HBITMAP, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn HBITMAP_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HBITMAP); } extern "C" { pub fn HDC_UserSize64( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut HDC, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn HDC_UserMarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut HDC, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn HDC_UserUnmarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut HDC, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn HDC_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HDC); } extern "C" { pub fn HICON_UserSize64( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut HICON, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn HICON_UserMarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut HICON, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn HICON_UserUnmarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut HICON, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn HICON_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HICON); } extern "C" { pub fn SNB_UserSize64( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut SNB, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn SNB_UserMarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut SNB, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn SNB_UserUnmarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut SNB, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn SNB_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut SNB); } extern "C" { pub fn STGMEDIUM_UserSize64( arg1: *mut ::std::os::raw::c_ulong, arg2: ::std::os::raw::c_ulong, arg3: *mut STGMEDIUM, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn STGMEDIUM_UserMarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut STGMEDIUM, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn STGMEDIUM_UserUnmarshal64( arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_uchar, arg3: *mut STGMEDIUM, ) -> *mut ::std::os::raw::c_uchar; } extern "C" { pub fn STGMEDIUM_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut STGMEDIUM); } extern "C" { pub fn IBindCtx_SetBindOptions_Proxy(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS) -> HRESULT; } extern "C" { pub fn IBindCtx_SetBindOptions_Stub(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS2) -> HRESULT; } extern "C" { pub fn IBindCtx_GetBindOptions_Proxy(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS) -> HRESULT; } extern "C" { pub fn IBindCtx_GetBindOptions_Stub(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS2) -> HRESULT; } extern "C" { pub fn IEnumMoniker_Next_Proxy( This: *mut IEnumMoniker, celt: ULONG, rgelt: *mut *mut IMoniker, pceltFetched: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IEnumMoniker_Next_Stub( This: *mut IEnumMoniker, celt: ULONG, rgelt: *mut *mut IMoniker, pceltFetched: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IRunnableObject_IsRunning_Proxy(This: *mut IRunnableObject) -> BOOL; } extern "C" { pub fn IRunnableObject_IsRunning_Stub(This: *mut IRunnableObject) -> HRESULT; } extern "C" { pub fn IMoniker_BindToObject_Proxy( This: *mut IMoniker, pbc: *mut IBindCtx, pmkToLeft: *mut IMoniker, riidResult: *const IID, ppvResult: *mut *mut ::std::os::raw::c_void, ) -> HRESULT; } extern "C" { pub fn IMoniker_BindToObject_Stub( This: *mut IMoniker, pbc: *mut IBindCtx, pmkToLeft: *mut IMoniker, riidResult: *const IID, ppvResult: *mut *mut IUnknown, ) -> HRESULT; } extern "C" { pub fn IMoniker_BindToStorage_Proxy( This: *mut IMoniker, pbc: *mut IBindCtx, pmkToLeft: *mut IMoniker, riid: *const IID, ppvObj: *mut *mut ::std::os::raw::c_void, ) -> HRESULT; } extern "C" { pub fn IMoniker_BindToStorage_Stub( This: *mut IMoniker, pbc: *mut IBindCtx, pmkToLeft: *mut IMoniker, riid: *const IID, ppvObj: *mut *mut IUnknown, ) -> HRESULT; } extern "C" { pub fn IEnumSTATSTG_Next_Proxy( This: *mut IEnumSTATSTG, celt: ULONG, rgelt: *mut STATSTG, pceltFetched: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IEnumSTATSTG_Next_Stub( This: *mut IEnumSTATSTG, celt: ULONG, rgelt: *mut STATSTG, pceltFetched: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IStorage_OpenStream_Proxy( This: *mut IStorage, pwcsName: *const OLECHAR, reserved1: *mut ::std::os::raw::c_void, grfMode: DWORD, reserved2: DWORD, ppstm: *mut *mut IStream, ) -> HRESULT; } extern "C" { pub fn IStorage_OpenStream_Stub( This: *mut IStorage, pwcsName: *const OLECHAR, cbReserved1: ULONG, reserved1: *mut byte, grfMode: DWORD, reserved2: DWORD, ppstm: *mut *mut IStream, ) -> HRESULT; } extern "C" { pub fn IStorage_CopyTo_Proxy( This: *mut IStorage, ciidExclude: DWORD, rgiidExclude: *const IID, snbExclude: SNB, pstgDest: *mut IStorage, ) -> HRESULT; } extern "C" { pub fn IStorage_CopyTo_Stub( This: *mut IStorage, ciidExclude: DWORD, rgiidExclude: *const IID, snbExclude: SNB, pstgDest: *mut IStorage, ) -> HRESULT; } extern "C" { pub fn IStorage_EnumElements_Proxy( This: *mut IStorage, reserved1: DWORD, reserved2: *mut ::std::os::raw::c_void, reserved3: DWORD, ppenum: *mut *mut IEnumSTATSTG, ) -> HRESULT; } extern "C" { pub fn IStorage_EnumElements_Stub( This: *mut IStorage, reserved1: DWORD, cbReserved2: ULONG, reserved2: *mut byte, reserved3: DWORD, ppenum: *mut *mut IEnumSTATSTG, ) -> HRESULT; } extern "C" { pub fn ILockBytes_ReadAt_Proxy( This: *mut ILockBytes, ulOffset: ULARGE_INTEGER, pv: *mut ::std::os::raw::c_void, cb: ULONG, pcbRead: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn ILockBytes_ReadAt_Stub( This: *mut ILockBytes, ulOffset: ULARGE_INTEGER, pv: *mut byte, cb: ULONG, pcbRead: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn ILockBytes_WriteAt_Proxy( This: *mut ILockBytes, ulOffset: ULARGE_INTEGER, pv: *const ::std::os::raw::c_void, cb: ULONG, pcbWritten: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn ILockBytes_WriteAt_Stub( This: *mut ILockBytes, ulOffset: ULARGE_INTEGER, pv: *const byte, cb: ULONG, pcbWritten: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IEnumFORMATETC_Next_Proxy( This: *mut IEnumFORMATETC, celt: ULONG, rgelt: *mut FORMATETC, pceltFetched: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IEnumFORMATETC_Next_Stub( This: *mut IEnumFORMATETC, celt: ULONG, rgelt: *mut FORMATETC, pceltFetched: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IEnumSTATDATA_Next_Proxy( This: *mut IEnumSTATDATA, celt: ULONG, rgelt: *mut STATDATA, pceltFetched: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IEnumSTATDATA_Next_Stub( This: *mut IEnumSTATDATA, celt: ULONG, rgelt: *mut STATDATA, pceltFetched: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IAdviseSink_OnDataChange_Proxy( This: *mut IAdviseSink, pFormatetc: *mut FORMATETC, pStgmed: *mut STGMEDIUM, ); } extern "C" { pub fn IAdviseSink_OnDataChange_Stub( This: *mut IAdviseSink, pFormatetc: *mut FORMATETC, pStgmed: *mut ASYNC_STGMEDIUM, ) -> HRESULT; } extern "C" { pub fn IAdviseSink_OnViewChange_Proxy(This: *mut IAdviseSink, dwAspect: DWORD, lindex: LONG); } extern "C" { pub fn IAdviseSink_OnViewChange_Stub( This: *mut IAdviseSink, dwAspect: DWORD, lindex: LONG, ) -> HRESULT; } extern "C" { pub fn IAdviseSink_OnRename_Proxy(This: *mut IAdviseSink, pmk: *mut IMoniker); } extern "C" { pub fn IAdviseSink_OnRename_Stub(This: *mut IAdviseSink, pmk: *mut IMoniker) -> HRESULT; } extern "C" { pub fn IAdviseSink_OnSave_Proxy(This: *mut IAdviseSink); } extern "C" { pub fn IAdviseSink_OnSave_Stub(This: *mut IAdviseSink) -> HRESULT; } extern "C" { pub fn IAdviseSink_OnClose_Proxy(This: *mut IAdviseSink); } extern "C" { pub fn IAdviseSink_OnClose_Stub(This: *mut IAdviseSink) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Begin_OnDataChange_Proxy( This: *mut AsyncIAdviseSink, pFormatetc: *mut FORMATETC, pStgmed: *mut STGMEDIUM, ); } extern "C" { pub fn AsyncIAdviseSink_Begin_OnDataChange_Stub( This: *mut AsyncIAdviseSink, pFormatetc: *mut FORMATETC, pStgmed: *mut ASYNC_STGMEDIUM, ) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Finish_OnDataChange_Proxy(This: *mut AsyncIAdviseSink); } extern "C" { pub fn AsyncIAdviseSink_Finish_OnDataChange_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Begin_OnViewChange_Proxy( This: *mut AsyncIAdviseSink, dwAspect: DWORD, lindex: LONG, ); } extern "C" { pub fn AsyncIAdviseSink_Begin_OnViewChange_Stub( This: *mut AsyncIAdviseSink, dwAspect: DWORD, lindex: LONG, ) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Finish_OnViewChange_Proxy(This: *mut AsyncIAdviseSink); } extern "C" { pub fn AsyncIAdviseSink_Finish_OnViewChange_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Begin_OnRename_Proxy(This: *mut AsyncIAdviseSink, pmk: *mut IMoniker); } extern "C" { pub fn AsyncIAdviseSink_Begin_OnRename_Stub( This: *mut AsyncIAdviseSink, pmk: *mut IMoniker, ) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Finish_OnRename_Proxy(This: *mut AsyncIAdviseSink); } extern "C" { pub fn AsyncIAdviseSink_Finish_OnRename_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Begin_OnSave_Proxy(This: *mut AsyncIAdviseSink); } extern "C" { pub fn AsyncIAdviseSink_Begin_OnSave_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Finish_OnSave_Proxy(This: *mut AsyncIAdviseSink); } extern "C" { pub fn AsyncIAdviseSink_Finish_OnSave_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Begin_OnClose_Proxy(This: *mut AsyncIAdviseSink); } extern "C" { pub fn AsyncIAdviseSink_Begin_OnClose_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink_Finish_OnClose_Proxy(This: *mut AsyncIAdviseSink); } extern "C" { pub fn AsyncIAdviseSink_Finish_OnClose_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; } extern "C" { pub fn IAdviseSink2_OnLinkSrcChange_Proxy(This: *mut IAdviseSink2, pmk: *mut IMoniker); } extern "C" { pub fn IAdviseSink2_OnLinkSrcChange_Stub( This: *mut IAdviseSink2, pmk: *mut IMoniker, ) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink2_Begin_OnLinkSrcChange_Proxy( This: *mut AsyncIAdviseSink2, pmk: *mut IMoniker, ); } extern "C" { pub fn AsyncIAdviseSink2_Begin_OnLinkSrcChange_Stub( This: *mut AsyncIAdviseSink2, pmk: *mut IMoniker, ) -> HRESULT; } extern "C" { pub fn AsyncIAdviseSink2_Finish_OnLinkSrcChange_Proxy(This: *mut AsyncIAdviseSink2); } extern "C" { pub fn AsyncIAdviseSink2_Finish_OnLinkSrcChange_Stub(This: *mut AsyncIAdviseSink2) -> HRESULT; } extern "C" { pub fn IDataObject_GetData_Proxy( This: *mut IDataObject, pformatetcIn: *mut FORMATETC, pmedium: *mut STGMEDIUM, ) -> HRESULT; } extern "C" { pub fn IDataObject_GetData_Stub( This: *mut IDataObject, pformatetcIn: *mut FORMATETC, pRemoteMedium: *mut STGMEDIUM, ) -> HRESULT; } extern "C" { pub fn IDataObject_GetDataHere_Proxy( This: *mut IDataObject, pformatetc: *mut FORMATETC, pmedium: *mut STGMEDIUM, ) -> HRESULT; } extern "C" { pub fn IDataObject_GetDataHere_Stub( This: *mut IDataObject, pformatetc: *mut FORMATETC, pRemoteMedium: *mut STGMEDIUM, ) -> HRESULT; } extern "C" { pub fn IDataObject_SetData_Proxy( This: *mut IDataObject, pformatetc: *mut FORMATETC, pmedium: *mut STGMEDIUM, fRelease: BOOL, ) -> HRESULT; } extern "C" { pub fn IDataObject_SetData_Stub( This: *mut IDataObject, pformatetc: *mut FORMATETC, pmedium: *mut FLAG_STGMEDIUM, fRelease: BOOL, ) -> HRESULT; } extern "C" { pub fn IFillLockBytes_FillAppend_Proxy( This: *mut IFillLockBytes, pv: *const ::std::os::raw::c_void, cb: ULONG, pcbWritten: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IFillLockBytes_FillAppend_Stub( This: *mut IFillLockBytes, pv: *const byte, cb: ULONG, pcbWritten: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IFillLockBytes_FillAt_Proxy( This: *mut IFillLockBytes, ulOffset: ULARGE_INTEGER, pv: *const ::std::os::raw::c_void, cb: ULONG, pcbWritten: *mut ULONG, ) -> HRESULT; } extern "C" { pub fn IFillLockBytes_FillAt_Stub( This: *mut IFillLockBytes, ulOffset: ULARGE_INTEGER, pv: *const byte, cb: ULONG, pcbWritten: *mut ULONG, ) -> HRESULT; } extern "C" { pub static mut __MIDL_itf_oaidl_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; } extern "C" { pub static mut __MIDL_itf_oaidl_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; } pub type CURRENCY = CY; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct tagSAFEARRAYBOUND { pub cElements: ULONG, pub lLbound: LONG, } #[test] fn bindgen_test_layout_tagSAFEARRAYBOUND() { 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::null::())).cElements as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSAFEARRAYBOUND), "::", stringify!(cElements) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lLbound as *const _ 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() { 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::null::<_wireSAFEARR_BSTR>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARR_BSTR), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARR_BSTR>())).aBstr as *const _ 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() { 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::null::<_wireSAFEARR_UNKNOWN>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARR_UNKNOWN), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARR_UNKNOWN>())).apUnknown as *const _ 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() { 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::null::<_wireSAFEARR_DISPATCH>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARR_DISPATCH), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARR_DISPATCH>())).apDispatch as *const _ 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() { 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::null::<_wireSAFEARR_VARIANT>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARR_VARIANT), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARR_VARIANT>())).aVariant as *const _ 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() { 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::null::<_wireSAFEARR_BRECORD>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARR_BRECORD), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARR_BRECORD>())).aRecord as *const _ 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() { 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::null::<_wireSAFEARR_HAVEIID>())).Size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARR_HAVEIID), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARR_HAVEIID>())).apUnknown as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_wireSAFEARR_HAVEIID), "::", stringify!(apUnknown) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARR_HAVEIID>())).iid as *const _ 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, _bindgen_union_align: [u64; 4usize], } #[test] fn bindgen_test_layout__wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001() { 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::null::<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001>())).BstrStr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), "::", stringify!(BstrStr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001>())) .UnknownStr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), "::", stringify!(UnknownStr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001>())) .DispatchStr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), "::", stringify!(DispatchStr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001>())) .VariantStr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), "::", stringify!(VariantStr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001>())) .RecordStr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), "::", stringify!(RecordStr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001>())) .HaveIidStr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), "::", stringify!(HaveIidStr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001>())).ByteStr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), "::", stringify!(ByteStr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001>())).WordStr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), "::", stringify!(WordStr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001>())).LongStr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), "::", stringify!(LongStr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001>())) .HyperStr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), "::", stringify!(HyperStr) ) ); } #[test] fn bindgen_test_layout__wireSAFEARRAY_UNION() { 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::null::<_wireSAFEARRAY_UNION>())).sfType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY_UNION), "::", stringify!(sfType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARRAY_UNION>())).u as *const _ 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() { 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::null::<_wireSAFEARRAY>())).cDims as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY), "::", stringify!(cDims) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARRAY>())).fFeatures as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY), "::", stringify!(fFeatures) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARRAY>())).cbElements as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY), "::", stringify!(cbElements) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARRAY>())).cLocks as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY), "::", stringify!(cLocks) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARRAY>())).uArrayStructs as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_wireSAFEARRAY), "::", stringify!(uArrayStructs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireSAFEARRAY>())).rgsabound as *const _ 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() { 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::null::())).cDims as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSAFEARRAY), "::", stringify!(cDims) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fFeatures as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagSAFEARRAY), "::", stringify!(fFeatures) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbElements as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagSAFEARRAY), "::", stringify!(cbElements) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cLocks as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagSAFEARRAY), "::", stringify!(cLocks) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pvData as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagSAFEARRAY), "::", stringify!(pvData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgsabound as *const _ 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, _bindgen_union_align: [u64; 3usize], } #[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, _bindgen_union_align: [u64; 2usize], } #[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() { 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::null::< tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, >())) .pvRecord as *const _ 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::null::< tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, >())) .pRecInfo as *const _ 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() { 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::null::())).llVal as *const _ 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::null::())).lVal as *const _ 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::null::())).bVal as *const _ 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::null::())).iVal as *const _ 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::null::())).fltVal as *const _ 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::null::())).dblVal as *const _ 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::null::())).boolVal as *const _ 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::null::())) .__OBSOLETE__VARIANT_BOOL as *const _ 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::null::())).scode as *const _ 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::null::())).cyVal as *const _ 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::null::())).date as *const _ 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::null::())).bstrVal as *const _ 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::null::())).punkVal as *const _ 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::null::())) .pdispVal as *const _ 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::null::())).parray as *const _ 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::null::())).pbVal as *const _ 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::null::())).piVal as *const _ 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::null::())).plVal as *const _ 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::null::())).pllVal as *const _ 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::null::())).pfltVal as *const _ 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::null::())).pdblVal as *const _ 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::null::())) .pboolVal as *const _ 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::null::())) .__OBSOLETE__VARIANT_PBOOL as *const _ 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::null::())).pscode as *const _ 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::null::())).pcyVal as *const _ 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::null::())).pdate as *const _ 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::null::())) .pbstrVal as *const _ 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::null::())) .ppunkVal as *const _ 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::null::())) .ppdispVal as *const _ 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::null::())).pparray as *const _ 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::null::())).pvarVal as *const _ 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::null::())).byref as *const _ 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::null::())).cVal as *const _ 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::null::())).uiVal as *const _ 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::null::())).ulVal as *const _ 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::null::())).ullVal as *const _ 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::null::())).intVal as *const _ 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::null::())).uintVal as *const _ 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::null::())).pdecVal as *const _ 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::null::())).pcVal as *const _ 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::null::())).puiVal as *const _ 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::null::())).pulVal as *const _ 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::null::())).pullVal as *const _ 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::null::())).pintVal as *const _ 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::null::())) .puintVal as *const _ 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() { 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::null::())).vt as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(vt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved1 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(wReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved2 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(wReserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved3 as *const _ 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() { 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::null::())).decVal as *const _ 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() { 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::null::<_wireBRECORD>())).fFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireBRECORD), "::", stringify!(fFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireBRECORD>())).clSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_wireBRECORD), "::", stringify!(clSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireBRECORD>())).pRecInfo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_wireBRECORD), "::", stringify!(pRecInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireBRECORD>())).pRecord as *const _ 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, _bindgen_union_align: [u64; 2usize], } #[test] fn bindgen_test_layout__wireVARIANT__bindgen_ty_1() { 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::null::<_wireVARIANT__bindgen_ty_1>())).llVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(llVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).lVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(lVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).bVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(bVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).iVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(iVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).fltVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(fltVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).dblVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(dblVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).boolVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(boolVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).scode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(scode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).cyVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(cyVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).date as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(date) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).bstrVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(bstrVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).punkVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(punkVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pdispVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pdispVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).parray as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(parray) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).brecVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(brecVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pbVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pbVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).piVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(piVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).plVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(plVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pllVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pllVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pfltVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pfltVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pdblVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pdblVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pboolVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pboolVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pscode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pscode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pcyVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pcyVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pdate as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pdate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pbstrVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pbstrVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).ppunkVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(ppunkVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).ppdispVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(ppdispVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pparray as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pparray) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pvarVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pvarVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).cVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(cVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).uiVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(uiVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).ulVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(ulVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).ullVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(ullVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).intVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(intVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).uintVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(uintVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).decVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(decVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pdecVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pdecVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pcVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pcVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).puiVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(puiVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pulVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pulVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pullVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pullVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).pintVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(pintVal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT__bindgen_ty_1>())).puintVal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT__bindgen_ty_1), "::", stringify!(puintVal) ) ); } #[test] fn bindgen_test_layout__wireVARIANT() { 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::null::<_wireVARIANT>())).clSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_wireVARIANT), "::", stringify!(clSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT>())).rpcReserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_wireVARIANT), "::", stringify!(rpcReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT>())).vt as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_wireVARIANT), "::", stringify!(vt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT>())).wReserved1 as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(_wireVARIANT), "::", stringify!(wReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT>())).wReserved2 as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_wireVARIANT), "::", stringify!(wReserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_wireVARIANT>())).wReserved3 as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_tagTYPEDESC__bindgen_ty_1() { 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::null::())).lptdesc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTYPEDESC__bindgen_ty_1), "::", stringify!(lptdesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpadesc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTYPEDESC__bindgen_ty_1), "::", stringify!(lpadesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hreftype as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTYPEDESC__bindgen_ty_1), "::", stringify!(hreftype) ) ); } #[test] fn bindgen_test_layout_tagTYPEDESC() { 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::null::())).vt as *const _ 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() { 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::null::())).tdescElem as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagARRAYDESC), "::", stringify!(tdescElem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cDims as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagARRAYDESC), "::", stringify!(cDims) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgbounds as *const _ 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() { 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::null::())).cBytes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPARAMDESCEX), "::", stringify!(cBytes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).varDefaultValue as *const _ 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() { 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::null::())).pparamdescex as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPARAMDESC), "::", stringify!(pparamdescex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wParamFlags as *const _ 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() { 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::null::())).dwReserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagIDLDESC), "::", stringify!(dwReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wIDLFlags as *const _ 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, _bindgen_union_align: [u64; 2usize], } #[test] fn bindgen_test_layout_tagELEMDESC__bindgen_ty_1() { 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::null::())).idldesc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagELEMDESC__bindgen_ty_1), "::", stringify!(idldesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).paramdesc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagELEMDESC__bindgen_ty_1), "::", stringify!(paramdesc) ) ); } #[test] fn bindgen_test_layout_tagELEMDESC() { 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::null::())).tdesc as *const _ 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() { 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::null::())).guid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(guid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(lcid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReserved as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(dwReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memidConstructor as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(memidConstructor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memidDestructor as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(memidDestructor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrSchema as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(lpstrSchema) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbSizeInstance as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(cbSizeInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).typekind as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(typekind) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cFuncs as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(cFuncs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cVars as *const _ as usize }, 50usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(cVars) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cImplTypes as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(cImplTypes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbSizeVft as *const _ as usize }, 54usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(cbSizeVft) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbAlignment as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(cbAlignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wTypeFlags as *const _ as usize }, 58usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(wTypeFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMajorVerNum as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(wMajorVerNum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMinorVerNum as *const _ as usize }, 62usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(wMinorVerNum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tdescAlias as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagTYPEATTR), "::", stringify!(tdescAlias) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).idldescType as *const _ 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() { 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::null::())).rgvarg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDISPPARAMS), "::", stringify!(rgvarg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgdispidNamedArgs as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagDISPPARAMS), "::", stringify!(rgdispidNamedArgs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cArgs as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagDISPPARAMS), "::", stringify!(cArgs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cNamedArgs as *const _ 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() { 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::null::())).wCode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagEXCEPINFO), "::", stringify!(wCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagEXCEPINFO), "::", stringify!(wReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bstrSource as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagEXCEPINFO), "::", stringify!(bstrSource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bstrDescription as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagEXCEPINFO), "::", stringify!(bstrDescription) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bstrHelpFile as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagEXCEPINFO), "::", stringify!(bstrHelpFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwHelpContext as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagEXCEPINFO), "::", stringify!(dwHelpContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pvReserved as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagEXCEPINFO), "::", stringify!(pvReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pfnDeferredFillIn as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagEXCEPINFO), "::", stringify!(pfnDeferredFillIn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).scode as *const _ 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() { 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::null::())).memid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagFUNCDESC), "::", stringify!(memid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lprgscode as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagFUNCDESC), "::", stringify!(lprgscode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lprgelemdescParam as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagFUNCDESC), "::", stringify!(lprgelemdescParam) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).funckind as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagFUNCDESC), "::", stringify!(funckind) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).invkind as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagFUNCDESC), "::", stringify!(invkind) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).callconv as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagFUNCDESC), "::", stringify!(callconv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cParams as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagFUNCDESC), "::", stringify!(cParams) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cParamsOpt as *const _ as usize }, 38usize, concat!( "Offset of field: ", stringify!(tagFUNCDESC), "::", stringify!(cParamsOpt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).oVft as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagFUNCDESC), "::", stringify!(oVft) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cScodes as *const _ as usize }, 42usize, concat!( "Offset of field: ", stringify!(tagFUNCDESC), "::", stringify!(cScodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elemdescFunc as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagFUNCDESC), "::", stringify!(elemdescFunc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wFuncFlags as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_tagVARDESC__bindgen_ty_1() { 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::null::())).oInst as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagVARDESC__bindgen_ty_1), "::", stringify!(oInst) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpvarValue as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagVARDESC__bindgen_ty_1), "::", stringify!(lpvarValue) ) ); } #[test] fn bindgen_test_layout_tagVARDESC() { 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::null::())).memid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagVARDESC), "::", stringify!(memid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrSchema as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagVARDESC), "::", stringify!(lpstrSchema) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elemdescVar as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagVARDESC), "::", stringify!(elemdescVar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wVarFlags as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagVARDESC), "::", stringify!(wVarFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).varkind as *const _ 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() { 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::null::())).pInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCLEANLOCALSTORAGE), "::", stringify!(pInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pStorage as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCLEANLOCALSTORAGE), "::", stringify!(pStorage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ 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() { 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::null::())).guid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCUSTDATAITEM), "::", stringify!(guid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).varValue as *const _ 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() { 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::null::())).cCustData as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCUSTDATA), "::", stringify!(cCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).prgCustData as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetGuid as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetTypeFlags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetTypeFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetDocString as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetDocString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetHelpContext as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetHelpContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetVersion as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRefTypeInfo as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(AddRefTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddFuncDesc as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(AddFuncDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddImplType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(AddImplType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetImplTypeFlags as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetImplTypeFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetAlignment as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetAlignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetSchema as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetSchema) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddVarDesc as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(AddVarDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetFuncAndParamNames as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetFuncAndParamNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetVarName as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetVarName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetTypeDescAlias as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetTypeDescAlias) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DefineFuncAsDllEntry as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(DefineFuncAsDllEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetFuncDocString as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetFuncDocString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetVarDocString as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetVarDocString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetFuncHelpContext as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetFuncHelpContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetVarHelpContext as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetVarHelpContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetMops as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetMops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetTypeIdldesc as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfoVtbl), "::", stringify!(SetTypeIdldesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LayOut as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetGuid as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetTypeFlags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetTypeFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetDocString as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetDocString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetHelpContext as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetHelpContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetVersion as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRefTypeInfo as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(AddRefTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddFuncDesc as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(AddFuncDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddImplType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(AddImplType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetImplTypeFlags as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetImplTypeFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetAlignment as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetAlignment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetSchema as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetSchema) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddVarDesc as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(AddVarDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetFuncAndParamNames as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetFuncAndParamNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetVarName as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetVarName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetTypeDescAlias as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetTypeDescAlias) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DefineFuncAsDllEntry as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(DefineFuncAsDllEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetFuncDocString as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetFuncDocString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetVarDocString as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetVarDocString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetFuncHelpContext as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetFuncHelpContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetVarHelpContext as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetVarHelpContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetMops as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetMops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetTypeIdldesc as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetTypeIdldesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LayOut as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(LayOut) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DeleteFuncDesc as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(DeleteFuncDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DeleteFuncDescByMemId as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(DeleteFuncDescByMemId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DeleteVarDesc as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(DeleteVarDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DeleteVarDescByMemId as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(DeleteVarDescByMemId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DeleteImplType as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(DeleteImplType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetCustData as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetFuncCustData as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetFuncCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetParamCustData as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetParamCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetVarCustData as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetVarCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetImplTypeCustData as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetImplTypeCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetHelpStringContext as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetHelpStringContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetFuncHelpStringContext as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetFuncHelpStringContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetVarHelpStringContext as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(SetVarHelpStringContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invalidate as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(ICreateTypeInfo2Vtbl), "::", stringify!(Invalidate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetName as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ICreateTypeLibVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ICreateTypeLibVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ICreateTypeLibVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateTypeInfo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ICreateTypeLibVtbl), "::", stringify!(CreateTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetName as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ICreateTypeLibVtbl), "::", stringify!(SetName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetVersion as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ICreateTypeLibVtbl), "::", stringify!(SetVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetGuid as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(ICreateTypeLibVtbl), "::", stringify!(SetGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetDocString as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(ICreateTypeLibVtbl), "::", stringify!(SetDocString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetHelpFileName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(ICreateTypeLibVtbl), "::", stringify!(SetHelpFileName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetHelpContext as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(ICreateTypeLibVtbl), "::", stringify!(SetHelpContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetLcid as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(ICreateTypeLibVtbl), "::", stringify!(SetLcid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetLibFlags as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(ICreateTypeLibVtbl), "::", stringify!(SetLibFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SaveAllChanges as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateTypeInfo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(CreateTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetName as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(SetName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetVersion as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(SetVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetGuid as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(SetGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetDocString as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(SetDocString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetHelpFileName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(SetHelpFileName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetHelpContext as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(SetHelpContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetLcid as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(SetLcid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetLibFlags as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(SetLibFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SaveAllChanges as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(SaveAllChanges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DeleteTypeInfo as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(DeleteTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetCustData as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(SetCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetHelpStringContext as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(ICreateTypeLib2Vtbl), "::", stringify!(SetHelpStringContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetHelpStringDll as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IDispatchVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IDispatchVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IDispatchVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IDispatchVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IDispatchVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IDispatchVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IEnumVARIANTVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IEnumVARIANTVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IEnumVARIANTVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Next as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IEnumVARIANTVtbl), "::", stringify!(Next) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Skip as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IEnumVARIANTVtbl), "::", stringify!(Skip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reset as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IEnumVARIANTVtbl), "::", stringify!(Reset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Clone as *const _ 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() { 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::null::())).lpVtbl as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_tagBINDPTR() { 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::null::())).lpfuncdesc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagBINDPTR), "::", stringify!(lpfuncdesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpvardesc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagBINDPTR), "::", stringify!(lpvardesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lptcomp as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ITypeCompVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ITypeCompVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ITypeCompVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Bind as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ITypeCompVtbl), "::", stringify!(Bind) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BindType as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeAttr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(GetTypeAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeComp as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(GetTypeComp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetFuncDesc as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(GetFuncDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetVarDesc as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(GetVarDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetNames as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(GetNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetRefTypeOfImplType as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(GetRefTypeOfImplType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetImplTypeFlags as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(GetImplTypeFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDocumentation as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(GetDocumentation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDllEntry as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(GetDllEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetRefTypeInfo as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(GetRefTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddressOfMember as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(AddressOfMember) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateInstance as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(CreateInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetMops as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(GetMops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetContainingTypeLib as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(GetContainingTypeLib) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseTypeAttr as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(ReleaseTypeAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseFuncDesc as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(ITypeInfoVtbl), "::", stringify!(ReleaseFuncDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseVarDesc as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeAttr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetTypeAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeComp as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetTypeComp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetFuncDesc as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetFuncDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetVarDesc as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetVarDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetNames as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetRefTypeOfImplType as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetRefTypeOfImplType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetImplTypeFlags as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetImplTypeFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDocumentation as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetDocumentation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDllEntry as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetDllEntry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetRefTypeInfo as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetRefTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddressOfMember as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(AddressOfMember) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateInstance as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(CreateInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetMops as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetMops) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetContainingTypeLib as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetContainingTypeLib) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseTypeAttr as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(ReleaseTypeAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseFuncDesc as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(ReleaseFuncDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseVarDesc as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(ReleaseVarDesc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeKind as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetTypeKind) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeFlags as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetTypeFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetFuncIndexOfMemId as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetFuncIndexOfMemId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetVarIndexOfMemId as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetVarIndexOfMemId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetCustData as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetFuncCustData as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetFuncCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetParamCustData as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetParamCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetVarCustData as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetVarCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetImplTypeCustData as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetImplTypeCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDocumentation2 as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetDocumentation2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetAllCustData as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetAllCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetAllFuncCustData as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetAllFuncCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetAllParamCustData as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetAllParamCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetAllVarCustData as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(ITypeInfo2Vtbl), "::", stringify!(GetAllVarCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetAllImplTypeCustData as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).guid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagTLIBATTR), "::", stringify!(guid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lcid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagTLIBATTR), "::", stringify!(lcid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).syskind as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagTLIBATTR), "::", stringify!(syskind) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMajorVerNum as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagTLIBATTR), "::", stringify!(wMajorVerNum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wMinorVerNum as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(tagTLIBATTR), "::", stringify!(wMinorVerNum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wLibFlags as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ITypeLibVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ITypeLibVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ITypeLibVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ITypeLibVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ITypeLibVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoType as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ITypeLibVtbl), "::", stringify!(GetTypeInfoType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoOfGuid as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(ITypeLibVtbl), "::", stringify!(GetTypeInfoOfGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetLibAttr as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(ITypeLibVtbl), "::", stringify!(GetLibAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeComp as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(ITypeLibVtbl), "::", stringify!(GetTypeComp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDocumentation as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(ITypeLibVtbl), "::", stringify!(GetDocumentation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsName as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(ITypeLibVtbl), "::", stringify!(IsName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FindName as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(ITypeLibVtbl), "::", stringify!(FindName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseTLibAttr as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoType as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(GetTypeInfoType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoOfGuid as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(GetTypeInfoOfGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetLibAttr as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(GetLibAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeComp as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(GetTypeComp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDocumentation as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(GetDocumentation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsName as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(IsName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FindName as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(FindName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReleaseTLibAttr as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(ReleaseTLibAttr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetCustData as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(GetCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetLibStatistics as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(GetLibStatistics) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDocumentation2 as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(ITypeLib2Vtbl), "::", stringify!(GetDocumentation2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetAllCustData as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ITypeChangeEventsVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ITypeChangeEventsVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ITypeChangeEventsVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RequestTypeChange as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ITypeChangeEventsVtbl), "::", stringify!(RequestTypeChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AfterTypeChange as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IErrorInfoVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IErrorInfoVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IErrorInfoVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetGUID as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IErrorInfoVtbl), "::", stringify!(GetGUID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSource as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IErrorInfoVtbl), "::", stringify!(GetSource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDescription as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IErrorInfoVtbl), "::", stringify!(GetDescription) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetHelpFile as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IErrorInfoVtbl), "::", stringify!(GetHelpFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetHelpContext as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ICreateErrorInfoVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ICreateErrorInfoVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ICreateErrorInfoVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetGUID as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ICreateErrorInfoVtbl), "::", stringify!(SetGUID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetSource as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ICreateErrorInfoVtbl), "::", stringify!(SetSource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetDescription as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ICreateErrorInfoVtbl), "::", stringify!(SetDescription) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetHelpFile as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(ICreateErrorInfoVtbl), "::", stringify!(SetHelpFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetHelpContext as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ISupportErrorInfoVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ISupportErrorInfoVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ISupportErrorInfoVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).InterfaceSupportsErrorInfo as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ITypeFactoryVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ITypeFactoryVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ITypeFactoryVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateFromTypeInfo as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ITypeMarshalVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ITypeMarshalVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ITypeMarshalVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Size as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ITypeMarshalVtbl), "::", stringify!(Size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Marshal as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ITypeMarshalVtbl), "::", stringify!(Marshal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Unmarshal as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ITypeMarshalVtbl), "::", stringify!(Unmarshal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Free as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RecordInit as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(RecordInit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RecordClear as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(RecordClear) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RecordCopy as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(RecordCopy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetGuid as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(GetGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(GetName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSize as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(GetSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetField as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(GetField) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetFieldNoCopy as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(GetFieldNoCopy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PutField as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(PutField) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PutFieldNoCopy as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(PutFieldNoCopy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetFieldNames as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(GetFieldNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsMatchingType as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(IsMatchingType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RecordCreate as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(RecordCreate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RecordCreateCopy as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IRecordInfoVtbl), "::", stringify!(RecordCreateCopy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RecordDestroy as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IErrorLogVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IErrorLogVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IErrorLogVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddError as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IPropertyBagVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IPropertyBagVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IPropertyBagVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Read as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IPropertyBagVtbl), "::", stringify!(Read) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Write as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ITypeLibRegistrationReaderVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ITypeLibRegistrationReaderVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ITypeLibRegistrationReaderVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnumTypeLibRegistrations as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ITypeLibRegistrationVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ITypeLibRegistrationVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ITypeLibRegistrationVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetGuid as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ITypeLibRegistrationVtbl), "::", stringify!(GetGuid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetVersion as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ITypeLibRegistrationVtbl), "::", stringify!(GetVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetLcid as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ITypeLibRegistrationVtbl), "::", stringify!(GetLcid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetWin32Path as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(ITypeLibRegistrationVtbl), "::", stringify!(GetWin32Path) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetWin64Path as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(ITypeLibRegistrationVtbl), "::", stringify!(GetWin64Path) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDisplayName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(ITypeLibRegistrationVtbl), "::", stringify!(GetDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetFlags as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(ITypeLibRegistrationVtbl), "::", stringify!(GetFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetHelpDir as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).guidVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagVersionedStream), "::", stringify!(guidVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pStream as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCAC), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCAUB), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCAI), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCAUI), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCAL), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCAUL), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCAFLT), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCADBL), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCACY), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCADATE), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCABSTR), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCABSTRBLOB), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCABOOL), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCASCODE), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCAPROPVARIANT), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCAH), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCAUH), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCALPSTR), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCALPWSTR), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCAFILETIME), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCACLIPDATA), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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() { 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::null::())).cElems as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCACLSID), "::", stringify!(cElems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pElems as *const _ 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, _bindgen_union_align: [u64; 3usize], } #[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, _bindgen_union_align: [u64; 2usize], } #[test] fn bindgen_test_layout_tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { 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::null::())) .cVal as *const _ 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::null::())) .bVal as *const _ 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::null::())) .iVal as *const _ 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::null::())) .uiVal as *const _ 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::null::())) .lVal as *const _ 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::null::())) .ulVal as *const _ 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::null::())) .intVal as *const _ 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::null::())) .uintVal as *const _ 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::null::())) .hVal as *const _ 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::null::())) .uhVal as *const _ 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::null::())) .fltVal as *const _ 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::null::())) .dblVal as *const _ 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::null::())) .boolVal as *const _ 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::null::())) .__OBSOLETE__VARIANT_BOOL as *const _ 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::null::())) .scode as *const _ 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::null::())) .cyVal as *const _ 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::null::())) .date as *const _ 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::null::())) .filetime as *const _ 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::null::())) .puuid as *const _ 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::null::())) .pclipdata as *const _ 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::null::())) .bstrVal as *const _ 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::null::())) .bstrblobVal as *const _ 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::null::())) .blob as *const _ 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::null::())) .pszVal as *const _ 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::null::())) .pwszVal as *const _ 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::null::())) .punkVal as *const _ 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::null::())) .pdispVal as *const _ 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::null::())) .pStream as *const _ 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::null::())) .pStorage as *const _ 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::null::())) .pVersionedStream as *const _ 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::null::())) .parray as *const _ 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::null::())).cac as *const _ 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::null::())) .caub as *const _ 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::null::())).cai as *const _ 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::null::())) .caui as *const _ 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::null::())).cal as *const _ 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::null::())) .caul as *const _ 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::null::())).cah as *const _ 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::null::())) .cauh as *const _ 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::null::())) .caflt as *const _ 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::null::())) .cadbl as *const _ 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::null::())) .cabool as *const _ 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::null::())) .cascode as *const _ 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::null::())) .cacy as *const _ 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::null::())) .cadate as *const _ 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::null::())) .cafiletime as *const _ 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::null::())) .cauuid as *const _ 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::null::())) .caclipdata as *const _ 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::null::())) .cabstr as *const _ 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::null::())) .cabstrblob as *const _ 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::null::())) .calpstr as *const _ 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::null::())) .calpwstr as *const _ 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::null::())) .capropvar as *const _ 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::null::())) .pcVal as *const _ 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::null::())) .pbVal as *const _ 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::null::())) .piVal as *const _ 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::null::())) .puiVal as *const _ 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::null::())) .plVal as *const _ 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::null::())) .pulVal as *const _ 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::null::())) .pintVal as *const _ 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::null::())) .puintVal as *const _ 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::null::())) .pfltVal as *const _ 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::null::())) .pdblVal as *const _ 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::null::())) .pboolVal as *const _ 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::null::())) .pdecVal as *const _ 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::null::())) .pscode as *const _ 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::null::())) .pcyVal as *const _ 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::null::())) .pdate as *const _ 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::null::())) .pbstrVal as *const _ 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::null::())) .ppunkVal as *const _ 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::null::())) .ppdispVal as *const _ 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::null::())) .pparray as *const _ 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::null::())) .pvarVal as *const _ 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() { 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::null::())).vt as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(vt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved1 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(wReserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved2 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1), "::", stringify!(wReserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReserved3 as *const _ 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() { 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::null::())).decVal as *const _ 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, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_tagPROPSPEC__bindgen_ty_1() { 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::null::())).propid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPROPSPEC__bindgen_ty_1), "::", stringify!(propid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpwstr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPROPSPEC__bindgen_ty_1), "::", stringify!(lpwstr) ) ); } #[test] fn bindgen_test_layout_tagPROPSPEC() { 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::null::())).ulKind as *const _ 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() { 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::null::())).lpwstrName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTATPROPSTG), "::", stringify!(lpwstrName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).propid as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagSTATPROPSTG), "::", stringify!(propid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vt as *const _ 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() { 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::null::())).fmtid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTATPROPSETSTG), "::", stringify!(fmtid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).clsid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagSTATPROPSETSTG), "::", stringify!(clsid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).grfFlags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagSTATPROPSETSTG), "::", stringify!(grfFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mtime as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagSTATPROPSETSTG), "::", stringify!(mtime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ctime as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagSTATPROPSETSTG), "::", stringify!(ctime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).atime as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagSTATPROPSETSTG), "::", stringify!(atime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwOSVersion as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IPropertyStorageVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IPropertyStorageVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IPropertyStorageVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReadMultiple as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IPropertyStorageVtbl), "::", stringify!(ReadMultiple) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).WriteMultiple as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IPropertyStorageVtbl), "::", stringify!(WriteMultiple) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DeleteMultiple as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IPropertyStorageVtbl), "::", stringify!(DeleteMultiple) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReadPropertyNames as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IPropertyStorageVtbl), "::", stringify!(ReadPropertyNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).WritePropertyNames as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IPropertyStorageVtbl), "::", stringify!(WritePropertyNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DeletePropertyNames as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IPropertyStorageVtbl), "::", stringify!(DeletePropertyNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Commit as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IPropertyStorageVtbl), "::", stringify!(Commit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Revert as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IPropertyStorageVtbl), "::", stringify!(Revert) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Enum as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IPropertyStorageVtbl), "::", stringify!(Enum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetTimes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IPropertyStorageVtbl), "::", stringify!(SetTimes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetClass as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IPropertyStorageVtbl), "::", stringify!(SetClass) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Stat as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IPropertySetStorageVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IPropertySetStorageVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IPropertySetStorageVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Create as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IPropertySetStorageVtbl), "::", stringify!(Create) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Open as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IPropertySetStorageVtbl), "::", stringify!(Open) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Delete as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IPropertySetStorageVtbl), "::", stringify!(Delete) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Enum as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IEnumSTATPROPSTGVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IEnumSTATPROPSTGVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IEnumSTATPROPSTGVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Next as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IEnumSTATPROPSTGVtbl), "::", stringify!(Next) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Skip as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IEnumSTATPROPSTGVtbl), "::", stringify!(Skip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reset as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IEnumSTATPROPSTGVtbl), "::", stringify!(Reset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Clone as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IEnumSTATPROPSETSTGVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IEnumSTATPROPSETSTGVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IEnumSTATPROPSETSTGVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Next as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IEnumSTATPROPSETSTGVtbl), "::", stringify!(Next) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Skip as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IEnumSTATPROPSETSTGVtbl), "::", stringify!(Skip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reset as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IEnumSTATPROPSETSTGVtbl), "::", stringify!(Reset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Clone as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).usVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTGOPTIONS), "::", stringify!(usVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagSTGOPTIONS), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ulSectorSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagSTGOPTIONS), "::", stringify!(ulSectorSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pwcsTemplateFile as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOleAdviseHolderVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOleAdviseHolderVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOleAdviseHolderVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Advise as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOleAdviseHolderVtbl), "::", stringify!(Advise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Unadvise as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IOleAdviseHolderVtbl), "::", stringify!(Unadvise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnumAdvise as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IOleAdviseHolderVtbl), "::", stringify!(EnumAdvise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SendOnRename as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IOleAdviseHolderVtbl), "::", stringify!(SendOnRename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SendOnSave as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IOleAdviseHolderVtbl), "::", stringify!(SendOnSave) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SendOnClose as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOleCacheVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOleCacheVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOleCacheVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Cache as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOleCacheVtbl), "::", stringify!(Cache) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Uncache as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IOleCacheVtbl), "::", stringify!(Uncache) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnumCache as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IOleCacheVtbl), "::", stringify!(EnumCache) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).InitCache as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IOleCacheVtbl), "::", stringify!(InitCache) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetData as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOleCache2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOleCache2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOleCache2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Cache as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOleCache2Vtbl), "::", stringify!(Cache) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Uncache as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IOleCache2Vtbl), "::", stringify!(Uncache) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnumCache as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IOleCache2Vtbl), "::", stringify!(EnumCache) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).InitCache as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IOleCache2Vtbl), "::", stringify!(InitCache) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetData as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IOleCache2Vtbl), "::", stringify!(SetData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UpdateCache as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IOleCache2Vtbl), "::", stringify!(UpdateCache) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DiscardCache as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOleCacheControlVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOleCacheControlVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOleCacheControlVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnRun as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOleCacheControlVtbl), "::", stringify!(OnRun) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnStop as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IParseDisplayNameVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IParseDisplayNameVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IParseDisplayNameVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ParseDisplayName as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOleContainerVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOleContainerVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOleContainerVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ParseDisplayName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOleContainerVtbl), "::", stringify!(ParseDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnumObjects as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IOleContainerVtbl), "::", stringify!(EnumObjects) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LockContainer as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOleClientSiteVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOleClientSiteVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOleClientSiteVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SaveObject as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOleClientSiteVtbl), "::", stringify!(SaveObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetMoniker as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IOleClientSiteVtbl), "::", stringify!(GetMoniker) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetContainer as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IOleClientSiteVtbl), "::", stringify!(GetContainer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ShowObject as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IOleClientSiteVtbl), "::", stringify!(ShowObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnShowWindow as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IOleClientSiteVtbl), "::", stringify!(OnShowWindow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RequestNewObjectLayout as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetClientSite as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(SetClientSite) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetClientSite as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(GetClientSite) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetHostNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(SetHostNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Close as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(Close) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetMoniker as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(SetMoniker) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetMoniker as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(GetMoniker) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).InitFromData as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(InitFromData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetClipboardData as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(GetClipboardData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DoVerb as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(DoVerb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnumVerbs as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(EnumVerbs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Update as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(Update) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsUpToDate as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(IsUpToDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetUserClassID as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(GetUserClassID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetUserType as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(GetUserType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetExtent as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(SetExtent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetExtent as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(GetExtent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Advise as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(Advise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Unadvise as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(Unadvise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnumAdvise as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(EnumAdvise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetMiscStatus as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IOleObjectVtbl), "::", stringify!(GetMiscStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetColorScheme as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagOBJECTDESCRIPTOR), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).clsid as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagOBJECTDESCRIPTOR), "::", stringify!(clsid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwDrawAspect as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagOBJECTDESCRIPTOR), "::", stringify!(dwDrawAspect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sizel as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagOBJECTDESCRIPTOR), "::", stringify!(sizel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pointl as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagOBJECTDESCRIPTOR), "::", stringify!(pointl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStatus as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagOBJECTDESCRIPTOR), "::", stringify!(dwStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFullUserTypeName as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagOBJECTDESCRIPTOR), "::", stringify!(dwFullUserTypeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSrcOfCopy as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOleWindowVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOleWindowVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOleWindowVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetWindow as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOleWindowVtbl), "::", stringify!(GetWindow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ContextSensitiveHelp as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOleLinkVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOleLinkVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOleLinkVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetUpdateOptions as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOleLinkVtbl), "::", stringify!(SetUpdateOptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetUpdateOptions as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IOleLinkVtbl), "::", stringify!(GetUpdateOptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetSourceMoniker as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IOleLinkVtbl), "::", stringify!(SetSourceMoniker) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSourceMoniker as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IOleLinkVtbl), "::", stringify!(GetSourceMoniker) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetSourceDisplayName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IOleLinkVtbl), "::", stringify!(SetSourceDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSourceDisplayName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IOleLinkVtbl), "::", stringify!(GetSourceDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BindToSource as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IOleLinkVtbl), "::", stringify!(BindToSource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BindIfRunning as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IOleLinkVtbl), "::", stringify!(BindIfRunning) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBoundSource as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IOleLinkVtbl), "::", stringify!(GetBoundSource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UnbindSource as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IOleLinkVtbl), "::", stringify!(UnbindSource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Update as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOleItemContainerVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOleItemContainerVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOleItemContainerVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ParseDisplayName as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOleItemContainerVtbl), "::", stringify!(ParseDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnumObjects as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IOleItemContainerVtbl), "::", stringify!(EnumObjects) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LockContainer as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IOleItemContainerVtbl), "::", stringify!(LockContainer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetObjectA as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IOleItemContainerVtbl), "::", stringify!(GetObjectA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetObjectStorage as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IOleItemContainerVtbl), "::", stringify!(GetObjectStorage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsRunning as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOleInPlaceUIWindowVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOleInPlaceUIWindowVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOleInPlaceUIWindowVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetWindow as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOleInPlaceUIWindowVtbl), "::", stringify!(GetWindow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ContextSensitiveHelp as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IOleInPlaceUIWindowVtbl), "::", stringify!(ContextSensitiveHelp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBorder as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IOleInPlaceUIWindowVtbl), "::", stringify!(GetBorder) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RequestBorderSpace as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IOleInPlaceUIWindowVtbl), "::", stringify!(RequestBorderSpace) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetBorderSpace as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IOleInPlaceUIWindowVtbl), "::", stringify!(SetBorderSpace) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetActiveObject as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOleInPlaceActiveObjectVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOleInPlaceActiveObjectVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOleInPlaceActiveObjectVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetWindow as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOleInPlaceActiveObjectVtbl), "::", stringify!(GetWindow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ContextSensitiveHelp as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IOleInPlaceActiveObjectVtbl), "::", stringify!(ContextSensitiveHelp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TranslateAcceleratorA as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IOleInPlaceActiveObjectVtbl), "::", stringify!(TranslateAcceleratorA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnFrameWindowActivate as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IOleInPlaceActiveObjectVtbl), "::", stringify!(OnFrameWindowActivate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnDocWindowActivate as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IOleInPlaceActiveObjectVtbl), "::", stringify!(OnDocWindowActivate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ResizeBorder as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IOleInPlaceActiveObjectVtbl), "::", stringify!(ResizeBorder) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnableModeless as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).cb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagOIFI), "::", stringify!(cb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fMDIApp as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagOIFI), "::", stringify!(fMDIApp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndFrame as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagOIFI), "::", stringify!(hwndFrame) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).haccel as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagOIFI), "::", stringify!(haccel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cAccelEntries as *const _ 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() { 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::null::())).width as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOleInPlaceFrameVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOleInPlaceFrameVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOleInPlaceFrameVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetWindow as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOleInPlaceFrameVtbl), "::", stringify!(GetWindow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ContextSensitiveHelp as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IOleInPlaceFrameVtbl), "::", stringify!(ContextSensitiveHelp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBorder as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IOleInPlaceFrameVtbl), "::", stringify!(GetBorder) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RequestBorderSpace as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IOleInPlaceFrameVtbl), "::", stringify!(RequestBorderSpace) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetBorderSpace as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IOleInPlaceFrameVtbl), "::", stringify!(SetBorderSpace) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetActiveObject as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IOleInPlaceFrameVtbl), "::", stringify!(SetActiveObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).InsertMenus as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IOleInPlaceFrameVtbl), "::", stringify!(InsertMenus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetMenu as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IOleInPlaceFrameVtbl), "::", stringify!(SetMenu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RemoveMenus as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IOleInPlaceFrameVtbl), "::", stringify!(RemoveMenus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetStatusText as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IOleInPlaceFrameVtbl), "::", stringify!(SetStatusText) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnableModeless as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IOleInPlaceFrameVtbl), "::", stringify!(EnableModeless) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).TranslateAcceleratorA as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOleInPlaceObjectVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOleInPlaceObjectVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOleInPlaceObjectVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetWindow as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOleInPlaceObjectVtbl), "::", stringify!(GetWindow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ContextSensitiveHelp as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IOleInPlaceObjectVtbl), "::", stringify!(ContextSensitiveHelp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).InPlaceDeactivate as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IOleInPlaceObjectVtbl), "::", stringify!(InPlaceDeactivate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UIDeactivate as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IOleInPlaceObjectVtbl), "::", stringify!(UIDeactivate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetObjectRects as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IOleInPlaceObjectVtbl), "::", stringify!(SetObjectRects) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReactivateAndUndo as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IOleInPlaceSiteVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IOleInPlaceSiteVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IOleInPlaceSiteVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetWindow as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IOleInPlaceSiteVtbl), "::", stringify!(GetWindow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ContextSensitiveHelp as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IOleInPlaceSiteVtbl), "::", stringify!(ContextSensitiveHelp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CanInPlaceActivate as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IOleInPlaceSiteVtbl), "::", stringify!(CanInPlaceActivate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnInPlaceActivate as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IOleInPlaceSiteVtbl), "::", stringify!(OnInPlaceActivate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnUIActivate as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IOleInPlaceSiteVtbl), "::", stringify!(OnUIActivate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetWindowContext as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IOleInPlaceSiteVtbl), "::", stringify!(GetWindowContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Scroll as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IOleInPlaceSiteVtbl), "::", stringify!(Scroll) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnUIDeactivate as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IOleInPlaceSiteVtbl), "::", stringify!(OnUIDeactivate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnInPlaceDeactivate as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IOleInPlaceSiteVtbl), "::", stringify!(OnInPlaceDeactivate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DiscardUndoState as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IOleInPlaceSiteVtbl), "::", stringify!(DiscardUndoState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DeactivateAndUndo as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IOleInPlaceSiteVtbl), "::", stringify!(DeactivateAndUndo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnPosRectChange as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IContinueVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IContinueVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IContinueVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FContinue as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IViewObjectVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IViewObjectVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IViewObjectVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Draw as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IViewObjectVtbl), "::", stringify!(Draw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetColorSet as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IViewObjectVtbl), "::", stringify!(GetColorSet) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Freeze as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IViewObjectVtbl), "::", stringify!(Freeze) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Unfreeze as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IViewObjectVtbl), "::", stringify!(Unfreeze) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetAdvise as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IViewObjectVtbl), "::", stringify!(SetAdvise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetAdvise as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IViewObject2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IViewObject2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IViewObject2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Draw as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IViewObject2Vtbl), "::", stringify!(Draw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetColorSet as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IViewObject2Vtbl), "::", stringify!(GetColorSet) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Freeze as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IViewObject2Vtbl), "::", stringify!(Freeze) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Unfreeze as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IViewObject2Vtbl), "::", stringify!(Unfreeze) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetAdvise as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IViewObject2Vtbl), "::", stringify!(SetAdvise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetAdvise as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IViewObject2Vtbl), "::", stringify!(GetAdvise) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetExtent as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IDropSourceVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IDropSourceVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IDropSourceVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryContinueDrag as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IDropSourceVtbl), "::", stringify!(QueryContinueDrag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GiveFeedback as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IDropTargetVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IDropTargetVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IDropTargetVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DragEnter as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IDropTargetVtbl), "::", stringify!(DragEnter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DragOver as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IDropTargetVtbl), "::", stringify!(DragOver) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DragLeave as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IDropTargetVtbl), "::", stringify!(DragLeave) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Drop as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IDropSourceNotifyVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IDropSourceNotifyVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IDropSourceNotifyVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DragEnterTarget as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IDropSourceNotifyVtbl), "::", stringify!(DragEnterTarget) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DragLeaveTarget as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IEnterpriseDropTargetVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IEnterpriseDropTargetVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IEnterpriseDropTargetVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetDropSourceEnterpriseId as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IEnterpriseDropTargetVtbl), "::", stringify!(SetDropSourceEnterpriseId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsEvaluatingEdpPolicy as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).lVerb as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagOLEVERB), "::", stringify!(lVerb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszVerbName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagOLEVERB), "::", stringify!(lpszVerbName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fuFlags as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagOLEVERB), "::", stringify!(fuFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).grfAttribs as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IEnumOLEVERBVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IEnumOLEVERBVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IEnumOLEVERBVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Next as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IEnumOLEVERBVtbl), "::", stringify!(Next) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Skip as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IEnumOLEVERBVtbl), "::", stringify!(Skip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Reset as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IEnumOLEVERBVtbl), "::", stringify!(Reset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Clone as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IServiceProviderVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IServiceProviderVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IServiceProviderVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryService as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::<_xml_error>()))._nLine as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_xml_error), "::", stringify!(_nLine) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_xml_error>()))._pchBuf as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_xml_error), "::", stringify!(_pchBuf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_xml_error>()))._cchBuf as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_xml_error), "::", stringify!(_cchBuf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_xml_error>()))._ich as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_xml_error), "::", stringify!(_ich) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_xml_error>()))._pszFound as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_xml_error), "::", stringify!(_pszFound) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_xml_error>()))._pszExpected as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_xml_error), "::", stringify!(_pszExpected) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_xml_error>()))._reserved1 as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_xml_error), "::", stringify!(_reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_xml_error>()))._reserved2 as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMImplementationVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMImplementationVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMImplementationVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMImplementationVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMImplementationVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMImplementationVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMImplementationVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasFeature as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_nodeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeValue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeValue as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(put_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_nodeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parentNode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_parentNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_childNodes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_childNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_firstChild as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_firstChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_lastChild as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_lastChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_previousSibling as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_previousSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nextSibling as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_nextSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertBefore as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(insertBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceChild as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(replaceChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendChild as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(appendChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasChildNodes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(hasChildNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_ownerDocument as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_ownerDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cloneNode as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(cloneNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypeString as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_nodeTypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_specified as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_specified) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_definition as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_definition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypedValue as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeTypedValue as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(put_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dataType as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_dataType as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(put_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_xml as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_xml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNode as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(transformNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectNodes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(selectNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectSingleNode as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(selectSingleNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parsed as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_parsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_namespaceURI as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_namespaceURI) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_prefix as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_baseName as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeVtbl), "::", stringify!(get_baseName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNodeToObject as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_nodeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeValue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeValue as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(put_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_nodeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parentNode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_parentNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_childNodes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_childNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_firstChild as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_firstChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_lastChild as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_lastChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_previousSibling as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_previousSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nextSibling as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_nextSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertBefore as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(insertBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceChild as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(replaceChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendChild as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(appendChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasChildNodes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(hasChildNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_ownerDocument as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_ownerDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cloneNode as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(cloneNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypeString as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_nodeTypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_specified as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_specified) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_definition as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_definition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypedValue as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeTypedValue as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(put_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dataType as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_dataType as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(put_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_xml as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_xml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNode as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(transformNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectNodes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(selectNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectSingleNode as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(selectSingleNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parsed as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_parsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_namespaceURI as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_namespaceURI) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_prefix as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_baseName as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentFragmentVtbl), "::", stringify!(get_baseName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNodeToObject as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_nodeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeValue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeValue as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(put_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_nodeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parentNode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_parentNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_childNodes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_childNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_firstChild as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_firstChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_lastChild as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_lastChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_previousSibling as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_previousSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nextSibling as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_nextSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertBefore as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(insertBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceChild as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(replaceChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendChild as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(appendChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasChildNodes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(hasChildNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_ownerDocument as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_ownerDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cloneNode as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(cloneNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypeString as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_nodeTypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_specified as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_specified) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_definition as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_definition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypedValue as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeTypedValue as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(put_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dataType as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_dataType as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(put_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_xml as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_xml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNode as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(transformNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectNodes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(selectNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectSingleNode as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(selectSingleNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parsed as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_parsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_namespaceURI as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_namespaceURI) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_prefix as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_baseName as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_baseName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNodeToObject as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(transformNodeToObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_doctype as *const _ as usize }, 344usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_doctype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_implementation as *const _ as usize }, 352usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_implementation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_documentElement as *const _ as usize }, 360usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_documentElement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).putref_documentElement as *const _ as usize }, 368usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(putref_documentElement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).createElement as *const _ as usize }, 376usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(createElement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).createDocumentFragment as *const _ as usize }, 384usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(createDocumentFragment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).createTextNode as *const _ as usize }, 392usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(createTextNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).createComment as *const _ as usize }, 400usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(createComment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).createCDATASection as *const _ as usize }, 408usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(createCDATASection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).createProcessingInstruction as *const _ as usize }, 416usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(createProcessingInstruction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).createAttribute as *const _ as usize }, 424usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(createAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).createEntityReference as *const _ as usize }, 432usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(createEntityReference) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).getElementsByTagName as *const _ as usize }, 440usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(getElementsByTagName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).createNode as *const _ as usize }, 448usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(createNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nodeFromID as *const _ as usize }, 456usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(nodeFromID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).load as *const _ as usize }, 464usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(load) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_readyState as *const _ as usize }, 472usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_readyState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parseError as *const _ as usize }, 480usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_parseError) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_url as *const _ as usize }, 488usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_url) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_async as *const _ as usize }, 496usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_async) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_async as *const _ as usize }, 504usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(put_async) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).abort as *const _ as usize }, 512usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(abort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).loadXML as *const _ as usize }, 520usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(loadXML) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).save as *const _ as usize }, 528usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(save) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_validateOnParse as *const _ as usize }, 536usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_validateOnParse) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_validateOnParse as *const _ as usize }, 544usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(put_validateOnParse) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_resolveExternals as *const _ as usize }, 552usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_resolveExternals) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_resolveExternals as *const _ as usize }, 560usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(put_resolveExternals) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_preserveWhiteSpace as *const _ as usize }, 568usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(get_preserveWhiteSpace) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_preserveWhiteSpace as *const _ as usize }, 576usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(put_preserveWhiteSpace) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_onreadystatechange as *const _ as usize }, 584usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(put_onreadystatechange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_ondataavailable as *const _ as usize }, 592usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentVtbl), "::", stringify!(put_ondataavailable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_ontransformnode as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeListVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeListVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeListVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeListVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeListVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeListVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeListVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_item as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeListVtbl), "::", stringify!(get_item) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_length as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeListVtbl), "::", stringify!(get_length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nextNode as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeListVtbl), "::", stringify!(nextNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reset as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMNodeListVtbl), "::", stringify!(reset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get__newEnum as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).getNamedItem as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(getNamedItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).setNamedItem as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(setNamedItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeNamedItem as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(removeNamedItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_item as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(get_item) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_length as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(get_length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).getQualifiedItem as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(getQualifiedItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeQualifiedItem as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(removeQualifiedItem) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nextNode as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(nextNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reset as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDOMNamedNodeMapVtbl), "::", stringify!(reset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get__newEnum as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_nodeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeValue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeValue as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(put_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_nodeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parentNode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_parentNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_childNodes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_childNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_firstChild as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_firstChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_lastChild as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_lastChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_previousSibling as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_previousSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nextSibling as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_nextSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertBefore as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(insertBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceChild as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(replaceChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendChild as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(appendChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasChildNodes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(hasChildNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_ownerDocument as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_ownerDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cloneNode as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(cloneNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypeString as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_nodeTypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_specified as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_specified) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_definition as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_definition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypedValue as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeTypedValue as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(put_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dataType as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_dataType as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(put_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_xml as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_xml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNode as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(transformNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectNodes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(selectNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectSingleNode as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(selectSingleNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parsed as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_parsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_namespaceURI as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_namespaceURI) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_prefix as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_baseName as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_baseName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNodeToObject as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(transformNodeToObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_data as *const _ as usize }, 344usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_data as *const _ as usize }, 352usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(put_data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_length as *const _ as usize }, 360usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(get_length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).substringData as *const _ as usize }, 368usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(substringData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendData as *const _ as usize }, 376usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(appendData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertData as *const _ as usize }, 384usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(insertData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).deleteData as *const _ as usize }, 392usize, concat!( "Offset of field: ", stringify!(IXMLDOMCharacterDataVtbl), "::", stringify!(deleteData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceData as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_nodeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeValue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeValue as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(put_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_nodeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parentNode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_parentNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_childNodes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_childNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_firstChild as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_firstChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_lastChild as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_lastChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_previousSibling as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_previousSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nextSibling as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_nextSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertBefore as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(insertBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceChild as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(replaceChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendChild as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(appendChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasChildNodes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(hasChildNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_ownerDocument as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_ownerDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cloneNode as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(cloneNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypeString as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_nodeTypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_specified as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_specified) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_definition as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_definition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypedValue as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeTypedValue as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(put_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dataType as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_dataType as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(put_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_xml as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_xml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNode as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(transformNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectNodes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(selectNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectSingleNode as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(selectSingleNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parsed as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_parsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_namespaceURI as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_namespaceURI) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_prefix as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_baseName as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_baseName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNodeToObject as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(transformNodeToObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_name as *const _ as usize }, 344usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_value as *const _ as usize }, 352usize, concat!( "Offset of field: ", stringify!(IXMLDOMAttributeVtbl), "::", stringify!(get_value) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_value as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_nodeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeValue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeValue as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(put_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_nodeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parentNode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_parentNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_childNodes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_childNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_firstChild as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_firstChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_lastChild as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_lastChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_previousSibling as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_previousSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nextSibling as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_nextSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertBefore as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(insertBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceChild as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(replaceChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendChild as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(appendChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasChildNodes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(hasChildNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_ownerDocument as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_ownerDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cloneNode as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(cloneNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypeString as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_nodeTypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_specified as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_specified) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_definition as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_definition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypedValue as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeTypedValue as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(put_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dataType as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_dataType as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(put_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_xml as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_xml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNode as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(transformNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectNodes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(selectNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectSingleNode as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(selectSingleNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parsed as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_parsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_namespaceURI as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_namespaceURI) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_prefix as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_baseName as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_baseName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNodeToObject as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(transformNodeToObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_tagName as *const _ as usize }, 344usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(get_tagName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).getAttribute as *const _ as usize }, 352usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(getAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).setAttribute as *const _ as usize }, 360usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(setAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeAttribute as *const _ as usize }, 368usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(removeAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).getAttributeNode as *const _ as usize }, 376usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(getAttributeNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).setAttributeNode as *const _ as usize }, 384usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(setAttributeNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeAttributeNode as *const _ as usize }, 392usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(removeAttributeNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).getElementsByTagName as *const _ as usize }, 400usize, concat!( "Offset of field: ", stringify!(IXMLDOMElementVtbl), "::", stringify!(getElementsByTagName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).normalize as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_nodeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeValue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeValue as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(put_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_nodeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parentNode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_parentNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_childNodes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_childNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_firstChild as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_firstChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_lastChild as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_lastChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_previousSibling as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_previousSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nextSibling as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_nextSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertBefore as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(insertBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceChild as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(replaceChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendChild as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(appendChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasChildNodes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(hasChildNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_ownerDocument as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_ownerDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cloneNode as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(cloneNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypeString as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_nodeTypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_specified as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_specified) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_definition as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_definition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypedValue as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeTypedValue as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(put_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dataType as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_dataType as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(put_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_xml as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_xml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNode as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(transformNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectNodes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(selectNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectSingleNode as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(selectSingleNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parsed as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_parsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_namespaceURI as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_namespaceURI) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_prefix as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_baseName as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_baseName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNodeToObject as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(transformNodeToObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_data as *const _ as usize }, 344usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_data as *const _ as usize }, 352usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(put_data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_length as *const _ as usize }, 360usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(get_length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).substringData as *const _ as usize }, 368usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(substringData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendData as *const _ as usize }, 376usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(appendData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertData as *const _ as usize }, 384usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(insertData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).deleteData as *const _ as usize }, 392usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(deleteData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceData as *const _ as usize }, 400usize, concat!( "Offset of field: ", stringify!(IXMLDOMTextVtbl), "::", stringify!(replaceData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).splitText as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_nodeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeValue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeValue as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(put_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_nodeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parentNode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_parentNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_childNodes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_childNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_firstChild as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_firstChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_lastChild as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_lastChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_previousSibling as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_previousSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nextSibling as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_nextSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertBefore as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(insertBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceChild as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(replaceChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendChild as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(appendChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasChildNodes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(hasChildNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_ownerDocument as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_ownerDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cloneNode as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(cloneNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypeString as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_nodeTypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_specified as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_specified) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_definition as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_definition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypedValue as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeTypedValue as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(put_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dataType as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_dataType as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(put_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_xml as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_xml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNode as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(transformNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectNodes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(selectNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectSingleNode as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(selectSingleNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parsed as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_parsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_namespaceURI as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_namespaceURI) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_prefix as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_baseName as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_baseName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNodeToObject as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(transformNodeToObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_data as *const _ as usize }, 344usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_data as *const _ as usize }, 352usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(put_data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_length as *const _ as usize }, 360usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(get_length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).substringData as *const _ as usize }, 368usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(substringData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendData as *const _ as usize }, 376usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(appendData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertData as *const _ as usize }, 384usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(insertData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).deleteData as *const _ as usize }, 392usize, concat!( "Offset of field: ", stringify!(IXMLDOMCommentVtbl), "::", stringify!(deleteData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceData as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_nodeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeValue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeValue as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(put_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_nodeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parentNode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_parentNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_childNodes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_childNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_firstChild as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_firstChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_lastChild as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_lastChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_previousSibling as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_previousSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nextSibling as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_nextSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertBefore as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(insertBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceChild as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(replaceChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendChild as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(appendChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasChildNodes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(hasChildNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_ownerDocument as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_ownerDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cloneNode as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(cloneNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypeString as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_nodeTypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_specified as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_specified) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_definition as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_definition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypedValue as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeTypedValue as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(put_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dataType as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_dataType as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(put_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_xml as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_xml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNode as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(transformNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectNodes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(selectNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectSingleNode as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(selectSingleNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parsed as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_parsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_namespaceURI as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_namespaceURI) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_prefix as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_baseName as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_baseName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNodeToObject as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(transformNodeToObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_target as *const _ as usize }, 344usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_target) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_data as *const _ as usize }, 352usize, concat!( "Offset of field: ", stringify!(IXMLDOMProcessingInstructionVtbl), "::", stringify!(get_data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_data as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_nodeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeValue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeValue as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(put_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_nodeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parentNode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_parentNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_childNodes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_childNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_firstChild as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_firstChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_lastChild as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_lastChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_previousSibling as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_previousSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nextSibling as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_nextSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertBefore as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(insertBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceChild as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(replaceChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendChild as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(appendChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasChildNodes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(hasChildNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_ownerDocument as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_ownerDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cloneNode as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(cloneNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypeString as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_nodeTypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_specified as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_specified) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_definition as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_definition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypedValue as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeTypedValue as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(put_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dataType as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_dataType as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(put_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_xml as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_xml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNode as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(transformNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectNodes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(selectNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectSingleNode as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(selectSingleNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parsed as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_parsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_namespaceURI as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_namespaceURI) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_prefix as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_baseName as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_baseName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNodeToObject as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(transformNodeToObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_data as *const _ as usize }, 344usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_data as *const _ as usize }, 352usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(put_data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_length as *const _ as usize }, 360usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(get_length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).substringData as *const _ as usize }, 368usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(substringData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendData as *const _ as usize }, 376usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(appendData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertData as *const _ as usize }, 384usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(insertData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).deleteData as *const _ as usize }, 392usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(deleteData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceData as *const _ as usize }, 400usize, concat!( "Offset of field: ", stringify!(IXMLDOMCDATASectionVtbl), "::", stringify!(replaceData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).splitText as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_nodeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeValue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeValue as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(put_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_nodeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parentNode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_parentNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_childNodes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_childNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_firstChild as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_firstChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_lastChild as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_lastChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_previousSibling as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_previousSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nextSibling as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_nextSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertBefore as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(insertBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceChild as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(replaceChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendChild as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(appendChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasChildNodes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(hasChildNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_ownerDocument as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_ownerDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cloneNode as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(cloneNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypeString as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_nodeTypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_specified as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_specified) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_definition as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_definition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypedValue as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeTypedValue as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(put_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dataType as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_dataType as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(put_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_xml as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_xml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNode as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(transformNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectNodes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(selectNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectSingleNode as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(selectSingleNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parsed as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_parsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_namespaceURI as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_namespaceURI) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_prefix as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_baseName as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_baseName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNodeToObject as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(transformNodeToObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_name as *const _ as usize }, 344usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_entities as *const _ as usize }, 352usize, concat!( "Offset of field: ", stringify!(IXMLDOMDocumentTypeVtbl), "::", stringify!(get_entities) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_notations as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_nodeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeValue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeValue as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(put_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_nodeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parentNode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_parentNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_childNodes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_childNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_firstChild as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_firstChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_lastChild as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_lastChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_previousSibling as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_previousSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nextSibling as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_nextSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertBefore as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(insertBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceChild as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(replaceChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendChild as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(appendChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasChildNodes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(hasChildNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_ownerDocument as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_ownerDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cloneNode as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(cloneNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypeString as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_nodeTypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_specified as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_specified) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_definition as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_definition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypedValue as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeTypedValue as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(put_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dataType as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_dataType as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(put_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_xml as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_xml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNode as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(transformNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectNodes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(selectNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectSingleNode as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(selectSingleNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parsed as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_parsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_namespaceURI as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_namespaceURI) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_prefix as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_baseName as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_baseName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNodeToObject as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(transformNodeToObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_publicId as *const _ as usize }, 344usize, concat!( "Offset of field: ", stringify!(IXMLDOMNotationVtbl), "::", stringify!(get_publicId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_systemId as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_nodeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeValue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeValue as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(put_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_nodeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parentNode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_parentNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_childNodes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_childNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_firstChild as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_firstChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_lastChild as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_lastChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_previousSibling as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_previousSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nextSibling as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_nextSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertBefore as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(insertBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceChild as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(replaceChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendChild as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(appendChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasChildNodes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(hasChildNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_ownerDocument as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_ownerDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cloneNode as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(cloneNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypeString as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_nodeTypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_specified as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_specified) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_definition as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_definition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypedValue as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeTypedValue as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(put_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dataType as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_dataType as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(put_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_xml as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_xml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNode as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(transformNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectNodes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(selectNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectSingleNode as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(selectSingleNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parsed as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_parsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_namespaceURI as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_namespaceURI) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_prefix as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_baseName as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_baseName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNodeToObject as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(transformNodeToObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_publicId as *const _ as usize }, 344usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_publicId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_systemId as *const _ as usize }, 352usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityVtbl), "::", stringify!(get_systemId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_notationName as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_nodeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeValue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeValue as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(put_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_nodeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parentNode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_parentNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_childNodes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_childNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_firstChild as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_firstChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_lastChild as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_lastChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_previousSibling as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_previousSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nextSibling as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_nextSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertBefore as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(insertBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceChild as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(replaceChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendChild as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(appendChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasChildNodes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(hasChildNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_ownerDocument as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_ownerDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cloneNode as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(cloneNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypeString as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_nodeTypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_specified as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_specified) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_definition as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_definition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypedValue as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeTypedValue as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(put_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dataType as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_dataType as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(put_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_xml as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_xml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNode as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(transformNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectNodes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(selectNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectSingleNode as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(selectSingleNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parsed as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_parsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_namespaceURI as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_namespaceURI) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_prefix as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_baseName as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(IXMLDOMEntityReferenceVtbl), "::", stringify!(get_baseName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNodeToObject as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDOMParseErrorVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDOMParseErrorVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDOMParseErrorVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDOMParseErrorVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDOMParseErrorVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDOMParseErrorVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDOMParseErrorVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_errorCode as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDOMParseErrorVtbl), "::", stringify!(get_errorCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_url as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDOMParseErrorVtbl), "::", stringify!(get_url) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_reason as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDOMParseErrorVtbl), "::", stringify!(get_reason) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_srcText as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDOMParseErrorVtbl), "::", stringify!(get_srcText) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_line as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDOMParseErrorVtbl), "::", stringify!(get_line) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_linepos as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDOMParseErrorVtbl), "::", stringify!(get_linepos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_filepos as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_nodeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeValue as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeValue as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(put_nodeValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeType as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_nodeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parentNode as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_parentNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_childNodes as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_childNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_firstChild as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_firstChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_lastChild as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_lastChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_previousSibling as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_previousSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nextSibling as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_nextSibling) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_attributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).insertBefore as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(insertBefore) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replaceChild as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(replaceChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).appendChild as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(appendChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hasChildNodes as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(hasChildNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_ownerDocument as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_ownerDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cloneNode as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(cloneNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypeString as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_nodeTypeString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_specified as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_specified) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_definition as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_definition) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_nodeTypedValue as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_nodeTypedValue as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(put_nodeTypedValue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dataType as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_dataType as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(put_dataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_xml as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_xml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNode as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(transformNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectNodes as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(selectNodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selectSingleNode as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(selectSingleNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parsed as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_parsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_namespaceURI as *const _ as usize }, 312usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_namespaceURI) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_prefix as *const _ as usize }, 320usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_baseName as *const _ as usize }, 328usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(get_baseName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).transformNodeToObject as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(transformNodeToObject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uniqueID as *const _ as usize }, 344usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(uniqueID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).depth as *const _ as usize }, 352usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(depth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).childNumber as *const _ as usize }, 360usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(childNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ancestorChildNumber as *const _ as usize }, 368usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(ancestorChildNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).absoluteChildNumber as *const _ as usize }, 376usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(absoluteChildNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).formatIndex as *const _ as usize }, 384usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(formatIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).formatNumber as *const _ as usize }, 392usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(formatNumber) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).formatDate as *const _ as usize }, 400usize, concat!( "Offset of field: ", stringify!(IXTLRuntimeVtbl), "::", stringify!(formatDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).formatTime as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(XMLDOMDocumentEventsVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(XMLDOMDocumentEventsVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(XMLDOMDocumentEventsVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(XMLDOMDocumentEventsVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(XMLDOMDocumentEventsVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(XMLDOMDocumentEventsVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).open as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(open) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).setRequestHeader as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(setRequestHeader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).getResponseHeader as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(getResponseHeader) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).getAllResponseHeaders as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(getAllResponseHeaders) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).send as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(send) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).abort as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(abort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_status as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(get_status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_statusText as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(get_statusText) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_responseXML as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(get_responseXML) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_responseText as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(get_responseText) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_responseBody as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(get_responseBody) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_responseStream as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(get_responseStream) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_readyState as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLHttpRequestVtbl), "::", stringify!(get_readyState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_onreadystatechange as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDSOControlVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDSOControlVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDSOControlVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDSOControlVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDSOControlVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDSOControlVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDSOControlVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_XMLDocument as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDSOControlVtbl), "::", stringify!(get_XMLDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_XMLDocument as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDSOControlVtbl), "::", stringify!(put_XMLDocument) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_JavaDSOCompatible as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDSOControlVtbl), "::", stringify!(get_JavaDSOCompatible) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_JavaDSOCompatible as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDSOControlVtbl), "::", stringify!(put_JavaDSOCompatible) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_readyState as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLElementCollectionVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLElementCollectionVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLElementCollectionVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLElementCollectionVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLElementCollectionVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLElementCollectionVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLElementCollectionVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_length as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLElementCollectionVtbl), "::", stringify!(put_length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_length as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLElementCollectionVtbl), "::", stringify!(get_length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get__newEnum as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLElementCollectionVtbl), "::", stringify!(get__newEnum) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).item as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_root as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(get_root) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_fileSize as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(get_fileSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_fileModifiedDate as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(get_fileModifiedDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_fileUpdatedDate as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(get_fileUpdatedDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_URL as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(get_URL) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_URL as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(put_URL) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_mimeType as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(get_mimeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_readyState as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(get_readyState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_charset as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(get_charset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_charset as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(put_charset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_version as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(get_version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_doctype as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(get_doctype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dtdURL as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDocumentVtbl), "::", stringify!(get_dtdURL) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).createElement as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_root as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(get_root) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_fileSize as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(get_fileSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_fileModifiedDate as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(get_fileModifiedDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_fileUpdatedDate as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(get_fileUpdatedDate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_URL as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(get_URL) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_URL as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(put_URL) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_mimeType as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(get_mimeType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_readyState as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(get_readyState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_charset as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(get_charset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_charset as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(put_charset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_version as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(get_version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_doctype as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(get_doctype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_dtdURL as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(get_dtdURL) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).createElement as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(createElement) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_async as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IXMLDocument2Vtbl), "::", stringify!(get_async) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_async as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_tagName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(get_tagName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_tagName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(put_tagName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parent as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(get_parent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).setAttribute as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(setAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).getAttribute as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(getAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeAttribute as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(removeAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_children as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(get_children) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_type as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(get_type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addChild as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLElementVtbl), "::", stringify!(addChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_tagName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(get_tagName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_tagName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(put_tagName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_parent as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(get_parent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).setAttribute as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(setAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).getAttribute as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(getAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeAttribute as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(removeAttribute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_children as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(get_children) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_type as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(get_type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_text as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(get_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).put_text as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(put_text) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addChild as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(addChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removeChild as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IXMLElement2Vtbl), "::", stringify!(removeChild) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_attributes as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLAttributeVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLAttributeVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLAttributeVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfoCount as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IXMLAttributeVtbl), "::", stringify!(GetTypeInfoCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IXMLAttributeVtbl), "::", stringify!(GetTypeInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIDsOfNames as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IXMLAttributeVtbl), "::", stringify!(GetIDsOfNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Invoke as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IXMLAttributeVtbl), "::", stringify!(Invoke) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_name as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IXMLAttributeVtbl), "::", stringify!(get_name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_value as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IXMLErrorVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IXMLErrorVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IXMLErrorVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetErrorInfo as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IPersistMonikerVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IPersistMonikerVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IPersistMonikerVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetClassID as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IPersistMonikerVtbl), "::", stringify!(GetClassID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsDirty as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IPersistMonikerVtbl), "::", stringify!(IsDirty) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Load as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IPersistMonikerVtbl), "::", stringify!(Load) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Save as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IPersistMonikerVtbl), "::", stringify!(Save) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SaveCompleted as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IPersistMonikerVtbl), "::", stringify!(SaveCompleted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetCurMoniker as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IMonikerPropVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IMonikerPropVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IMonikerPropVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PutProperty as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IBindProtocolVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IBindProtocolVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IBindProtocolVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateBinding as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IBindingVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IBindingVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IBindingVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Abort as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IBindingVtbl), "::", stringify!(Abort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Suspend as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IBindingVtbl), "::", stringify!(Suspend) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Resume as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IBindingVtbl), "::", stringify!(Resume) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetPriority as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IBindingVtbl), "::", stringify!(SetPriority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetPriority as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IBindingVtbl), "::", stringify!(GetPriority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBindResult as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::<_tagBINDINFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_tagBINDINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagBINDINFO>())).szExtraInfo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_tagBINDINFO), "::", stringify!(szExtraInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagBINDINFO>())).stgmedData as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_tagBINDINFO), "::", stringify!(stgmedData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagBINDINFO>())).grfBindInfoF as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_tagBINDINFO), "::", stringify!(grfBindInfoF) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagBINDINFO>())).dwBindVerb as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_tagBINDINFO), "::", stringify!(dwBindVerb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagBINDINFO>())).szCustomVerb as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_tagBINDINFO), "::", stringify!(szCustomVerb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagBINDINFO>())).cbstgmedData as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_tagBINDINFO), "::", stringify!(cbstgmedData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagBINDINFO>())).dwOptions as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_tagBINDINFO), "::", stringify!(dwOptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagBINDINFO>())).dwOptionsFlags as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_tagBINDINFO), "::", stringify!(dwOptionsFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagBINDINFO>())).dwCodePage as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_tagBINDINFO), "::", stringify!(dwCodePage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagBINDINFO>())).securityAttributes as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_tagBINDINFO), "::", stringify!(securityAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagBINDINFO>())).iid as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(_tagBINDINFO), "::", stringify!(iid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagBINDINFO>())).pUnk as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(_tagBINDINFO), "::", stringify!(pUnk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagBINDINFO>())).dwReserved as *const _ 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() { 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::null::<_REMSECURITY_ATTRIBUTES>())).nLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_REMSECURITY_ATTRIBUTES), "::", stringify!(nLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REMSECURITY_ATTRIBUTES>())).lpSecurityDescriptor as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_REMSECURITY_ATTRIBUTES), "::", stringify!(lpSecurityDescriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_REMSECURITY_ATTRIBUTES>())).bInheritHandle as *const _ 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() { 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::null::<_tagRemBINDINFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_tagRemBINDINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagRemBINDINFO>())).szExtraInfo as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_tagRemBINDINFO), "::", stringify!(szExtraInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagRemBINDINFO>())).grfBindInfoF as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_tagRemBINDINFO), "::", stringify!(grfBindInfoF) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagRemBINDINFO>())).dwBindVerb as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_tagRemBINDINFO), "::", stringify!(dwBindVerb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagRemBINDINFO>())).szCustomVerb as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_tagRemBINDINFO), "::", stringify!(szCustomVerb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagRemBINDINFO>())).cbstgmedData as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_tagRemBINDINFO), "::", stringify!(cbstgmedData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagRemBINDINFO>())).dwOptions as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_tagRemBINDINFO), "::", stringify!(dwOptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagRemBINDINFO>())).dwOptionsFlags as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_tagRemBINDINFO), "::", stringify!(dwOptionsFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagRemBINDINFO>())).dwCodePage as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_tagRemBINDINFO), "::", stringify!(dwCodePage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagRemBINDINFO>())).securityAttributes as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_tagRemBINDINFO), "::", stringify!(securityAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagRemBINDINFO>())).iid as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_tagRemBINDINFO), "::", stringify!(iid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagRemBINDINFO>())).pUnk as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(_tagRemBINDINFO), "::", stringify!(pUnk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagRemBINDINFO>())).dwReserved as *const _ 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() { 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::null::())).cfFormat as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRemFORMATETC), "::", stringify!(cfFormat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRemFORMATETC), "::", stringify!(ptd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwAspect as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRemFORMATETC), "::", stringify!(dwAspect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lindex as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagRemFORMATETC), "::", stringify!(lindex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tymed as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagRemFORMATETC), "::", stringify!(tymed) ) ); } pub type RemFORMATETC = tagRemFORMATETC; pub type LPREMFORMATETC = *mut tagRemFORMATETC; pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_WININETFLAG: __MIDL_IBindStatusCallback_0005 = 65536; pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_ENABLE_UTF8: __MIDL_IBindStatusCallback_0005 = 131072; pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_DISABLE_UTF8: __MIDL_IBindStatusCallback_0005 = 262144; pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_USE_IE_ENCODING: __MIDL_IBindStatusCallback_0005 = 524288; pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_BINDTOOBJECT: __MIDL_IBindStatusCallback_0005 = 1048576; pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_SECURITYOPTOUT: __MIDL_IBindStatusCallback_0005 = 2097152; pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_IGNOREMIMETEXTPLAIN: __MIDL_IBindStatusCallback_0005 = 4194304; pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_USEBINDSTRINGCREDS: __MIDL_IBindStatusCallback_0005 = 8388608; pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_IGNOREHTTPHTTPSREDIRECTS: __MIDL_IBindStatusCallback_0005 = 16777216; pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_IGNORE_SSLERRORS_ONCE: __MIDL_IBindStatusCallback_0005 = 33554432; pub const __MIDL_IBindStatusCallback_0005_BINDINFO_WPC_DOWNLOADBLOCKED: __MIDL_IBindStatusCallback_0005 = 134217728; pub const __MIDL_IBindStatusCallback_0005_BINDINFO_WPC_LOGGING_ENABLED: __MIDL_IBindStatusCallback_0005 = 268435456; pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_ALLOWCONNECTDATA: __MIDL_IBindStatusCallback_0005 = 536870912; pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS: __MIDL_IBindStatusCallback_0005 = 1073741824; pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_SHDOCVW_NAVIGATE: __MIDL_IBindStatusCallback_0005 = -2147483648; pub type __MIDL_IBindStatusCallback_0005 = ::std::os::raw::c_int; pub use self::__MIDL_IBindStatusCallback_0005 as BINDINFO_OPTIONS; pub const __MIDL_IBindStatusCallback_0006_BSCF_FIRSTDATANOTIFICATION: __MIDL_IBindStatusCallback_0006 = 1; pub const __MIDL_IBindStatusCallback_0006_BSCF_INTERMEDIATEDATANOTIFICATION: __MIDL_IBindStatusCallback_0006 = 2; pub const __MIDL_IBindStatusCallback_0006_BSCF_LASTDATANOTIFICATION: __MIDL_IBindStatusCallback_0006 = 4; pub const __MIDL_IBindStatusCallback_0006_BSCF_DATAFULLYAVAILABLE: __MIDL_IBindStatusCallback_0006 = 8; pub const __MIDL_IBindStatusCallback_0006_BSCF_AVAILABLEDATASIZEUNKNOWN: __MIDL_IBindStatusCallback_0006 = 16; pub const __MIDL_IBindStatusCallback_0006_BSCF_SKIPDRAINDATAFORFILEURLS: __MIDL_IBindStatusCallback_0006 = 32; pub const __MIDL_IBindStatusCallback_0006_BSCF_64BITLENGTHDOWNLOAD: __MIDL_IBindStatusCallback_0006 = 64; pub type __MIDL_IBindStatusCallback_0006 = ::std::os::raw::c_int; pub use self::__MIDL_IBindStatusCallback_0006 as BSCF; pub const tagBINDSTATUS_BINDSTATUS_FINDINGRESOURCE: tagBINDSTATUS = 1; pub const tagBINDSTATUS_BINDSTATUS_CONNECTING: tagBINDSTATUS = 2; pub const tagBINDSTATUS_BINDSTATUS_REDIRECTING: tagBINDSTATUS = 3; pub const tagBINDSTATUS_BINDSTATUS_BEGINDOWNLOADDATA: tagBINDSTATUS = 4; pub const tagBINDSTATUS_BINDSTATUS_DOWNLOADINGDATA: tagBINDSTATUS = 5; pub const tagBINDSTATUS_BINDSTATUS_ENDDOWNLOADDATA: tagBINDSTATUS = 6; pub const tagBINDSTATUS_BINDSTATUS_BEGINDOWNLOADCOMPONENTS: tagBINDSTATUS = 7; pub const tagBINDSTATUS_BINDSTATUS_INSTALLINGCOMPONENTS: tagBINDSTATUS = 8; pub const tagBINDSTATUS_BINDSTATUS_ENDDOWNLOADCOMPONENTS: tagBINDSTATUS = 9; pub const tagBINDSTATUS_BINDSTATUS_USINGCACHEDCOPY: tagBINDSTATUS = 10; pub const tagBINDSTATUS_BINDSTATUS_SENDINGREQUEST: tagBINDSTATUS = 11; pub const tagBINDSTATUS_BINDSTATUS_CLASSIDAVAILABLE: tagBINDSTATUS = 12; pub const tagBINDSTATUS_BINDSTATUS_MIMETYPEAVAILABLE: tagBINDSTATUS = 13; pub const tagBINDSTATUS_BINDSTATUS_CACHEFILENAMEAVAILABLE: tagBINDSTATUS = 14; pub const tagBINDSTATUS_BINDSTATUS_BEGINSYNCOPERATION: tagBINDSTATUS = 15; pub const tagBINDSTATUS_BINDSTATUS_ENDSYNCOPERATION: tagBINDSTATUS = 16; pub const tagBINDSTATUS_BINDSTATUS_BEGINUPLOADDATA: tagBINDSTATUS = 17; pub const tagBINDSTATUS_BINDSTATUS_UPLOADINGDATA: tagBINDSTATUS = 18; pub const tagBINDSTATUS_BINDSTATUS_ENDUPLOADDATA: tagBINDSTATUS = 19; pub const tagBINDSTATUS_BINDSTATUS_PROTOCOLCLASSID: tagBINDSTATUS = 20; pub const tagBINDSTATUS_BINDSTATUS_ENCODING: tagBINDSTATUS = 21; pub const tagBINDSTATUS_BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE: tagBINDSTATUS = 22; pub const tagBINDSTATUS_BINDSTATUS_CLASSINSTALLLOCATION: tagBINDSTATUS = 23; pub const tagBINDSTATUS_BINDSTATUS_DECODING: tagBINDSTATUS = 24; pub const tagBINDSTATUS_BINDSTATUS_LOADINGMIMEHANDLER: tagBINDSTATUS = 25; pub const tagBINDSTATUS_BINDSTATUS_CONTENTDISPOSITIONATTACH: tagBINDSTATUS = 26; pub const tagBINDSTATUS_BINDSTATUS_FILTERREPORTMIMETYPE: tagBINDSTATUS = 27; pub const tagBINDSTATUS_BINDSTATUS_CLSIDCANINSTANTIATE: tagBINDSTATUS = 28; pub const tagBINDSTATUS_BINDSTATUS_IUNKNOWNAVAILABLE: tagBINDSTATUS = 29; pub const tagBINDSTATUS_BINDSTATUS_DIRECTBIND: tagBINDSTATUS = 30; pub const tagBINDSTATUS_BINDSTATUS_RAWMIMETYPE: tagBINDSTATUS = 31; pub const tagBINDSTATUS_BINDSTATUS_PROXYDETECTING: tagBINDSTATUS = 32; pub const tagBINDSTATUS_BINDSTATUS_ACCEPTRANGES: tagBINDSTATUS = 33; pub const tagBINDSTATUS_BINDSTATUS_COOKIE_SENT: tagBINDSTATUS = 34; pub const tagBINDSTATUS_BINDSTATUS_COMPACT_POLICY_RECEIVED: tagBINDSTATUS = 35; pub const tagBINDSTATUS_BINDSTATUS_COOKIE_SUPPRESSED: tagBINDSTATUS = 36; pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_UNKNOWN: tagBINDSTATUS = 37; pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_ACCEPT: tagBINDSTATUS = 38; pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_REJECT: tagBINDSTATUS = 39; pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_PROMPT: tagBINDSTATUS = 40; pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_LEASH: tagBINDSTATUS = 41; pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_DOWNGRADE: tagBINDSTATUS = 42; pub const tagBINDSTATUS_BINDSTATUS_POLICY_HREF: tagBINDSTATUS = 43; pub const tagBINDSTATUS_BINDSTATUS_P3P_HEADER: tagBINDSTATUS = 44; pub const tagBINDSTATUS_BINDSTATUS_SESSION_COOKIE_RECEIVED: tagBINDSTATUS = 45; pub const tagBINDSTATUS_BINDSTATUS_PERSISTENT_COOKIE_RECEIVED: tagBINDSTATUS = 46; pub const tagBINDSTATUS_BINDSTATUS_SESSION_COOKIES_ALLOWED: tagBINDSTATUS = 47; pub const tagBINDSTATUS_BINDSTATUS_CACHECONTROL: tagBINDSTATUS = 48; pub const tagBINDSTATUS_BINDSTATUS_CONTENTDISPOSITIONFILENAME: tagBINDSTATUS = 49; pub const tagBINDSTATUS_BINDSTATUS_MIMETEXTPLAINMISMATCH: tagBINDSTATUS = 50; pub const tagBINDSTATUS_BINDSTATUS_PUBLISHERAVAILABLE: tagBINDSTATUS = 51; pub const tagBINDSTATUS_BINDSTATUS_DISPLAYNAMEAVAILABLE: tagBINDSTATUS = 52; pub const tagBINDSTATUS_BINDSTATUS_SSLUX_NAVBLOCKED: tagBINDSTATUS = 53; pub const tagBINDSTATUS_BINDSTATUS_SERVER_MIMETYPEAVAILABLE: tagBINDSTATUS = 54; pub const tagBINDSTATUS_BINDSTATUS_SNIFFED_CLASSIDAVAILABLE: tagBINDSTATUS = 55; pub const tagBINDSTATUS_BINDSTATUS_64BIT_PROGRESS: tagBINDSTATUS = 56; pub const tagBINDSTATUS_BINDSTATUS_LAST: tagBINDSTATUS = 56; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_0: tagBINDSTATUS = 57; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_1: tagBINDSTATUS = 58; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_2: tagBINDSTATUS = 59; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_3: tagBINDSTATUS = 60; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_4: tagBINDSTATUS = 61; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_5: tagBINDSTATUS = 62; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_6: tagBINDSTATUS = 63; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_7: tagBINDSTATUS = 64; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_8: tagBINDSTATUS = 65; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_9: tagBINDSTATUS = 66; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_A: tagBINDSTATUS = 67; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_B: tagBINDSTATUS = 68; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_C: tagBINDSTATUS = 69; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_D: tagBINDSTATUS = 70; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_E: tagBINDSTATUS = 71; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_F: tagBINDSTATUS = 72; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_10: tagBINDSTATUS = 73; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_11: tagBINDSTATUS = 74; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_12: tagBINDSTATUS = 75; pub const tagBINDSTATUS_BINDSTATUS_RESERVED_13: tagBINDSTATUS = 76; pub const tagBINDSTATUS_BINDSTATUS_LAST_PRIVATE: tagBINDSTATUS = 76; pub type tagBINDSTATUS = ::std::os::raw::c_int; pub use self::tagBINDSTATUS as BINDSTATUS; extern "C" { pub static IID_IBindStatusCallback: IID; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IBindStatusCallbackVtbl { pub QueryInterface: ::std::option::Option< unsafe extern "C" fn( This: *mut IBindStatusCallback, riid: *const IID, ppvObject: *mut *mut ::std::os::raw::c_void, ) -> HRESULT, >, pub AddRef: ::std::option::Option ULONG>, pub Release: ::std::option::Option ULONG>, pub OnStartBinding: ::std::option::Option< unsafe extern "C" fn( This: *mut IBindStatusCallback, dwReserved: DWORD, pib: *mut IBinding, ) -> HRESULT, >, pub GetPriority: ::std::option::Option< unsafe extern "C" fn(This: *mut IBindStatusCallback, pnPriority: *mut LONG) -> HRESULT, >, pub OnLowResource: ::std::option::Option< unsafe extern "C" fn(This: *mut IBindStatusCallback, reserved: DWORD) -> HRESULT, >, pub OnProgress: ::std::option::Option< unsafe extern "C" fn( This: *mut IBindStatusCallback, ulProgress: ULONG, ulProgressMax: ULONG, ulStatusCode: ULONG, szStatusText: LPCWSTR, ) -> HRESULT, >, pub OnStopBinding: ::std::option::Option< unsafe extern "C" fn( This: *mut IBindStatusCallback, hresult: HRESULT, szError: LPCWSTR, ) -> HRESULT, >, pub GetBindInfo: ::std::option::Option< unsafe extern "C" fn( This: *mut IBindStatusCallback, grfBINDF: *mut DWORD, pbindinfo: *mut BINDINFO, ) -> HRESULT, >, pub OnDataAvailable: ::std::option::Option< unsafe extern "C" fn( This: *mut IBindStatusCallback, grfBSCF: DWORD, dwSize: DWORD, pformatetc: *mut FORMATETC, pstgmed: *mut STGMEDIUM, ) -> HRESULT, >, pub OnObjectAvailable: ::std::option::Option< unsafe extern "C" fn( This: *mut IBindStatusCallback, riid: *const IID, punk: *mut IUnknown, ) -> HRESULT, >, } #[test] fn bindgen_test_layout_IBindStatusCallbackVtbl() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnStartBinding as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackVtbl), "::", stringify!(OnStartBinding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetPriority as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackVtbl), "::", stringify!(GetPriority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnLowResource as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackVtbl), "::", stringify!(OnLowResource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnProgress as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackVtbl), "::", stringify!(OnProgress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnStopBinding as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackVtbl), "::", stringify!(OnStopBinding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBindInfo as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackVtbl), "::", stringify!(GetBindInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnDataAvailable as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackVtbl), "::", stringify!(OnDataAvailable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnObjectAvailable as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackExVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackExVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackExVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnStartBinding as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackExVtbl), "::", stringify!(OnStartBinding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetPriority as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackExVtbl), "::", stringify!(GetPriority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnLowResource as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackExVtbl), "::", stringify!(OnLowResource) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnProgress as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackExVtbl), "::", stringify!(OnProgress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnStopBinding as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackExVtbl), "::", stringify!(OnStopBinding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBindInfo as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackExVtbl), "::", stringify!(GetBindInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnDataAvailable as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackExVtbl), "::", stringify!(OnDataAvailable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnObjectAvailable as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IBindStatusCallbackExVtbl), "::", stringify!(OnObjectAvailable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBindInfoEx as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IAuthenticateVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IAuthenticateVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IAuthenticateVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Authenticate as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::<_tagAUTHENTICATEINFO>())).dwFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_tagAUTHENTICATEINFO), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagAUTHENTICATEINFO>())).dwReserved as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IAuthenticateExVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IAuthenticateExVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IAuthenticateExVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Authenticate as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IAuthenticateExVtbl), "::", stringify!(Authenticate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AuthenticateEx as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IHttpNegotiateVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IHttpNegotiateVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IHttpNegotiateVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BeginningTransaction as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IHttpNegotiateVtbl), "::", stringify!(BeginningTransaction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnResponse as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IHttpNegotiate2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IHttpNegotiate2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IHttpNegotiate2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BeginningTransaction as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IHttpNegotiate2Vtbl), "::", stringify!(BeginningTransaction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnResponse as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IHttpNegotiate2Vtbl), "::", stringify!(OnResponse) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetRootSecurityId as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IHttpNegotiate3Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IHttpNegotiate3Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IHttpNegotiate3Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).BeginningTransaction as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IHttpNegotiate3Vtbl), "::", stringify!(BeginningTransaction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnResponse as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IHttpNegotiate3Vtbl), "::", stringify!(OnResponse) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetRootSecurityId as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IHttpNegotiate3Vtbl), "::", stringify!(GetRootSecurityId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSerializedClientCertContext as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IWinInetFileStreamVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IWinInetFileStreamVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IWinInetFileStreamVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetHandleForUnlock as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IWinInetFileStreamVtbl), "::", stringify!(SetHandleForUnlock) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetDeleteFile as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IWindowForBindingUIVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IWindowForBindingUIVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IWindowForBindingUIVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetWindow as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ICodeInstallVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ICodeInstallVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ICodeInstallVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetWindow as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ICodeInstallVtbl), "::", stringify!(GetWindow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnCodeInstallProblem as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetPropertyBSTR as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetPropertyBSTR) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetPropertyLength as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetPropertyLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetPropertyDWORD as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetPropertyDWORD) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).HasProperty as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(HasProperty) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetAbsoluteUri as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetAbsoluteUri) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetAuthority as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetAuthority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDisplayUri as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetDisplayUri) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDomain as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetDomain) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetExtension as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetFragment as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetFragment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetHost as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetHost) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetPassword as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetPassword) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetPath as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetPathAndQuery as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetPathAndQuery) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetQuery as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetQuery) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetRawUri as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetRawUri) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSchemeName as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetSchemeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetUserInfo as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetUserInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetUserNameA as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetUserNameA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetHostType as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetHostType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetPort as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetPort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetScheme as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetScheme) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZone as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetZone) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetProperties as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(IUriVtbl), "::", stringify!(GetProperties) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).IsEqual as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IUriContainerVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IUriContainerVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IUriContainerVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIUri as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateUriSimple as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(CreateUriSimple) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateUri as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(CreateUri) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateUriWithFlags as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(CreateUriWithFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIUri as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(GetIUri) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetIUri as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(SetIUri) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetFragment as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(GetFragment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetHost as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(GetHost) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetPassword as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(GetPassword) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetPath as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(GetPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetPort as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(GetPort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetQuery as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(GetQuery) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSchemeName as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(GetSchemeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetUserNameA as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(GetUserNameA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetFragment as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(SetFragment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetHost as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(SetHost) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetPassword as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(SetPassword) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetPath as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(SetPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetPortA as *const _ as usize }, 160usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(SetPortA) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetQuery as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(SetQuery) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetSchemeName as *const _ as usize }, 176usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(SetSchemeName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetUserName as *const _ as usize }, 184usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(SetUserName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RemoveProperties as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(IUriBuilderVtbl), "::", stringify!(RemoveProperties) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).HasBeenModified as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IUriBuilderFactoryVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IUriBuilderFactoryVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IUriBuilderFactoryVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateIUriBuilder as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IUriBuilderFactoryVtbl), "::", stringify!(CreateIUriBuilder) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateInitializedIUriBuilder as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IWinInetInfoVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IWinInetInfoVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IWinInetInfoVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryOption as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IHttpSecurityVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IHttpSecurityVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IHttpSecurityVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetWindow as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IHttpSecurityVtbl), "::", stringify!(GetWindow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).OnSecurityProblem as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IWinInetHttpInfoVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IWinInetHttpInfoVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IWinInetHttpInfoVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryOption as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IWinInetHttpInfoVtbl), "::", stringify!(QueryOption) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryInfo as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IWinInetHttpTimeoutsVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IWinInetHttpTimeoutsVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IWinInetHttpTimeoutsVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetRequestTimeouts as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IWinInetCacheHintsVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IWinInetCacheHintsVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IWinInetCacheHintsVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetCacheExtension as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IWinInetCacheHints2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IWinInetCacheHints2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IWinInetCacheHints2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetCacheExtension as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IWinInetCacheHints2Vtbl), "::", stringify!(SetCacheExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetCacheExtension2 as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IBindHostVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IBindHostVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IBindHostVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateMoniker as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IBindHostVtbl), "::", stringify!(CreateMoniker) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MonikerBindToStorage as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IBindHostVtbl), "::", stringify!(MonikerBindToStorage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MonikerBindToObject as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetBindInfoVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetBindInfoVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetBindInfoVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBindInfo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetBindInfoVtbl), "::", stringify!(GetBindInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBindString as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetBindInfoExVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetBindInfoExVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetBindInfoExVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBindInfo as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetBindInfoExVtbl), "::", stringify!(GetBindInfo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBindString as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInternetBindInfoExVtbl), "::", stringify!(GetBindString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBindInfoEx as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::<_tagPROTOCOLDATA>())).grfFlags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_tagPROTOCOLDATA), "::", stringify!(grfFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagPROTOCOLDATA>())).dwState as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_tagPROTOCOLDATA), "::", stringify!(dwState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagPROTOCOLDATA>())).pData as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_tagPROTOCOLDATA), "::", stringify!(pData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagPROTOCOLDATA>())).cbData as *const _ 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() { 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::null::<_tagStartParam>())).iid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_tagStartParam), "::", stringify!(iid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagStartParam>())).pIBindCtx as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_tagStartParam), "::", stringify!(pIBindCtx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagStartParam>())).pItf as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetProtocolRootVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetProtocolRootVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetProtocolRootVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Start as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetProtocolRootVtbl), "::", stringify!(Start) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Continue as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInternetProtocolRootVtbl), "::", stringify!(Continue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Abort as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IInternetProtocolRootVtbl), "::", stringify!(Abort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Terminate as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IInternetProtocolRootVtbl), "::", stringify!(Terminate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Suspend as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IInternetProtocolRootVtbl), "::", stringify!(Suspend) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Resume as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetProtocolVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetProtocolVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetProtocolVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Start as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetProtocolVtbl), "::", stringify!(Start) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Continue as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInternetProtocolVtbl), "::", stringify!(Continue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Abort as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IInternetProtocolVtbl), "::", stringify!(Abort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Terminate as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IInternetProtocolVtbl), "::", stringify!(Terminate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Suspend as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IInternetProtocolVtbl), "::", stringify!(Suspend) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Resume as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IInternetProtocolVtbl), "::", stringify!(Resume) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Read as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IInternetProtocolVtbl), "::", stringify!(Read) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Seek as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IInternetProtocolVtbl), "::", stringify!(Seek) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LockRequest as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IInternetProtocolVtbl), "::", stringify!(LockRequest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UnlockRequest as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetProtocolExVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetProtocolExVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetProtocolExVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Start as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetProtocolExVtbl), "::", stringify!(Start) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Continue as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInternetProtocolExVtbl), "::", stringify!(Continue) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Abort as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IInternetProtocolExVtbl), "::", stringify!(Abort) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Terminate as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IInternetProtocolExVtbl), "::", stringify!(Terminate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Suspend as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IInternetProtocolExVtbl), "::", stringify!(Suspend) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Resume as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IInternetProtocolExVtbl), "::", stringify!(Resume) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Read as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IInternetProtocolExVtbl), "::", stringify!(Read) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Seek as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IInternetProtocolExVtbl), "::", stringify!(Seek) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LockRequest as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IInternetProtocolExVtbl), "::", stringify!(LockRequest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UnlockRequest as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IInternetProtocolExVtbl), "::", stringify!(UnlockRequest) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).StartEx as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetProtocolSinkVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetProtocolSinkVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetProtocolSinkVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Switch as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetProtocolSinkVtbl), "::", stringify!(Switch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReportProgress as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInternetProtocolSinkVtbl), "::", stringify!(ReportProgress) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReportData as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IInternetProtocolSinkVtbl), "::", stringify!(ReportData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ReportResult as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetProtocolSinkStackableVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetProtocolSinkStackableVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetProtocolSinkStackableVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SwitchSink as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetProtocolSinkStackableVtbl), "::", stringify!(SwitchSink) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CommitSwitch as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInternetProtocolSinkStackableVtbl), "::", stringify!(CommitSwitch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RollbackSwitch as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetSessionVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetSessionVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetSessionVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RegisterNameSpace as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetSessionVtbl), "::", stringify!(RegisterNameSpace) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UnregisterNameSpace as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInternetSessionVtbl), "::", stringify!(UnregisterNameSpace) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RegisterMimeFilter as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IInternetSessionVtbl), "::", stringify!(RegisterMimeFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).UnregisterMimeFilter as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IInternetSessionVtbl), "::", stringify!(UnregisterMimeFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateBinding as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IInternetSessionVtbl), "::", stringify!(CreateBinding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetSessionOption as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IInternetSessionVtbl), "::", stringify!(SetSessionOption) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSessionOption as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetThreadSwitchVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetThreadSwitchVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetThreadSwitchVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Prepare as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetThreadSwitchVtbl), "::", stringify!(Prepare) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Continue as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetPriorityVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetPriorityVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetPriorityVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetPriority as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetPriorityVtbl), "::", stringify!(SetPriority) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetPriority as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetProtocolInfoVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetProtocolInfoVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetProtocolInfoVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ParseUrl as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetProtocolInfoVtbl), "::", stringify!(ParseUrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CombineUrl as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInternetProtocolInfoVtbl), "::", stringify!(CombineUrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CompareUrl as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IInternetProtocolInfoVtbl), "::", stringify!(CompareUrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryInfo as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetSecurityMgrSiteVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetSecurityMgrSiteVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetSecurityMgrSiteVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetWindow as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetSecurityMgrSiteVtbl), "::", stringify!(GetWindow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).EnableModeless as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetSecuritySite as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerVtbl), "::", stringify!(SetSecuritySite) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSecuritySite as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerVtbl), "::", stringify!(GetSecuritySite) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MapUrlToZone as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerVtbl), "::", stringify!(MapUrlToZone) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSecurityId as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerVtbl), "::", stringify!(GetSecurityId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProcessUrlAction as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerVtbl), "::", stringify!(ProcessUrlAction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryCustomPolicy as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerVtbl), "::", stringify!(QueryCustomPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetZoneMapping as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerVtbl), "::", stringify!(SetZoneMapping) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneMappings as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerExVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerExVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerExVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetSecuritySite as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerExVtbl), "::", stringify!(SetSecuritySite) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSecuritySite as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerExVtbl), "::", stringify!(GetSecuritySite) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MapUrlToZone as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerExVtbl), "::", stringify!(MapUrlToZone) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSecurityId as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerExVtbl), "::", stringify!(GetSecurityId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProcessUrlAction as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerExVtbl), "::", stringify!(ProcessUrlAction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryCustomPolicy as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerExVtbl), "::", stringify!(QueryCustomPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetZoneMapping as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerExVtbl), "::", stringify!(SetZoneMapping) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneMappings as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerExVtbl), "::", stringify!(GetZoneMappings) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProcessUrlActionEx as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerEx2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerEx2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerEx2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetSecuritySite as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerEx2Vtbl), "::", stringify!(SetSecuritySite) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSecuritySite as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerEx2Vtbl), "::", stringify!(GetSecuritySite) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MapUrlToZone as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerEx2Vtbl), "::", stringify!(MapUrlToZone) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSecurityId as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerEx2Vtbl), "::", stringify!(GetSecurityId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProcessUrlAction as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerEx2Vtbl), "::", stringify!(ProcessUrlAction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryCustomPolicy as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerEx2Vtbl), "::", stringify!(QueryCustomPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetZoneMapping as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerEx2Vtbl), "::", stringify!(SetZoneMapping) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneMappings as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerEx2Vtbl), "::", stringify!(GetZoneMappings) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProcessUrlActionEx as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerEx2Vtbl), "::", stringify!(ProcessUrlActionEx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).MapUrlToZoneEx2 as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerEx2Vtbl), "::", stringify!(MapUrlToZoneEx2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProcessUrlActionEx2 as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerEx2Vtbl), "::", stringify!(ProcessUrlActionEx2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSecurityIdEx2 as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IInternetSecurityManagerEx2Vtbl), "::", stringify!(GetSecurityIdEx2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryCustomPolicyEx2 as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IZoneIdentifierVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IZoneIdentifierVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IZoneIdentifierVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetId as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IZoneIdentifierVtbl), "::", stringify!(GetId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetId as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IZoneIdentifierVtbl), "::", stringify!(SetId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Remove as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IZoneIdentifier2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IZoneIdentifier2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IZoneIdentifier2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetId as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IZoneIdentifier2Vtbl), "::", stringify!(GetId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetId as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IZoneIdentifier2Vtbl), "::", stringify!(SetId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Remove as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IZoneIdentifier2Vtbl), "::", stringify!(Remove) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetLastWriterPackageFamilyName as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IZoneIdentifier2Vtbl), "::", stringify!(GetLastWriterPackageFamilyName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetLastWriterPackageFamilyName as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IZoneIdentifier2Vtbl), "::", stringify!(SetLastWriterPackageFamilyName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RemoveLastWriterPackageFamilyName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IZoneIdentifier2Vtbl), "::", stringify!(RemoveLastWriterPackageFamilyName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetAppZoneId as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IZoneIdentifier2Vtbl), "::", stringify!(GetAppZoneId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetAppZoneId as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IZoneIdentifier2Vtbl), "::", stringify!(SetAppZoneId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RemoveAppZoneId as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetHostSecurityManagerVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetHostSecurityManagerVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetHostSecurityManagerVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetSecurityId as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetHostSecurityManagerVtbl), "::", stringify!(GetSecurityId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProcessUrlAction as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInternetHostSecurityManagerVtbl), "::", stringify!(ProcessUrlAction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).QueryCustomPolicy as *const _ 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() { 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::null::())).lpVtbl as *const _ 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(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() { 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::null::<_ZONEATTRIBUTES>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ZONEATTRIBUTES), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ZONEATTRIBUTES>())).szDisplayName as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_ZONEATTRIBUTES), "::", stringify!(szDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ZONEATTRIBUTES>())).szDescription as *const _ as usize }, 524usize, concat!( "Offset of field: ", stringify!(_ZONEATTRIBUTES), "::", stringify!(szDescription) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ZONEATTRIBUTES>())).szIconPath as *const _ as usize }, 924usize, concat!( "Offset of field: ", stringify!(_ZONEATTRIBUTES), "::", stringify!(szIconPath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ZONEATTRIBUTES>())).dwTemplateMinLevel as *const _ as usize }, 1444usize, concat!( "Offset of field: ", stringify!(_ZONEATTRIBUTES), "::", stringify!(dwTemplateMinLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ZONEATTRIBUTES>())).dwTemplateRecommended as *const _ as usize }, 1448usize, concat!( "Offset of field: ", stringify!(_ZONEATTRIBUTES), "::", stringify!(dwTemplateRecommended) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ZONEATTRIBUTES>())).dwTemplateCurrentLevel as *const _ as usize }, 1452usize, concat!( "Offset of field: ", stringify!(_ZONEATTRIBUTES), "::", stringify!(dwTemplateCurrentLevel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ZONEATTRIBUTES>())).dwFlags as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneAttributes as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerVtbl), "::", stringify!(GetZoneAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetZoneAttributes as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerVtbl), "::", stringify!(SetZoneAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneCustomPolicy as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerVtbl), "::", stringify!(GetZoneCustomPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetZoneCustomPolicy as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerVtbl), "::", stringify!(SetZoneCustomPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneActionPolicy as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerVtbl), "::", stringify!(GetZoneActionPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetZoneActionPolicy as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerVtbl), "::", stringify!(SetZoneActionPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PromptAction as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerVtbl), "::", stringify!(PromptAction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LogAction as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerVtbl), "::", stringify!(LogAction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateZoneEnumerator as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerVtbl), "::", stringify!(CreateZoneEnumerator) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneAt as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerVtbl), "::", stringify!(GetZoneAt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DestroyZoneEnumerator as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerVtbl), "::", stringify!(DestroyZoneEnumerator) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CopyTemplatePoliciesToZone as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneAttributes as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(GetZoneAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetZoneAttributes as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(SetZoneAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneCustomPolicy as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(GetZoneCustomPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetZoneCustomPolicy as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(SetZoneCustomPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneActionPolicy as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(GetZoneActionPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetZoneActionPolicy as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(SetZoneActionPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PromptAction as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(PromptAction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LogAction as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(LogAction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateZoneEnumerator as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(CreateZoneEnumerator) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneAt as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(GetZoneAt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DestroyZoneEnumerator as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(DestroyZoneEnumerator) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CopyTemplatePoliciesToZone as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(CopyTemplatePoliciesToZone) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneActionPolicyEx as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerExVtbl), "::", stringify!(GetZoneActionPolicyEx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetZoneActionPolicyEx as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneAttributes as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(GetZoneAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetZoneAttributes as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(SetZoneAttributes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneCustomPolicy as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(GetZoneCustomPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetZoneCustomPolicy as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(SetZoneCustomPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneActionPolicy as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(GetZoneActionPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetZoneActionPolicy as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(SetZoneActionPolicy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).PromptAction as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(PromptAction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).LogAction as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(LogAction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CreateZoneEnumerator as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(CreateZoneEnumerator) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneAt as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(GetZoneAt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DestroyZoneEnumerator as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(DestroyZoneEnumerator) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).CopyTemplatePoliciesToZone as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(CopyTemplatePoliciesToZone) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneActionPolicyEx as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(GetZoneActionPolicyEx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetZoneActionPolicyEx as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(SetZoneActionPolicyEx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneAttributesEx as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(GetZoneAttributesEx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetZoneSecurityState as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(GetZoneSecurityState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIESecurityState as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(IInternetZoneManagerEx2Vtbl), "::", stringify!(GetIESecurityState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FixUnsecureSettings as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::<_tagCODEBASEHOLD>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_tagCODEBASEHOLD), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagCODEBASEHOLD>())).szDistUnit as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_tagCODEBASEHOLD), "::", stringify!(szDistUnit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagCODEBASEHOLD>())).szCodeBase as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_tagCODEBASEHOLD), "::", stringify!(szCodeBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagCODEBASEHOLD>())).dwVersionMS as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_tagCODEBASEHOLD), "::", stringify!(dwVersionMS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagCODEBASEHOLD>())).dwVersionLS as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_tagCODEBASEHOLD), "::", stringify!(dwVersionLS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagCODEBASEHOLD>())).dwStyle as *const _ 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() { 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::null::<_tagSOFTDISTINFO>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_tagSOFTDISTINFO), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagSOFTDISTINFO>())).dwFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_tagSOFTDISTINFO), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagSOFTDISTINFO>())).dwAdState as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_tagSOFTDISTINFO), "::", stringify!(dwAdState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagSOFTDISTINFO>())).szTitle as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_tagSOFTDISTINFO), "::", stringify!(szTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagSOFTDISTINFO>())).szAbstract as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_tagSOFTDISTINFO), "::", stringify!(szAbstract) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagSOFTDISTINFO>())).szHREF as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_tagSOFTDISTINFO), "::", stringify!(szHREF) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagSOFTDISTINFO>())).dwInstalledVersionMS as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_tagSOFTDISTINFO), "::", stringify!(dwInstalledVersionMS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagSOFTDISTINFO>())).dwInstalledVersionLS as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_tagSOFTDISTINFO), "::", stringify!(dwInstalledVersionLS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagSOFTDISTINFO>())).dwUpdateVersionMS as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_tagSOFTDISTINFO), "::", stringify!(dwUpdateVersionMS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagSOFTDISTINFO>())).dwUpdateVersionLS as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_tagSOFTDISTINFO), "::", stringify!(dwUpdateVersionLS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagSOFTDISTINFO>())).dwAdvertisedVersionMS as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_tagSOFTDISTINFO), "::", stringify!(dwAdvertisedVersionMS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagSOFTDISTINFO>())).dwAdvertisedVersionLS as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_tagSOFTDISTINFO), "::", stringify!(dwAdvertisedVersionLS) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagSOFTDISTINFO>())).dwReserved as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ISoftDistExtVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ISoftDistExtVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ISoftDistExtVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ProcessSoftDist as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ISoftDistExtVtbl), "::", stringify!(ProcessSoftDist) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetFirstCodeBase as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(ISoftDistExtVtbl), "::", stringify!(GetFirstCodeBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetNextCodeBase as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(ISoftDistExtVtbl), "::", stringify!(GetNextCodeBase) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AsyncInstallDistributionUnit as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(ICatalogFileInfoVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(ICatalogFileInfoVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(ICatalogFileInfoVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetCatalogFile as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(ICatalogFileInfoVtbl), "::", stringify!(GetCatalogFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetJavaTrust as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IDataFilterVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IDataFilterVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IDataFilterVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DoEncode as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IDataFilterVtbl), "::", stringify!(DoEncode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).DoDecode as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IDataFilterVtbl), "::", stringify!(DoDecode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SetEncodingLevel as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::<_tagPROTOCOLFILTERDATA>())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_tagPROTOCOLFILTERDATA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagPROTOCOLFILTERDATA>())).pProtocolSink as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_tagPROTOCOLFILTERDATA), "::", stringify!(pProtocolSink) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagPROTOCOLFILTERDATA>())).pProtocol as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_tagPROTOCOLFILTERDATA), "::", stringify!(pProtocol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagPROTOCOLFILTERDATA>())).pUnk as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_tagPROTOCOLFILTERDATA), "::", stringify!(pUnk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagPROTOCOLFILTERDATA>())).dwFilterFlags as *const _ 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() { 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::null::<_tagDATAINFO>())).ulTotalSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_tagDATAINFO), "::", stringify!(ulTotalSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagDATAINFO>())).ulavrPacketSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_tagDATAINFO), "::", stringify!(ulavrPacketSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagDATAINFO>())).ulConnectSpeed as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_tagDATAINFO), "::", stringify!(ulConnectSpeed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagDATAINFO>())).ulProcessorSpeed as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IEncodingFilterFactoryVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IEncodingFilterFactoryVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IEncodingFilterFactoryVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FindBestFilter as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IEncodingFilterFactoryVtbl), "::", stringify!(FindBestFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetDefaultFilter as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::<_tagHIT_LOGGING_INFO>())).dwStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_tagHIT_LOGGING_INFO), "::", stringify!(dwStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagHIT_LOGGING_INFO>())).lpszLoggedUrlName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_tagHIT_LOGGING_INFO), "::", stringify!(lpszLoggedUrlName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagHIT_LOGGING_INFO>())).StartTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_tagHIT_LOGGING_INFO), "::", stringify!(StartTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagHIT_LOGGING_INFO>())).EndTime as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_tagHIT_LOGGING_INFO), "::", stringify!(EndTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagHIT_LOGGING_INFO>())).lpszExtendedInfo as *const _ 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() { 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::null::())).clsid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(CONFIRMSAFETY), "::", stringify!(clsid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pUnk as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(CONFIRMSAFETY), "::", stringify!(pUnk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IWrappedProtocolVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IWrappedProtocolVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IWrappedProtocolVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetWrapperCode as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IGetBindHandleVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IGetBindHandleVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IGetBindHandleVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetBindHandle as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::<_tagPROTOCOL_ARGUMENT>())).szMethod as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_tagPROTOCOL_ARGUMENT), "::", stringify!(szMethod) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_tagPROTOCOL_ARGUMENT>())).szTargetUrl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IBindCallbackRedirectVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IBindCallbackRedirectVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IBindCallbackRedirectVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Redirect as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IBindHttpSecurityVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IBindHttpSecurityVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IBindHttpSecurityVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetIgnoreCertMask as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).dwType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSERIALIZEDPROPERTYVALUE), "::", stringify!(dwType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgb as *const _ 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() { 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::null::())).cDig as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(NUMPARSE), "::", stringify!(cDig) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwInFlags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(NUMPARSE), "::", stringify!(dwInFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwOutFlags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(NUMPARSE), "::", stringify!(dwOutFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cchUsed as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(NUMPARSE), "::", stringify!(cchUsed) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nBaseShift as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(NUMPARSE), "::", stringify!(nBaseShift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nPwr10 as *const _ 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() { 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::null::())).st as *const _ as usize }, 0usize, concat!("Offset of field: ", stringify!(UDATE), "::", stringify!(st)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wDayOfYear as *const _ 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() { 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::null::())).szName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPARAMDATA), "::", stringify!(szName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vt as *const _ 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() { 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::null::())).szName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagMETHODDATA), "::", stringify!(szName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ppdata as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagMETHODDATA), "::", stringify!(ppdata) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dispid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagMETHODDATA), "::", stringify!(dispid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iMeth as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagMETHODDATA), "::", stringify!(iMeth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cc as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagMETHODDATA), "::", stringify!(cc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cArgs as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagMETHODDATA), "::", stringify!(cArgs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wFlags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagMETHODDATA), "::", stringify!(wFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vtReturn as *const _ 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() { 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::null::())).pmethdata as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagINTERFACEDATA), "::", stringify!(pmethdata) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cMembers as *const _ 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() { 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::null::<_OLESTREAMVTBL>())).Get as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OLESTREAMVTBL), "::", stringify!(Get) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OLESTREAMVTBL>())).Put as *const _ 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() { 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::null::<_OLESTREAM>())).lpstbl as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrFilter as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(lpstrFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrCustomFilter as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(lpstrCustomFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxCustFilter as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(nMaxCustFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFilterIndex as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(nFilterIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrFile as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(lpstrFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxFile as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(nMaxFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrFileTitle as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(lpstrFileTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxFileTitle as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(nMaxFileTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrInitialDir as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(lpstrInitialDir) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrTitle as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(lpstrTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFileOffset as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(nFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFileExtension as *const _ as usize }, 102usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(nFileExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrDefExt as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(lpstrDefExt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lCustData as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(lCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnHook as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4A), "::", stringify!(lpfnHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpTemplateName as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrFilter as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(lpstrFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrCustomFilter as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(lpstrCustomFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxCustFilter as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(nMaxCustFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFilterIndex as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(nFilterIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrFile as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(lpstrFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxFile as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(nMaxFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrFileTitle as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(lpstrFileTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxFileTitle as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(nMaxFileTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrInitialDir as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(lpstrInitialDir) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrTitle as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(lpstrTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFileOffset as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(nFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFileExtension as *const _ as usize }, 102usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(nFileExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrDefExt as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(lpstrDefExt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lCustData as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(lCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnHook as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(tagOFN_NT4W), "::", stringify!(lpfnHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpTemplateName as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrFilter as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(lpstrFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrCustomFilter as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(lpstrCustomFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxCustFilter as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(nMaxCustFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFilterIndex as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(nFilterIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrFile as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(lpstrFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxFile as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(nMaxFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrFileTitle as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(lpstrFileTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxFileTitle as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(nMaxFileTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrInitialDir as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(lpstrInitialDir) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrTitle as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(lpstrTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFileOffset as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(nFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFileExtension as *const _ as usize }, 102usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(nFileExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrDefExt as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(lpstrDefExt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lCustData as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(lCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnHook as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(lpfnHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpTemplateName as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(lpTemplateName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pvReserved as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(pvReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReserved as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(tagOFNA), "::", stringify!(dwReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FlagsEx as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrFilter as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(lpstrFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrCustomFilter as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(lpstrCustomFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxCustFilter as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(nMaxCustFilter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFilterIndex as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(nFilterIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrFile as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(lpstrFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxFile as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(nMaxFile) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrFileTitle as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(lpstrFileTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxFileTitle as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(nMaxFileTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrInitialDir as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(lpstrInitialDir) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrTitle as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(lpstrTitle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFileOffset as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(nFileOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFileExtension as *const _ as usize }, 102usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(nFileExtension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrDefExt as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(lpstrDefExt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lCustData as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(lCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnHook as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(lpfnHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpTemplateName as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(lpTemplateName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pvReserved as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(pvReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwReserved as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(tagOFNW), "::", stringify!(dwReserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).FlagsEx as *const _ 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() { 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::null::<_OFNOTIFYA>())).hdr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OFNOTIFYA), "::", stringify!(hdr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OFNOTIFYA>())).lpOFN as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_OFNOTIFYA), "::", stringify!(lpOFN) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OFNOTIFYA>())).pszFile as *const _ 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() { 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::null::<_OFNOTIFYW>())).hdr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OFNOTIFYW), "::", stringify!(hdr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OFNOTIFYW>())).lpOFN as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_OFNOTIFYW), "::", stringify!(lpOFN) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OFNOTIFYW>())).pszFile as *const _ 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() { 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::null::<_OFNOTIFYEXA>())).hdr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OFNOTIFYEXA), "::", stringify!(hdr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OFNOTIFYEXA>())).lpOFN as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_OFNOTIFYEXA), "::", stringify!(lpOFN) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OFNOTIFYEXA>())).psf as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_OFNOTIFYEXA), "::", stringify!(psf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OFNOTIFYEXA>())).pidl as *const _ 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() { 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::null::<_OFNOTIFYEXW>())).hdr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_OFNOTIFYEXW), "::", stringify!(hdr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OFNOTIFYEXW>())).lpOFN as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_OFNOTIFYEXW), "::", stringify!(lpOFN) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OFNOTIFYEXW>())).psf as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_OFNOTIFYEXW), "::", stringify!(psf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_OFNOTIFYEXW>())).pidl as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORA), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORA), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORA), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgbResult as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORA), "::", stringify!(rgbResult) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpCustColors as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORA), "::", stringify!(lpCustColors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORA), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lCustData as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORA), "::", stringify!(lCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnHook as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORA), "::", stringify!(lpfnHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpTemplateName as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORW), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORW), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORW), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgbResult as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORW), "::", stringify!(rgbResult) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpCustColors as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORW), "::", stringify!(lpCustColors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORW), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lCustData as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORW), "::", stringify!(lCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnHook as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagCHOOSECOLORW), "::", stringify!(lpfnHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpTemplateName as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEA), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEA), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEA), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEA), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrFindWhat as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEA), "::", stringify!(lpstrFindWhat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrReplaceWith as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEA), "::", stringify!(lpstrReplaceWith) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wFindWhatLen as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEA), "::", stringify!(wFindWhatLen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReplaceWithLen as *const _ as usize }, 50usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEA), "::", stringify!(wReplaceWithLen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lCustData as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEA), "::", stringify!(lCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnHook as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEA), "::", stringify!(lpfnHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpTemplateName as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEW), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEW), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEW), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEW), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrFindWhat as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEW), "::", stringify!(lpstrFindWhat) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpstrReplaceWith as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEW), "::", stringify!(lpstrReplaceWith) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wFindWhatLen as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEW), "::", stringify!(wFindWhatLen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wReplaceWithLen as *const _ as usize }, 50usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEW), "::", stringify!(wReplaceWithLen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lCustData as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEW), "::", stringify!(lCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnHook as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagFINDREPLACEW), "::", stringify!(lpfnHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpTemplateName as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTA), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTA), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDC as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTA), "::", stringify!(hDC) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpLogFont as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTA), "::", stringify!(lpLogFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iPointSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTA), "::", stringify!(iPointSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTA), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgbColors as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTA), "::", stringify!(rgbColors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lCustData as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTA), "::", stringify!(lCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnHook as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTA), "::", stringify!(lpfnHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpTemplateName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTA), "::", stringify!(lpTemplateName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTA), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszStyle as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTA), "::", stringify!(lpszStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFontType as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTA), "::", stringify!(nFontType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).___MISSING_ALIGNMENT__ as *const _ as usize }, 90usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTA), "::", stringify!(___MISSING_ALIGNMENT__) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nSizeMin as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTA), "::", stringify!(nSizeMin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nSizeMax as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTW), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTW), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDC as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTW), "::", stringify!(hDC) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpLogFont as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTW), "::", stringify!(lpLogFont) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iPointSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTW), "::", stringify!(iPointSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTW), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rgbColors as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTW), "::", stringify!(rgbColors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lCustData as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTW), "::", stringify!(lCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnHook as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTW), "::", stringify!(lpfnHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpTemplateName as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTW), "::", stringify!(lpTemplateName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTW), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpszStyle as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTW), "::", stringify!(lpszStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFontType as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTW), "::", stringify!(nFontType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).___MISSING_ALIGNMENT__ as *const _ as usize }, 90usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTW), "::", stringify!(___MISSING_ALIGNMENT__) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nSizeMin as *const _ as usize }, 92usize, concat!( "Offset of field: ", stringify!(tagCHOOSEFONTW), "::", stringify!(nSizeMin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nSizeMax as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDevMode as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(hDevMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDevNames as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(hDevNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDC as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(hDC) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFromPage as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(nFromPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nToPage as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(nToPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMinPage as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(nMinPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxPage as *const _ as usize }, 50usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(nMaxPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nCopies as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(nCopies) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lCustData as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(lCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnPrintHook as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(lpfnPrintHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnSetupHook as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(lpfnSetupHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpPrintTemplateName as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(lpPrintTemplateName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpSetupTemplateName as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(lpSetupTemplateName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hPrintTemplate as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagPDA), "::", stringify!(hPrintTemplate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hSetupTemplate as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDevMode as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(hDevMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDevNames as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(hDevNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDC as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(hDC) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nFromPage as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(nFromPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nToPage as *const _ as usize }, 46usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(nToPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMinPage as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(nMinPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxPage as *const _ as usize }, 50usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(nMaxPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nCopies as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(nCopies) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lCustData as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(lCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnPrintHook as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(lpfnPrintHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnSetupHook as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(lpfnSetupHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpPrintTemplateName as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(lpPrintTemplateName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpSetupTemplateName as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(lpSetupTemplateName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hPrintTemplate as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagPDW), "::", stringify!(hPrintTemplate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hSetupTemplate as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IPrintDialogCallbackVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IPrintDialogCallbackVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IPrintDialogCallbackVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).InitDone as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IPrintDialogCallbackVtbl), "::", stringify!(InitDone) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).SelectionChange as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IPrintDialogCallbackVtbl), "::", stringify!(SelectionChange) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).HandleMessage as *const _ 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() { 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::null::())).lpVtbl as *const _ 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() { 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::null::())).QueryInterface as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(IPrintDialogServicesVtbl), "::", stringify!(QueryInterface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).AddRef as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(IPrintDialogServicesVtbl), "::", stringify!(AddRef) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Release as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(IPrintDialogServicesVtbl), "::", stringify!(Release) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetCurrentDevMode as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(IPrintDialogServicesVtbl), "::", stringify!(GetCurrentDevMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetCurrentPrinterName as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(IPrintDialogServicesVtbl), "::", stringify!(GetCurrentPrinterName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).GetCurrentPortName as *const _ 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() { 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::null::())).nFromPage as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPRINTPAGERANGE), "::", stringify!(nFromPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nToPage as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDevMode as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(hDevMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDevNames as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(hDevNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDC as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(hDC) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags2 as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(Flags2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ExclusionFlags as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(ExclusionFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nPageRanges as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(nPageRanges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxPageRanges as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(nMaxPageRanges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpPageRanges as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(lpPageRanges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMinPage as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(nMinPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxPage as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(nMaxPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nCopies as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(nCopies) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpPrintTemplateName as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(lpPrintTemplateName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpCallback as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(lpCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nPropertyPages as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(nPropertyPages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lphPropertyPages as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(lphPropertyPages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nStartPage as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(tagPDEXA), "::", stringify!(nStartPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwResultAction as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDevMode as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(hDevMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDevNames as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(hDevNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDC as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(hDC) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags2 as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(Flags2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ExclusionFlags as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(ExclusionFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nPageRanges as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(nPageRanges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxPageRanges as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(nMaxPageRanges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpPageRanges as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(lpPageRanges) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMinPage as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(nMinPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nMaxPage as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(nMaxPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nCopies as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(nCopies) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpPrintTemplateName as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(lpPrintTemplateName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpCallback as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(lpCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nPropertyPages as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(nPropertyPages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lphPropertyPages as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(lphPropertyPages) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nStartPage as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(tagPDEXW), "::", stringify!(nStartPage) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwResultAction as *const _ 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() { 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::null::())).wDriverOffset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagDEVNAMES), "::", stringify!(wDriverOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wDeviceOffset as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagDEVNAMES), "::", stringify!(wDeviceOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wOutputOffset as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagDEVNAMES), "::", stringify!(wOutputOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wDefault as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPSDA), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagPSDA), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDevMode as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagPSDA), "::", stringify!(hDevMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDevNames as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagPSDA), "::", stringify!(hDevNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagPSDA), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptPaperSize as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagPSDA), "::", stringify!(ptPaperSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rtMinMargin as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagPSDA), "::", stringify!(rtMinMargin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rtMargin as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagPSDA), "::", stringify!(rtMargin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagPSDA), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lCustData as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagPSDA), "::", stringify!(lCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnPageSetupHook as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagPSDA), "::", stringify!(lpfnPageSetupHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnPagePaintHook as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagPSDA), "::", stringify!(lpfnPagePaintHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpPageSetupTemplateName as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(tagPSDA), "::", stringify!(lpPageSetupTemplateName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hPageSetupTemplate as *const _ 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() { 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::null::())).lStructSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagPSDW), "::", stringify!(lStructSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hwndOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagPSDW), "::", stringify!(hwndOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDevMode as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagPSDW), "::", stringify!(hDevMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hDevNames as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagPSDW), "::", stringify!(hDevNames) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).Flags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagPSDW), "::", stringify!(Flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptPaperSize as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagPSDW), "::", stringify!(ptPaperSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rtMinMargin as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(tagPSDW), "::", stringify!(rtMinMargin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rtMargin as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(tagPSDW), "::", stringify!(rtMargin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hInstance as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(tagPSDW), "::", stringify!(hInstance) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lCustData as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(tagPSDW), "::", stringify!(lCustData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnPageSetupHook as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(tagPSDW), "::", stringify!(lpfnPageSetupHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpfnPagePaintHook as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(tagPSDW), "::", stringify!(lpfnPagePaintHook) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpPageSetupTemplateName as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(tagPSDW), "::", stringify!(lpPageSetupTemplateName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hPageSetupTemplate as *const _ 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) -> size_t; } 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() { 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::null::())).Data as *const _ 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, _bindgen_union_align: [u32; 2usize], } #[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() { 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::null::< _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1, >())) .DataOffset as *const _ 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::null::< _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1, >())) .Data as *const _ 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() { 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::null::<_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1>())) .CustomStateId as *const _ 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::null::<_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1>())) .s as *const _ 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() { 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::null::<_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM>())).u as *const _ 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() { 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::null::<_SERVICE_DESCRIPTIONA>())).lpDescription as *const _ 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() { 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::null::<_SERVICE_DESCRIPTIONW>())).lpDescription as *const _ 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() { 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::null::<_SC_ACTION>())).Type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SC_ACTION), "::", stringify!(Type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SC_ACTION>())).Delay as *const _ 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() { 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::null::<_SERVICE_FAILURE_ACTIONSA>())).dwResetPeriod as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_FAILURE_ACTIONSA), "::", stringify!(dwResetPeriod) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_FAILURE_ACTIONSA>())).lpRebootMsg as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SERVICE_FAILURE_ACTIONSA), "::", stringify!(lpRebootMsg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_FAILURE_ACTIONSA>())).lpCommand as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SERVICE_FAILURE_ACTIONSA), "::", stringify!(lpCommand) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_FAILURE_ACTIONSA>())).cActions as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SERVICE_FAILURE_ACTIONSA), "::", stringify!(cActions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_FAILURE_ACTIONSA>())).lpsaActions as *const _ 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() { 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::null::<_SERVICE_FAILURE_ACTIONSW>())).dwResetPeriod as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_FAILURE_ACTIONSW), "::", stringify!(dwResetPeriod) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_FAILURE_ACTIONSW>())).lpRebootMsg as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SERVICE_FAILURE_ACTIONSW), "::", stringify!(lpRebootMsg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_FAILURE_ACTIONSW>())).lpCommand as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SERVICE_FAILURE_ACTIONSW), "::", stringify!(lpCommand) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_FAILURE_ACTIONSW>())).cActions as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SERVICE_FAILURE_ACTIONSW), "::", stringify!(cActions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_FAILURE_ACTIONSW>())).lpsaActions as *const _ 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() { 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::null::<_SERVICE_DELAYED_AUTO_START_INFO>())).fDelayedAutostart as *const _ 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() { 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::null::<_SERVICE_FAILURE_ACTIONS_FLAG>())) .fFailureActionsOnNonCrashFailures as *const _ 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() { 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::null::<_SERVICE_SID_INFO>())).dwServiceSidType as *const _ 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() { 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::null::<_SERVICE_REQUIRED_PRIVILEGES_INFOA>())).pmszRequiredPrivileges as *const _ 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() { 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::null::<_SERVICE_REQUIRED_PRIVILEGES_INFOW>())).pmszRequiredPrivileges as *const _ 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() { 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::null::<_SERVICE_PRESHUTDOWN_INFO>())).dwPreshutdownTimeout as *const _ 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() { 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::null::<_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM>())).dwDataType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM), "::", stringify!(dwDataType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM>())).cbData as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM), "::", stringify!(cbData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM>())).pData as *const _ 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() { 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::null::<_SERVICE_TRIGGER>())).dwTriggerType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_TRIGGER), "::", stringify!(dwTriggerType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_TRIGGER>())).dwAction as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SERVICE_TRIGGER), "::", stringify!(dwAction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_TRIGGER>())).pTriggerSubtype as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SERVICE_TRIGGER), "::", stringify!(pTriggerSubtype) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_TRIGGER>())).cDataItems as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SERVICE_TRIGGER), "::", stringify!(cDataItems) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_TRIGGER>())).pDataItems as *const _ 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() { 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::null::<_SERVICE_TRIGGER_INFO>())).cTriggers as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_TRIGGER_INFO), "::", stringify!(cTriggers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_TRIGGER_INFO>())).pTriggers as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SERVICE_TRIGGER_INFO), "::", stringify!(pTriggers) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_TRIGGER_INFO>())).pReserved as *const _ 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() { 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::null::<_SERVICE_PREFERRED_NODE_INFO>())).usPreferredNode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_PREFERRED_NODE_INFO), "::", stringify!(usPreferredNode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_PREFERRED_NODE_INFO>())).fDelete as *const _ 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() { 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::null::<_SERVICE_TIMECHANGE_INFO>())).liNewTime as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_TIMECHANGE_INFO), "::", stringify!(liNewTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_TIMECHANGE_INFO>())).liOldTime as *const _ 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() { 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::null::<_SERVICE_LAUNCH_PROTECTED_INFO>())).dwLaunchProtected as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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() { 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::null::<_SERVICE_STATUS>())).dwServiceType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_STATUS), "::", stringify!(dwServiceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_STATUS>())).dwCurrentState as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SERVICE_STATUS), "::", stringify!(dwCurrentState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_STATUS>())).dwControlsAccepted as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SERVICE_STATUS), "::", stringify!(dwControlsAccepted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_STATUS>())).dwWin32ExitCode as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SERVICE_STATUS), "::", stringify!(dwWin32ExitCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_STATUS>())).dwServiceSpecificExitCode as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SERVICE_STATUS), "::", stringify!(dwServiceSpecificExitCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_STATUS>())).dwCheckPoint as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_SERVICE_STATUS), "::", stringify!(dwCheckPoint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_STATUS>())).dwWaitHint as *const _ 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() { 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::null::<_SERVICE_STATUS_PROCESS>())).dwServiceType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_STATUS_PROCESS), "::", stringify!(dwServiceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_STATUS_PROCESS>())).dwCurrentState as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_SERVICE_STATUS_PROCESS), "::", stringify!(dwCurrentState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_STATUS_PROCESS>())).dwControlsAccepted as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SERVICE_STATUS_PROCESS), "::", stringify!(dwControlsAccepted) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_STATUS_PROCESS>())).dwWin32ExitCode as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_SERVICE_STATUS_PROCESS), "::", stringify!(dwWin32ExitCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_STATUS_PROCESS>())).dwServiceSpecificExitCode as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SERVICE_STATUS_PROCESS), "::", stringify!(dwServiceSpecificExitCode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_STATUS_PROCESS>())).dwCheckPoint as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_SERVICE_STATUS_PROCESS), "::", stringify!(dwCheckPoint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_STATUS_PROCESS>())).dwWaitHint as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SERVICE_STATUS_PROCESS), "::", stringify!(dwWaitHint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_STATUS_PROCESS>())).dwProcessId as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_SERVICE_STATUS_PROCESS), "::", stringify!(dwProcessId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_STATUS_PROCESS>())).dwServiceFlags as *const _ 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() { 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::null::<_ENUM_SERVICE_STATUSA>())).lpServiceName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENUM_SERVICE_STATUSA), "::", stringify!(lpServiceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENUM_SERVICE_STATUSA>())).lpDisplayName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ENUM_SERVICE_STATUSA), "::", stringify!(lpDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENUM_SERVICE_STATUSA>())).ServiceStatus as *const _ 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() { 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::null::<_ENUM_SERVICE_STATUSW>())).lpServiceName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENUM_SERVICE_STATUSW), "::", stringify!(lpServiceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENUM_SERVICE_STATUSW>())).lpDisplayName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ENUM_SERVICE_STATUSW), "::", stringify!(lpDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENUM_SERVICE_STATUSW>())).ServiceStatus as *const _ 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() { 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::null::<_ENUM_SERVICE_STATUS_PROCESSA>())).lpServiceName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENUM_SERVICE_STATUS_PROCESSA), "::", stringify!(lpServiceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENUM_SERVICE_STATUS_PROCESSA>())).lpDisplayName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ENUM_SERVICE_STATUS_PROCESSA), "::", stringify!(lpDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENUM_SERVICE_STATUS_PROCESSA>())).ServiceStatusProcess as *const _ 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() { 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::null::<_ENUM_SERVICE_STATUS_PROCESSW>())).lpServiceName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ENUM_SERVICE_STATUS_PROCESSW), "::", stringify!(lpServiceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENUM_SERVICE_STATUS_PROCESSW>())).lpDisplayName as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_ENUM_SERVICE_STATUS_PROCESSW), "::", stringify!(lpDisplayName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_ENUM_SERVICE_STATUS_PROCESSW>())).ServiceStatusProcess as *const _ 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() { 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::null::<_QUERY_SERVICE_LOCK_STATUSA>())).fIsLocked as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_LOCK_STATUSA), "::", stringify!(fIsLocked) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_LOCK_STATUSA>())).lpLockOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_LOCK_STATUSA), "::", stringify!(lpLockOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_LOCK_STATUSA>())).dwLockDuration as *const _ 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() { 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::null::<_QUERY_SERVICE_LOCK_STATUSW>())).fIsLocked as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_LOCK_STATUSW), "::", stringify!(fIsLocked) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_LOCK_STATUSW>())).lpLockOwner as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_LOCK_STATUSW), "::", stringify!(lpLockOwner) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_LOCK_STATUSW>())).dwLockDuration as *const _ 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() { 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::null::<_QUERY_SERVICE_CONFIGA>())).dwServiceType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGA), "::", stringify!(dwServiceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGA>())).dwStartType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGA), "::", stringify!(dwStartType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGA>())).dwErrorControl as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGA), "::", stringify!(dwErrorControl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGA>())).lpBinaryPathName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGA), "::", stringify!(lpBinaryPathName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGA>())).lpLoadOrderGroup as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGA), "::", stringify!(lpLoadOrderGroup) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGA>())).dwTagId as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGA), "::", stringify!(dwTagId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGA>())).lpDependencies as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGA), "::", stringify!(lpDependencies) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGA>())).lpServiceStartName as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGA), "::", stringify!(lpServiceStartName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGA>())).lpDisplayName as *const _ 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() { 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::null::<_QUERY_SERVICE_CONFIGW>())).dwServiceType as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGW), "::", stringify!(dwServiceType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGW>())).dwStartType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGW), "::", stringify!(dwStartType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGW>())).dwErrorControl as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGW), "::", stringify!(dwErrorControl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGW>())).lpBinaryPathName as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGW), "::", stringify!(lpBinaryPathName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGW>())).lpLoadOrderGroup as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGW), "::", stringify!(lpLoadOrderGroup) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGW>())).dwTagId as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGW), "::", stringify!(dwTagId) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGW>())).lpDependencies as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGW), "::", stringify!(lpDependencies) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGW>())).lpServiceStartName as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_QUERY_SERVICE_CONFIGW), "::", stringify!(lpServiceStartName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_QUERY_SERVICE_CONFIGW>())).lpDisplayName as *const _ 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() { 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::null::<_SERVICE_TABLE_ENTRYA>())).lpServiceName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_TABLE_ENTRYA), "::", stringify!(lpServiceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_TABLE_ENTRYA>())).lpServiceProc as *const _ 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() { 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::null::<_SERVICE_TABLE_ENTRYW>())).lpServiceName as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_TABLE_ENTRYW), "::", stringify!(lpServiceName) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_TABLE_ENTRYW>())).lpServiceProc as *const _ 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() { 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::null::<_SERVICE_NOTIFY_1>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_1), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_1>())).pfnNotifyCallback as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_1), "::", stringify!(pfnNotifyCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_1>())).pContext as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_1), "::", stringify!(pContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_1>())).dwNotificationStatus as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_1), "::", stringify!(dwNotificationStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_1>())).ServiceStatus as *const _ 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() { 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::null::<_SERVICE_NOTIFY_2A>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_2A), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_2A>())).pfnNotifyCallback as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_2A), "::", stringify!(pfnNotifyCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_2A>())).pContext as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_2A), "::", stringify!(pContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_2A>())).dwNotificationStatus as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_2A), "::", stringify!(dwNotificationStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_2A>())).ServiceStatus as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_2A), "::", stringify!(ServiceStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_2A>())).dwNotificationTriggered as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_2A), "::", stringify!(dwNotificationTriggered) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_2A>())).pszServiceNames as *const _ 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() { 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::null::<_SERVICE_NOTIFY_2W>())).dwVersion as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_2W), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_2W>())).pfnNotifyCallback as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_2W), "::", stringify!(pfnNotifyCallback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_2W>())).pContext as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_2W), "::", stringify!(pContext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_2W>())).dwNotificationStatus as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_2W), "::", stringify!(dwNotificationStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_2W>())).ServiceStatus as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_2W), "::", stringify!(ServiceStatus) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_2W>())).dwNotificationTriggered as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_SERVICE_NOTIFY_2W), "::", stringify!(dwNotificationTriggered) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_NOTIFY_2W>())).pszServiceNames as *const _ 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() { 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::null::<_SERVICE_CONTROL_STATUS_REASON_PARAMSA>())).dwReason as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSA), "::", stringify!(dwReason) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_CONTROL_STATUS_REASON_PARAMSA>())).pszComment as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSA), "::", stringify!(pszComment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_CONTROL_STATUS_REASON_PARAMSA>())).ServiceStatus as *const _ 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() { 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::null::<_SERVICE_CONTROL_STATUS_REASON_PARAMSW>())).dwReason as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSW), "::", stringify!(dwReason) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_CONTROL_STATUS_REASON_PARAMSW>())).pszComment as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSW), "::", stringify!(pszComment) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_SERVICE_CONTROL_STATUS_REASON_PARAMSW>())).ServiceStatus as *const _ 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() { 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::null::<_SERVICE_START_REASON>())).dwReason as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_SERVICE_START_REASON), "::", stringify!(dwReason) ) ); } pub type SERVICE_START_REASON = _SERVICE_START_REASON; pub type PSERVICE_START_REASON = *mut _SERVICE_START_REASON; extern "C" { pub fn ChangeServiceConfigA( hService: SC_HANDLE, dwServiceType: DWORD, dwStartType: DWORD, dwErrorControl: DWORD, lpBinaryPathName: LPCSTR, lpLoadOrderGroup: LPCSTR, lpdwTagId: LPDWORD, lpDependencies: LPCSTR, lpServiceStartName: LPCSTR, lpPassword: LPCSTR, lpDisplayName: LPCSTR, ) -> BOOL; } extern "C" { pub fn ChangeServiceConfigW( hService: SC_HANDLE, dwServiceType: DWORD, dwStartType: DWORD, dwErrorControl: DWORD, lpBinaryPathName: LPCWSTR, lpLoadOrderGroup: LPCWSTR, lpdwTagId: LPDWORD, lpDependencies: LPCWSTR, lpServiceStartName: LPCWSTR, lpPassword: LPCWSTR, lpDisplayName: LPCWSTR, ) -> BOOL; } extern "C" { pub fn ChangeServiceConfig2A(hService: SC_HANDLE, dwInfoLevel: DWORD, lpInfo: LPVOID) -> BOOL; } extern "C" { pub fn ChangeServiceConfig2W(hService: SC_HANDLE, dwInfoLevel: DWORD, lpInfo: LPVOID) -> BOOL; } extern "C" { pub fn CloseServiceHandle(hSCObject: SC_HANDLE) -> BOOL; } extern "C" { pub fn ControlService( hService: SC_HANDLE, dwControl: DWORD, lpServiceStatus: LPSERVICE_STATUS, ) -> BOOL; } extern "C" { pub fn CreateServiceA( hSCManager: SC_HANDLE, lpServiceName: LPCSTR, lpDisplayName: LPCSTR, dwDesiredAccess: DWORD, dwServiceType: DWORD, dwStartType: DWORD, dwErrorControl: DWORD, lpBinaryPathName: LPCSTR, lpLoadOrderGroup: LPCSTR, lpdwTagId: LPDWORD, lpDependencies: LPCSTR, lpServiceStartName: LPCSTR, lpPassword: LPCSTR, ) -> SC_HANDLE; } extern "C" { pub fn CreateServiceW( hSCManager: SC_HANDLE, lpServiceName: LPCWSTR, lpDisplayName: LPCWSTR, dwDesiredAccess: DWORD, dwServiceType: DWORD, dwStartType: DWORD, dwErrorControl: DWORD, lpBinaryPathName: LPCWSTR, lpLoadOrderGroup: LPCWSTR, lpdwTagId: LPDWORD, lpDependencies: LPCWSTR, lpServiceStartName: LPCWSTR, lpPassword: LPCWSTR, ) -> SC_HANDLE; } extern "C" { pub fn DeleteService(hService: SC_HANDLE) -> BOOL; } extern "C" { pub fn EnumDependentServicesA( hService: SC_HANDLE, dwServiceState: DWORD, lpServices: LPENUM_SERVICE_STATUSA, cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, lpServicesReturned: LPDWORD, ) -> BOOL; } extern "C" { pub fn EnumDependentServicesW( hService: SC_HANDLE, dwServiceState: DWORD, lpServices: LPENUM_SERVICE_STATUSW, cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, lpServicesReturned: LPDWORD, ) -> BOOL; } extern "C" { pub fn EnumServicesStatusA( hSCManager: SC_HANDLE, dwServiceType: DWORD, dwServiceState: DWORD, lpServices: LPENUM_SERVICE_STATUSA, cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, lpServicesReturned: LPDWORD, lpResumeHandle: LPDWORD, ) -> BOOL; } extern "C" { pub fn EnumServicesStatusW( hSCManager: SC_HANDLE, dwServiceType: DWORD, dwServiceState: DWORD, lpServices: LPENUM_SERVICE_STATUSW, cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, lpServicesReturned: LPDWORD, lpResumeHandle: LPDWORD, ) -> BOOL; } extern "C" { pub fn EnumServicesStatusExA( hSCManager: SC_HANDLE, InfoLevel: SC_ENUM_TYPE, dwServiceType: DWORD, dwServiceState: DWORD, lpServices: LPBYTE, cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, lpServicesReturned: LPDWORD, lpResumeHandle: LPDWORD, pszGroupName: LPCSTR, ) -> BOOL; } extern "C" { pub fn EnumServicesStatusExW( hSCManager: SC_HANDLE, InfoLevel: SC_ENUM_TYPE, dwServiceType: DWORD, dwServiceState: DWORD, lpServices: LPBYTE, cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, lpServicesReturned: LPDWORD, lpResumeHandle: LPDWORD, pszGroupName: LPCWSTR, ) -> BOOL; } extern "C" { pub fn GetServiceKeyNameA( hSCManager: SC_HANDLE, lpDisplayName: LPCSTR, lpServiceName: LPSTR, lpcchBuffer: LPDWORD, ) -> BOOL; } extern "C" { pub fn GetServiceKeyNameW( hSCManager: SC_HANDLE, lpDisplayName: LPCWSTR, lpServiceName: LPWSTR, lpcchBuffer: LPDWORD, ) -> BOOL; } extern "C" { pub fn GetServiceDisplayNameA( hSCManager: SC_HANDLE, lpServiceName: LPCSTR, lpDisplayName: LPSTR, lpcchBuffer: LPDWORD, ) -> BOOL; } extern "C" { pub fn GetServiceDisplayNameW( hSCManager: SC_HANDLE, lpServiceName: LPCWSTR, lpDisplayName: LPWSTR, lpcchBuffer: LPDWORD, ) -> BOOL; } extern "C" { pub fn LockServiceDatabase(hSCManager: SC_HANDLE) -> SC_LOCK; } extern "C" { pub fn NotifyBootConfigStatus(BootAcceptable: BOOL) -> BOOL; } extern "C" { pub fn OpenSCManagerA( lpMachineName: LPCSTR, lpDatabaseName: LPCSTR, dwDesiredAccess: DWORD, ) -> SC_HANDLE; } extern "C" { pub fn OpenSCManagerW( lpMachineName: LPCWSTR, lpDatabaseName: LPCWSTR, dwDesiredAccess: DWORD, ) -> SC_HANDLE; } extern "C" { pub fn OpenServiceA( hSCManager: SC_HANDLE, lpServiceName: LPCSTR, dwDesiredAccess: DWORD, ) -> SC_HANDLE; } extern "C" { pub fn OpenServiceW( hSCManager: SC_HANDLE, lpServiceName: LPCWSTR, dwDesiredAccess: DWORD, ) -> SC_HANDLE; } extern "C" { pub fn QueryServiceConfigA( hService: SC_HANDLE, lpServiceConfig: LPQUERY_SERVICE_CONFIGA, cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, ) -> BOOL; } extern "C" { pub fn QueryServiceConfigW( hService: SC_HANDLE, lpServiceConfig: LPQUERY_SERVICE_CONFIGW, cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, ) -> BOOL; } extern "C" { pub fn QueryServiceConfig2A( hService: SC_HANDLE, dwInfoLevel: DWORD, lpBuffer: LPBYTE, cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, ) -> BOOL; } extern "C" { pub fn QueryServiceConfig2W( hService: SC_HANDLE, dwInfoLevel: DWORD, lpBuffer: LPBYTE, cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, ) -> BOOL; } extern "C" { pub fn QueryServiceLockStatusA( hSCManager: SC_HANDLE, lpLockStatus: LPQUERY_SERVICE_LOCK_STATUSA, cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, ) -> BOOL; } extern "C" { pub fn QueryServiceLockStatusW( hSCManager: SC_HANDLE, lpLockStatus: LPQUERY_SERVICE_LOCK_STATUSW, cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, ) -> BOOL; } extern "C" { pub fn QueryServiceObjectSecurity( hService: SC_HANDLE, dwSecurityInformation: SECURITY_INFORMATION, lpSecurityDescriptor: PSECURITY_DESCRIPTOR, cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, ) -> BOOL; } extern "C" { pub fn QueryServiceStatus(hService: SC_HANDLE, lpServiceStatus: LPSERVICE_STATUS) -> BOOL; } extern "C" { pub fn QueryServiceStatusEx( hService: SC_HANDLE, InfoLevel: SC_STATUS_TYPE, lpBuffer: LPBYTE, cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, ) -> BOOL; } extern "C" { pub fn RegisterServiceCtrlHandlerA( lpServiceName: LPCSTR, lpHandlerProc: LPHANDLER_FUNCTION, ) -> SERVICE_STATUS_HANDLE; } extern "C" { pub fn RegisterServiceCtrlHandlerW( lpServiceName: LPCWSTR, lpHandlerProc: LPHANDLER_FUNCTION, ) -> SERVICE_STATUS_HANDLE; } extern "C" { pub fn RegisterServiceCtrlHandlerExA( lpServiceName: LPCSTR, lpHandlerProc: LPHANDLER_FUNCTION_EX, lpContext: LPVOID, ) -> SERVICE_STATUS_HANDLE; } extern "C" { pub fn RegisterServiceCtrlHandlerExW( lpServiceName: LPCWSTR, lpHandlerProc: LPHANDLER_FUNCTION_EX, lpContext: LPVOID, ) -> SERVICE_STATUS_HANDLE; } extern "C" { pub fn SetServiceObjectSecurity( hService: SC_HANDLE, dwSecurityInformation: SECURITY_INFORMATION, lpSecurityDescriptor: PSECURITY_DESCRIPTOR, ) -> BOOL; } extern "C" { pub fn SetServiceStatus( hServiceStatus: SERVICE_STATUS_HANDLE, lpServiceStatus: LPSERVICE_STATUS, ) -> BOOL; } extern "C" { pub fn StartServiceCtrlDispatcherA(lpServiceStartTable: *const SERVICE_TABLE_ENTRYA) -> BOOL; } extern "C" { pub fn StartServiceCtrlDispatcherW(lpServiceStartTable: *const SERVICE_TABLE_ENTRYW) -> BOOL; } extern "C" { pub fn StartServiceA( hService: SC_HANDLE, dwNumServiceArgs: DWORD, lpServiceArgVectors: *mut LPCSTR, ) -> BOOL; } extern "C" { pub fn StartServiceW( hService: SC_HANDLE, dwNumServiceArgs: DWORD, lpServiceArgVectors: *mut LPCWSTR, ) -> BOOL; } extern "C" { pub fn UnlockServiceDatabase(ScLock: SC_LOCK) -> BOOL; } extern "C" { pub fn NotifyServiceStatusChangeA( hService: SC_HANDLE, dwNotifyMask: DWORD, pNotifyBuffer: PSERVICE_NOTIFYA, ) -> DWORD; } extern "C" { pub fn NotifyServiceStatusChangeW( hService: SC_HANDLE, dwNotifyMask: DWORD, pNotifyBuffer: PSERVICE_NOTIFYW, ) -> DWORD; } extern "C" { pub fn ControlServiceExA( hService: SC_HANDLE, dwControl: DWORD, dwInfoLevel: DWORD, pControlParams: PVOID, ) -> BOOL; } extern "C" { pub fn ControlServiceExW( hService: SC_HANDLE, dwControl: DWORD, dwInfoLevel: DWORD, pControlParams: PVOID, ) -> BOOL; } extern "C" { pub fn QueryServiceDynamicInformation( hServiceStatus: SERVICE_STATUS_HANDLE, dwInfoLevel: DWORD, ppDynamicInfo: *mut PVOID, ) -> BOOL; } pub const _SC_EVENT_TYPE_SC_EVENT_DATABASE_CHANGE: _SC_EVENT_TYPE = 0; pub const _SC_EVENT_TYPE_SC_EVENT_PROPERTY_CHANGE: _SC_EVENT_TYPE = 1; pub const _SC_EVENT_TYPE_SC_EVENT_STATUS_CHANGE: _SC_EVENT_TYPE = 2; pub type _SC_EVENT_TYPE = ::std::os::raw::c_int; pub use self::_SC_EVENT_TYPE as SC_EVENT_TYPE; pub type PSC_EVENT_TYPE = *mut _SC_EVENT_TYPE; pub type PSC_NOTIFICATION_CALLBACK = ::std::option::Option; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _SC_NOTIFICATION_REGISTRATION { _unused: [u8; 0], } pub type PSC_NOTIFICATION_REGISTRATION = *mut _SC_NOTIFICATION_REGISTRATION; extern "C" { pub fn SubscribeServiceChangeNotifications( hService: SC_HANDLE, eEventType: SC_EVENT_TYPE, pCallback: PSC_NOTIFICATION_CALLBACK, pCallbackContext: PVOID, pSubscription: *mut PSC_NOTIFICATION_REGISTRATION, ) -> DWORD; } extern "C" { pub fn UnsubscribeServiceChangeNotifications(pSubscription: PSC_NOTIFICATION_REGISTRATION); } extern "C" { pub fn WaitServiceState( hService: SC_HANDLE, dwNotify: DWORD, dwTimeout: DWORD, hCancelEvent: HANDLE, ) -> DWORD; } pub const SERVICE_REGISTRY_STATE_TYPE_ServiceRegistryStateParameters: SERVICE_REGISTRY_STATE_TYPE = 0; pub const SERVICE_REGISTRY_STATE_TYPE_ServiceRegistryStatePersistent: SERVICE_REGISTRY_STATE_TYPE = 1; pub const SERVICE_REGISTRY_STATE_TYPE_MaxServiceRegistryStateType: SERVICE_REGISTRY_STATE_TYPE = 2; pub type SERVICE_REGISTRY_STATE_TYPE = ::std::os::raw::c_int; extern "C" { pub fn GetServiceRegistryStateKey( ServiceStatusHandle: SERVICE_STATUS_HANDLE, StateType: SERVICE_REGISTRY_STATE_TYPE, AccessMask: DWORD, ServiceStateKey: *mut HKEY, ) -> DWORD; } pub const SERVICE_DIRECTORY_TYPE_ServiceDirectoryPersistentState: SERVICE_DIRECTORY_TYPE = 0; pub const SERVICE_DIRECTORY_TYPE_ServiceDirectoryTypeMax: SERVICE_DIRECTORY_TYPE = 1; pub type SERVICE_DIRECTORY_TYPE = ::std::os::raw::c_int; extern "C" { pub fn GetServiceDirectory( hServiceStatus: SERVICE_STATUS_HANDLE, eDirectoryType: SERVICE_DIRECTORY_TYPE, lpPathBuffer: PWCHAR, cchPathBufferLength: DWORD, lpcchRequiredBufferLength: *mut DWORD, ) -> DWORD; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _MODEMDEVCAPS { pub dwActualSize: DWORD, pub dwRequiredSize: DWORD, pub dwDevSpecificOffset: DWORD, pub dwDevSpecificSize: DWORD, pub dwModemProviderVersion: DWORD, pub dwModemManufacturerOffset: DWORD, pub dwModemManufacturerSize: DWORD, pub dwModemModelOffset: DWORD, pub dwModemModelSize: DWORD, pub dwModemVersionOffset: DWORD, pub dwModemVersionSize: DWORD, pub dwDialOptions: DWORD, pub dwCallSetupFailTimer: DWORD, pub dwInactivityTimeout: DWORD, pub dwSpeakerVolume: DWORD, pub dwSpeakerMode: DWORD, pub dwModemOptions: DWORD, pub dwMaxDTERate: DWORD, pub dwMaxDCERate: DWORD, pub abVariablePortion: [BYTE; 1usize], } #[test] fn bindgen_test_layout__MODEMDEVCAPS() { 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::null::<_MODEMDEVCAPS>())).dwActualSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwActualSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwRequiredSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwRequiredSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwDevSpecificOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwDevSpecificOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwDevSpecificSize as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwDevSpecificSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwModemProviderVersion as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwModemProviderVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwModemManufacturerOffset as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwModemManufacturerOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwModemManufacturerSize as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwModemManufacturerSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwModemModelOffset as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwModemModelOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwModemModelSize as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwModemModelSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwModemVersionOffset as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwModemVersionOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwModemVersionSize as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwModemVersionSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwDialOptions as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwDialOptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwCallSetupFailTimer as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwCallSetupFailTimer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwInactivityTimeout as *const _ as usize }, 52usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwInactivityTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwSpeakerVolume as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwSpeakerVolume) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwSpeakerMode as *const _ as usize }, 60usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwSpeakerMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwModemOptions as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwModemOptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwMaxDTERate as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwMaxDTERate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).dwMaxDCERate as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(_MODEMDEVCAPS), "::", stringify!(dwMaxDCERate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMDEVCAPS>())).abVariablePortion as *const _ 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() { 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::null::<_MODEMSETTINGS>())).dwActualSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_MODEMSETTINGS), "::", stringify!(dwActualSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMSETTINGS>())).dwRequiredSize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_MODEMSETTINGS), "::", stringify!(dwRequiredSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMSETTINGS>())).dwDevSpecificOffset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(_MODEMSETTINGS), "::", stringify!(dwDevSpecificOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMSETTINGS>())).dwDevSpecificSize as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(_MODEMSETTINGS), "::", stringify!(dwDevSpecificSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMSETTINGS>())).dwCallSetupFailTimer as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(_MODEMSETTINGS), "::", stringify!(dwCallSetupFailTimer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMSETTINGS>())).dwInactivityTimeout as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(_MODEMSETTINGS), "::", stringify!(dwInactivityTimeout) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMSETTINGS>())).dwSpeakerVolume as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(_MODEMSETTINGS), "::", stringify!(dwSpeakerVolume) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMSETTINGS>())).dwSpeakerMode as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(_MODEMSETTINGS), "::", stringify!(dwSpeakerMode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMSETTINGS>())).dwPreferredModemOptions as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(_MODEMSETTINGS), "::", stringify!(dwPreferredModemOptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMSETTINGS>())).dwNegotiatedModemOptions as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(_MODEMSETTINGS), "::", stringify!(dwNegotiatedModemOptions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMSETTINGS>())).dwNegotiatedDCERate as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(_MODEMSETTINGS), "::", stringify!(dwNegotiatedDCERate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_MODEMSETTINGS>())).abVariablePortion as *const _ 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__() { 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::null::())).unused as *const _ 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__() { 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::null::())).unused as *const _ 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() { 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::null::())).dwStyle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCOMPOSITIONFORM), "::", stringify!(dwStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptCurrentPos as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagCOMPOSITIONFORM), "::", stringify!(ptCurrentPos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcArea as *const _ 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() { 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::null::())).dwIndex as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCANDIDATEFORM), "::", stringify!(dwIndex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStyle as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagCANDIDATEFORM), "::", stringify!(dwStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptCurrentPos as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCANDIDATEFORM), "::", stringify!(ptCurrentPos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcArea as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCANDIDATEFORM), "::", stringify!(rcArea) ) ); } pub type CANDIDATEFORM = tagCANDIDATEFORM; pub type PCANDIDATEFORM = *mut tagCANDIDATEFORM; pub type NPCANDIDATEFORM = *mut tagCANDIDATEFORM; pub type LPCANDIDATEFORM = *mut tagCANDIDATEFORM; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct tagCANDIDATELIST { pub dwSize: DWORD, pub dwStyle: DWORD, pub dwCount: DWORD, pub dwSelection: DWORD, pub dwPageStart: DWORD, pub dwPageSize: DWORD, pub dwOffset: [DWORD; 1usize], } #[test] fn bindgen_test_layout_tagCANDIDATELIST() { assert_eq!( ::std::mem::size_of::(), 28usize, concat!("Size of: ", stringify!(tagCANDIDATELIST)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(tagCANDIDATELIST)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagCANDIDATELIST), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStyle as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagCANDIDATELIST), "::", stringify!(dwStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwCount as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagCANDIDATELIST), "::", stringify!(dwCount) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSelection as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagCANDIDATELIST), "::", stringify!(dwSelection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwPageStart as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagCANDIDATELIST), "::", stringify!(dwPageStart) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwPageSize as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagCANDIDATELIST), "::", stringify!(dwPageSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwOffset as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagCANDIDATELIST), "::", stringify!(dwOffset) ) ); } pub type CANDIDATELIST = tagCANDIDATELIST; pub type PCANDIDATELIST = *mut tagCANDIDATELIST; pub type NPCANDIDATELIST = *mut tagCANDIDATELIST; pub type LPCANDIDATELIST = *mut tagCANDIDATELIST; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct tagREGISTERWORDA { pub lpReading: LPSTR, pub lpWord: LPSTR, } #[test] fn bindgen_test_layout_tagREGISTERWORDA() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(tagREGISTERWORDA)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(tagREGISTERWORDA)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpReading as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagREGISTERWORDA), "::", stringify!(lpReading) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpWord as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagREGISTERWORDA), "::", stringify!(lpWord) ) ); } pub type REGISTERWORDA = tagREGISTERWORDA; pub type PREGISTERWORDA = *mut tagREGISTERWORDA; pub type NPREGISTERWORDA = *mut tagREGISTERWORDA; pub type LPREGISTERWORDA = *mut tagREGISTERWORDA; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct tagREGISTERWORDW { pub lpReading: LPWSTR, pub lpWord: LPWSTR, } #[test] fn bindgen_test_layout_tagREGISTERWORDW() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(tagREGISTERWORDW)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(tagREGISTERWORDW)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpReading as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagREGISTERWORDW), "::", stringify!(lpReading) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).lpWord as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagREGISTERWORDW), "::", stringify!(lpWord) ) ); } pub type REGISTERWORDW = tagREGISTERWORDW; pub type PREGISTERWORDW = *mut tagREGISTERWORDW; pub type NPREGISTERWORDW = *mut tagREGISTERWORDW; pub type LPREGISTERWORDW = *mut tagREGISTERWORDW; pub type REGISTERWORD = REGISTERWORDA; pub type PREGISTERWORD = PREGISTERWORDA; pub type NPREGISTERWORD = NPREGISTERWORDA; pub type LPREGISTERWORD = LPREGISTERWORDA; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct tagRECONVERTSTRING { pub dwSize: DWORD, pub dwVersion: DWORD, pub dwStrLen: DWORD, pub dwStrOffset: DWORD, pub dwCompStrLen: DWORD, pub dwCompStrOffset: DWORD, pub dwTargetStrLen: DWORD, pub dwTargetStrOffset: DWORD, } #[test] fn bindgen_test_layout_tagRECONVERTSTRING() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(tagRECONVERTSTRING)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(tagRECONVERTSTRING)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagRECONVERTSTRING), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwVersion as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagRECONVERTSTRING), "::", stringify!(dwVersion) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStrLen as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagRECONVERTSTRING), "::", stringify!(dwStrLen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStrOffset as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagRECONVERTSTRING), "::", stringify!(dwStrOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwCompStrLen as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagRECONVERTSTRING), "::", stringify!(dwCompStrLen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwCompStrOffset as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagRECONVERTSTRING), "::", stringify!(dwCompStrOffset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTargetStrLen as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagRECONVERTSTRING), "::", stringify!(dwTargetStrLen) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwTargetStrOffset as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(tagRECONVERTSTRING), "::", stringify!(dwTargetStrOffset) ) ); } pub type RECONVERTSTRING = tagRECONVERTSTRING; pub type PRECONVERTSTRING = *mut tagRECONVERTSTRING; pub type NPRECONVERTSTRING = *mut tagRECONVERTSTRING; pub type LPRECONVERTSTRING = *mut tagRECONVERTSTRING; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct tagSTYLEBUFA { pub dwStyle: DWORD, pub szDescription: [CHAR; 32usize], } #[test] fn bindgen_test_layout_tagSTYLEBUFA() { assert_eq!( ::std::mem::size_of::(), 36usize, concat!("Size of: ", stringify!(tagSTYLEBUFA)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(tagSTYLEBUFA)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStyle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTYLEBUFA), "::", stringify!(dwStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szDescription as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagSTYLEBUFA), "::", stringify!(szDescription) ) ); } pub type STYLEBUFA = tagSTYLEBUFA; pub type PSTYLEBUFA = *mut tagSTYLEBUFA; pub type NPSTYLEBUFA = *mut tagSTYLEBUFA; pub type LPSTYLEBUFA = *mut tagSTYLEBUFA; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct tagSTYLEBUFW { pub dwStyle: DWORD, pub szDescription: [WCHAR; 32usize], } #[test] fn bindgen_test_layout_tagSTYLEBUFW() { assert_eq!( ::std::mem::size_of::(), 68usize, concat!("Size of: ", stringify!(tagSTYLEBUFW)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(tagSTYLEBUFW)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwStyle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSTYLEBUFW), "::", stringify!(dwStyle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szDescription as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagSTYLEBUFW), "::", stringify!(szDescription) ) ); } pub type STYLEBUFW = tagSTYLEBUFW; pub type PSTYLEBUFW = *mut tagSTYLEBUFW; pub type NPSTYLEBUFW = *mut tagSTYLEBUFW; pub type LPSTYLEBUFW = *mut tagSTYLEBUFW; pub type STYLEBUF = STYLEBUFA; pub type PSTYLEBUF = PSTYLEBUFA; pub type NPSTYLEBUF = NPSTYLEBUFA; pub type LPSTYLEBUF = LPSTYLEBUFA; #[repr(C)] #[derive(Copy, Clone)] pub struct tagIMEMENUITEMINFOA { pub cbSize: UINT, pub fType: UINT, pub fState: UINT, pub wID: UINT, pub hbmpChecked: HBITMAP, pub hbmpUnchecked: HBITMAP, pub dwItemData: DWORD, pub szString: [CHAR; 80usize], pub hbmpItem: HBITMAP, } #[test] fn bindgen_test_layout_tagIMEMENUITEMINFOA() { assert_eq!( ::std::mem::size_of::(), 128usize, concat!("Size of: ", stringify!(tagIMEMENUITEMINFOA)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(tagIMEMENUITEMINFOA)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOA), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOA), "::", stringify!(fType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fState as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOA), "::", stringify!(fState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wID as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOA), "::", stringify!(wID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbmpChecked as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOA), "::", stringify!(hbmpChecked) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbmpUnchecked as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOA), "::", stringify!(hbmpUnchecked) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwItemData as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOA), "::", stringify!(dwItemData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szString as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOA), "::", stringify!(szString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbmpItem as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOA), "::", stringify!(hbmpItem) ) ); } pub type IMEMENUITEMINFOA = tagIMEMENUITEMINFOA; pub type PIMEMENUITEMINFOA = *mut tagIMEMENUITEMINFOA; pub type NPIMEMENUITEMINFOA = *mut tagIMEMENUITEMINFOA; pub type LPIMEMENUITEMINFOA = *mut tagIMEMENUITEMINFOA; #[repr(C)] #[derive(Copy, Clone)] pub struct tagIMEMENUITEMINFOW { pub cbSize: UINT, pub fType: UINT, pub fState: UINT, pub wID: UINT, pub hbmpChecked: HBITMAP, pub hbmpUnchecked: HBITMAP, pub dwItemData: DWORD, pub szString: [WCHAR; 80usize], pub hbmpItem: HBITMAP, } #[test] fn bindgen_test_layout_tagIMEMENUITEMINFOW() { assert_eq!( ::std::mem::size_of::(), 208usize, concat!("Size of: ", stringify!(tagIMEMENUITEMINFOW)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(tagIMEMENUITEMINFOW)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cbSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOW), "::", stringify!(cbSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fType as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOW), "::", stringify!(fType) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fState as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOW), "::", stringify!(fState) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wID as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOW), "::", stringify!(wID) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbmpChecked as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOW), "::", stringify!(hbmpChecked) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbmpUnchecked as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOW), "::", stringify!(hbmpUnchecked) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwItemData as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOW), "::", stringify!(dwItemData) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szString as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOW), "::", stringify!(szString) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hbmpItem as *const _ as usize }, 200usize, concat!( "Offset of field: ", stringify!(tagIMEMENUITEMINFOW), "::", stringify!(hbmpItem) ) ); } pub type IMEMENUITEMINFOW = tagIMEMENUITEMINFOW; pub type PIMEMENUITEMINFOW = *mut tagIMEMENUITEMINFOW; pub type NPIMEMENUITEMINFOW = *mut tagIMEMENUITEMINFOW; pub type LPIMEMENUITEMINFOW = *mut tagIMEMENUITEMINFOW; pub type IMEMENUITEMINFO = IMEMENUITEMINFOA; pub type PIMEMENUITEMINFO = PIMEMENUITEMINFOA; pub type NPIMEMENUITEMINFO = NPIMEMENUITEMINFOA; pub type LPIMEMENUITEMINFO = LPIMEMENUITEMINFOA; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct tagIMECHARPOSITION { pub dwSize: DWORD, pub dwCharPos: DWORD, pub pt: POINT, pub cLineHeight: UINT, pub rcDocument: RECT, } #[test] fn bindgen_test_layout_tagIMECHARPOSITION() { assert_eq!( ::std::mem::size_of::(), 36usize, concat!("Size of: ", stringify!(tagIMECHARPOSITION)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(tagIMECHARPOSITION)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwSize as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagIMECHARPOSITION), "::", stringify!(dwSize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwCharPos as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagIMECHARPOSITION), "::", stringify!(dwCharPos) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pt as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagIMECHARPOSITION), "::", stringify!(pt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cLineHeight as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagIMECHARPOSITION), "::", stringify!(cLineHeight) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcDocument as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(tagIMECHARPOSITION), "::", stringify!(rcDocument) ) ); } pub type IMECHARPOSITION = tagIMECHARPOSITION; pub type PIMECHARPOSITION = *mut tagIMECHARPOSITION; pub type NPIMECHARPOSITION = *mut tagIMECHARPOSITION; pub type LPIMECHARPOSITION = *mut tagIMECHARPOSITION; pub type IMCENUMPROC = ::std::option::Option BOOL>; extern "C" { pub fn ImmInstallIMEA(lpszIMEFileName: LPCSTR, lpszLayoutText: LPCSTR) -> HKL; } extern "C" { pub fn ImmInstallIMEW(lpszIMEFileName: LPCWSTR, lpszLayoutText: LPCWSTR) -> HKL; } extern "C" { pub fn ImmGetDefaultIMEWnd(arg1: HWND) -> HWND; } extern "C" { pub fn ImmGetDescriptionA(arg1: HKL, lpszDescription: LPSTR, uBufLen: UINT) -> UINT; } extern "C" { pub fn ImmGetDescriptionW(arg1: HKL, lpszDescription: LPWSTR, uBufLen: UINT) -> UINT; } extern "C" { pub fn ImmGetIMEFileNameA(arg1: HKL, lpszFileName: LPSTR, uBufLen: UINT) -> UINT; } extern "C" { pub fn ImmGetIMEFileNameW(arg1: HKL, lpszFileName: LPWSTR, uBufLen: UINT) -> UINT; } extern "C" { pub fn ImmGetProperty(arg1: HKL, arg2: DWORD) -> DWORD; } extern "C" { pub fn ImmIsIME(arg1: HKL) -> BOOL; } extern "C" { pub fn ImmSimulateHotKey(arg1: HWND, arg2: DWORD) -> BOOL; } extern "C" { pub fn ImmCreateContext() -> HIMC; } extern "C" { pub fn ImmDestroyContext(arg1: HIMC) -> BOOL; } extern "C" { pub fn ImmGetContext(arg1: HWND) -> HIMC; } extern "C" { pub fn ImmReleaseContext(arg1: HWND, arg2: HIMC) -> BOOL; } extern "C" { pub fn ImmAssociateContext(arg1: HWND, arg2: HIMC) -> HIMC; } extern "C" { pub fn ImmAssociateContextEx(arg1: HWND, arg2: HIMC, arg3: DWORD) -> BOOL; } extern "C" { pub fn ImmGetCompositionStringA( arg1: HIMC, arg2: DWORD, lpBuf: LPVOID, dwBufLen: DWORD, ) -> LONG; } extern "C" { pub fn ImmGetCompositionStringW( arg1: HIMC, arg2: DWORD, lpBuf: LPVOID, dwBufLen: DWORD, ) -> LONG; } extern "C" { pub fn ImmSetCompositionStringA( arg1: HIMC, dwIndex: DWORD, lpComp: LPVOID, dwCompLen: DWORD, lpRead: LPVOID, dwReadLen: DWORD, ) -> BOOL; } extern "C" { pub fn ImmSetCompositionStringW( arg1: HIMC, dwIndex: DWORD, lpComp: LPVOID, dwCompLen: DWORD, lpRead: LPVOID, dwReadLen: DWORD, ) -> BOOL; } extern "C" { pub fn ImmGetCandidateListCountA(arg1: HIMC, lpdwListCount: LPDWORD) -> DWORD; } extern "C" { pub fn ImmGetCandidateListCountW(arg1: HIMC, lpdwListCount: LPDWORD) -> DWORD; } extern "C" { pub fn ImmGetCandidateListA( arg1: HIMC, deIndex: DWORD, lpCandList: LPCANDIDATELIST, dwBufLen: DWORD, ) -> DWORD; } extern "C" { pub fn ImmGetCandidateListW( arg1: HIMC, deIndex: DWORD, lpCandList: LPCANDIDATELIST, dwBufLen: DWORD, ) -> DWORD; } extern "C" { pub fn ImmGetGuideLineA(arg1: HIMC, dwIndex: DWORD, lpBuf: LPSTR, dwBufLen: DWORD) -> DWORD; } extern "C" { pub fn ImmGetGuideLineW(arg1: HIMC, dwIndex: DWORD, lpBuf: LPWSTR, dwBufLen: DWORD) -> DWORD; } extern "C" { pub fn ImmGetConversionStatus( arg1: HIMC, lpfdwConversion: LPDWORD, lpfdwSentence: LPDWORD, ) -> BOOL; } extern "C" { pub fn ImmSetConversionStatus(arg1: HIMC, arg2: DWORD, arg3: DWORD) -> BOOL; } extern "C" { pub fn ImmGetOpenStatus(arg1: HIMC) -> BOOL; } extern "C" { pub fn ImmSetOpenStatus(arg1: HIMC, arg2: BOOL) -> BOOL; } extern "C" { pub fn ImmGetCompositionFontA(arg1: HIMC, lplf: LPLOGFONTA) -> BOOL; } extern "C" { pub fn ImmGetCompositionFontW(arg1: HIMC, lplf: LPLOGFONTW) -> BOOL; } extern "C" { pub fn ImmSetCompositionFontA(arg1: HIMC, lplf: LPLOGFONTA) -> BOOL; } extern "C" { pub fn ImmSetCompositionFontW(arg1: HIMC, lplf: LPLOGFONTW) -> BOOL; } extern "C" { pub fn ImmConfigureIMEA(arg1: HKL, arg2: HWND, arg3: DWORD, arg4: LPVOID) -> BOOL; } extern "C" { pub fn ImmConfigureIMEW(arg1: HKL, arg2: HWND, arg3: DWORD, arg4: LPVOID) -> BOOL; } extern "C" { pub fn ImmEscapeA(arg1: HKL, arg2: HIMC, arg3: UINT, arg4: LPVOID) -> LRESULT; } extern "C" { pub fn ImmEscapeW(arg1: HKL, arg2: HIMC, arg3: UINT, arg4: LPVOID) -> LRESULT; } extern "C" { pub fn ImmGetConversionListA( arg1: HKL, arg2: HIMC, lpSrc: LPCSTR, lpDst: LPCANDIDATELIST, dwBufLen: DWORD, uFlag: UINT, ) -> DWORD; } extern "C" { pub fn ImmGetConversionListW( arg1: HKL, arg2: HIMC, lpSrc: LPCWSTR, lpDst: LPCANDIDATELIST, dwBufLen: DWORD, uFlag: UINT, ) -> DWORD; } extern "C" { pub fn ImmNotifyIME(arg1: HIMC, dwAction: DWORD, dwIndex: DWORD, dwValue: DWORD) -> BOOL; } extern "C" { pub fn ImmGetStatusWindowPos(arg1: HIMC, lpptPos: LPPOINT) -> BOOL; } extern "C" { pub fn ImmSetStatusWindowPos(arg1: HIMC, lpptPos: LPPOINT) -> BOOL; } extern "C" { pub fn ImmGetCompositionWindow(arg1: HIMC, lpCompForm: LPCOMPOSITIONFORM) -> BOOL; } extern "C" { pub fn ImmSetCompositionWindow(arg1: HIMC, lpCompForm: LPCOMPOSITIONFORM) -> BOOL; } extern "C" { pub fn ImmGetCandidateWindow(arg1: HIMC, arg2: DWORD, lpCandidate: LPCANDIDATEFORM) -> BOOL; } extern "C" { pub fn ImmSetCandidateWindow(arg1: HIMC, lpCandidate: LPCANDIDATEFORM) -> BOOL; } extern "C" { pub fn ImmIsUIMessageA(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> BOOL; } extern "C" { pub fn ImmIsUIMessageW(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> BOOL; } extern "C" { pub fn ImmGetVirtualKey(arg1: HWND) -> UINT; } pub type REGISTERWORDENUMPROCA = ::std::option::Option< unsafe extern "C" fn( lpszReading: LPCSTR, arg1: DWORD, lpszString: LPCSTR, arg2: LPVOID, ) -> ::std::os::raw::c_int, >; pub type REGISTERWORDENUMPROCW = ::std::option::Option< unsafe extern "C" fn( lpszReading: LPCWSTR, arg1: DWORD, lpszString: LPCWSTR, arg2: LPVOID, ) -> ::std::os::raw::c_int, >; extern "C" { pub fn ImmRegisterWordA( arg1: HKL, lpszReading: LPCSTR, arg2: DWORD, lpszRegister: LPCSTR, ) -> BOOL; } extern "C" { pub fn ImmRegisterWordW( arg1: HKL, lpszReading: LPCWSTR, arg2: DWORD, lpszRegister: LPCWSTR, ) -> BOOL; } extern "C" { pub fn ImmUnregisterWordA( arg1: HKL, lpszReading: LPCSTR, arg2: DWORD, lpszUnregister: LPCSTR, ) -> BOOL; } extern "C" { pub fn ImmUnregisterWordW( arg1: HKL, lpszReading: LPCWSTR, arg2: DWORD, lpszUnregister: LPCWSTR, ) -> BOOL; } extern "C" { pub fn ImmGetRegisterWordStyleA(arg1: HKL, nItem: UINT, lpStyleBuf: LPSTYLEBUFA) -> UINT; } extern "C" { pub fn ImmGetRegisterWordStyleW(arg1: HKL, nItem: UINT, lpStyleBuf: LPSTYLEBUFW) -> UINT; } extern "C" { pub fn ImmEnumRegisterWordA( arg1: HKL, arg2: REGISTERWORDENUMPROCA, lpszReading: LPCSTR, arg3: DWORD, lpszRegister: LPCSTR, arg4: LPVOID, ) -> UINT; } extern "C" { pub fn ImmEnumRegisterWordW( arg1: HKL, arg2: REGISTERWORDENUMPROCW, lpszReading: LPCWSTR, arg3: DWORD, lpszRegister: LPCWSTR, arg4: LPVOID, ) -> UINT; } extern "C" { pub fn ImmDisableIME(arg1: DWORD) -> BOOL; } extern "C" { pub fn ImmEnumInputContext(idThread: DWORD, lpfn: IMCENUMPROC, lParam: LPARAM) -> BOOL; } extern "C" { pub fn ImmGetImeMenuItemsA( arg1: HIMC, arg2: DWORD, arg3: DWORD, lpImeParentMenu: LPIMEMENUITEMINFOA, lpImeMenu: LPIMEMENUITEMINFOA, dwSize: DWORD, ) -> DWORD; } extern "C" { pub fn ImmGetImeMenuItemsW( arg1: HIMC, arg2: DWORD, arg3: DWORD, lpImeParentMenu: LPIMEMENUITEMINFOW, lpImeMenu: LPIMEMENUITEMINFOW, dwSize: DWORD, ) -> DWORD; } extern "C" { pub fn ImmDisableTextFrameService(idThread: DWORD) -> BOOL; } extern "C" { pub fn ImmDisableLegacyIME() -> BOOL; } #[repr(C)] #[derive(Copy, Clone)] pub struct sqlca { pub sqlcaid: [::std::os::raw::c_char; 8usize], pub sqlcabc: sqlint32, pub sqlcode: sqlint32, pub sqlerrml: ::std::os::raw::c_short, pub sqlerrmc: [::std::os::raw::c_char; 70usize], pub sqlerrp: [::std::os::raw::c_char; 8usize], pub sqlerrd: [sqlint32; 6usize], pub sqlwarn: [::std::os::raw::c_char; 11usize], pub sqlstate: [::std::os::raw::c_char; 5usize], } #[test] fn bindgen_test_layout_sqlca() { assert_eq!( ::std::mem::size_of::(), 136usize, concat!("Size of: ", stringify!(sqlca)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(sqlca)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sqlcaid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(sqlca), "::", stringify!(sqlcaid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sqlcabc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(sqlca), "::", stringify!(sqlcabc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sqlcode as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(sqlca), "::", stringify!(sqlcode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sqlerrml as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(sqlca), "::", stringify!(sqlerrml) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sqlerrmc as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(sqlca), "::", stringify!(sqlerrmc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sqlerrp as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(sqlca), "::", stringify!(sqlerrp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sqlerrd as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(sqlca), "::", stringify!(sqlerrd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sqlwarn as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(sqlca), "::", stringify!(sqlwarn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sqlstate as *const _ as usize }, 131usize, concat!( "Offset of field: ", stringify!(sqlca), "::", stringify!(sqlstate) ) ); } pub type SCHAR = ::std::os::raw::c_schar; pub type SWORD = ::std::os::raw::c_short; pub type SSHORT = ::std::os::raw::c_short; pub type SDWORD = ::std::os::raw::c_long; pub type UDWORD = ::std::os::raw::c_ulong; pub type SLONG = ::std::os::raw::c_long; pub type SDOUBLE = f64; pub type SFLOAT = f32; pub type SQLDATE = ::std::os::raw::c_uchar; pub type SQLTIME = ::std::os::raw::c_uchar; pub type SQLTIMESTAMP = ::std::os::raw::c_uchar; pub type SQLDECIMAL = ::std::os::raw::c_uchar; pub type SQLNUMERIC = ::std::os::raw::c_uchar; pub type LDOUBLE = f64; pub type PTR = *mut ::std::os::raw::c_void; pub type HENV = *mut ::std::os::raw::c_void; pub type HDBC = *mut ::std::os::raw::c_void; pub type HSTMT = *mut ::std::os::raw::c_void; pub type RETCODE = ::std::os::raw::c_short; pub type SQLCHAR = UCHAR; pub type SQLVARCHAR = UCHAR; pub type SQLSCHAR = SCHAR; pub type SQLINTEGER = SDWORD; pub type SQLSMALLINT = SWORD; pub type SQLDOUBLE = SDOUBLE; pub type SQLFLOAT = SDOUBLE; pub type SQLREAL = SFLOAT; pub type SQLRETURN = SQLSMALLINT; pub type SQLUINTEGER = UDWORD; pub type SQLUSMALLINT = UWORD; pub type SQLPOINTER = PTR; pub type SQLDBCHAR = ::std::os::raw::c_ushort; pub type SQLWCHAR = ::std::os::raw::c_ushort; pub type SQLTCHAR = SQLCHAR; pub type SQLHANDLE = *mut ::std::os::raw::c_void; pub type SQLHENV = SQLHANDLE; pub type SQLHDBC = SQLHANDLE; pub type SQLHSTMT = SQLHANDLE; pub type SQLHWND = HWND; pub type SQLHDESC = SQLHANDLE; pub type SQLBIGINT = ::std::os::raw::c_longlong; pub type SQLUBIGINT = ::std::os::raw::c_ulonglong; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DATE_STRUCT { pub year: SQLSMALLINT, pub month: SQLUSMALLINT, pub day: SQLUSMALLINT, } #[test] fn bindgen_test_layout_DATE_STRUCT() { assert_eq!( ::std::mem::size_of::(), 6usize, concat!("Size of: ", stringify!(DATE_STRUCT)) ); assert_eq!( ::std::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(DATE_STRUCT)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).year as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(DATE_STRUCT), "::", stringify!(year) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).month as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(DATE_STRUCT), "::", stringify!(month) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).day as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(DATE_STRUCT), "::", stringify!(day) ) ); } pub type SQL_DATE_STRUCT = DATE_STRUCT; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct TIME_STRUCT { pub hour: SQLUSMALLINT, pub minute: SQLUSMALLINT, pub second: SQLUSMALLINT, } #[test] fn bindgen_test_layout_TIME_STRUCT() { assert_eq!( ::std::mem::size_of::(), 6usize, concat!("Size of: ", stringify!(TIME_STRUCT)) ); assert_eq!( ::std::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(TIME_STRUCT)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hour as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(TIME_STRUCT), "::", stringify!(hour) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).minute as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(TIME_STRUCT), "::", stringify!(minute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).second as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(TIME_STRUCT), "::", stringify!(second) ) ); } pub type SQL_TIME_STRUCT = TIME_STRUCT; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct TIMESTAMP_STRUCT { pub year: SQLSMALLINT, pub month: SQLUSMALLINT, pub day: SQLUSMALLINT, pub hour: SQLUSMALLINT, pub minute: SQLUSMALLINT, pub second: SQLUSMALLINT, pub fraction: SQLUINTEGER, } #[test] fn bindgen_test_layout_TIMESTAMP_STRUCT() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(TIMESTAMP_STRUCT)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(TIMESTAMP_STRUCT)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).year as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT), "::", stringify!(year) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).month as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT), "::", stringify!(month) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).day as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT), "::", stringify!(day) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hour as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT), "::", stringify!(hour) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).minute as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT), "::", stringify!(minute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).second as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT), "::", stringify!(second) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fraction as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT), "::", stringify!(fraction) ) ); } pub type SQL_TIMESTAMP_STRUCT = TIMESTAMP_STRUCT; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct TIMESTAMP_STRUCT_EXT { pub year: SQLSMALLINT, pub month: SQLUSMALLINT, pub day: SQLUSMALLINT, pub hour: SQLUSMALLINT, pub minute: SQLUSMALLINT, pub second: SQLUSMALLINT, pub fraction: SQLUINTEGER, pub fraction2: SQLUINTEGER, } #[test] fn bindgen_test_layout_TIMESTAMP_STRUCT_EXT() { assert_eq!( ::std::mem::size_of::(), 20usize, concat!("Size of: ", stringify!(TIMESTAMP_STRUCT_EXT)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(TIMESTAMP_STRUCT_EXT)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).year as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT), "::", stringify!(year) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).month as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT), "::", stringify!(month) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).day as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT), "::", stringify!(day) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hour as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT), "::", stringify!(hour) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).minute as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT), "::", stringify!(minute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).second as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT), "::", stringify!(second) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fraction as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT), "::", stringify!(fraction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fraction2 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT), "::", stringify!(fraction2) ) ); } pub type SQL_TIMESTAMP_STRUCT_EXT = TIMESTAMP_STRUCT_EXT; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct TIMESTAMP_STRUCT_EXT_TZ { pub year: SQLSMALLINT, pub month: SQLUSMALLINT, pub day: SQLUSMALLINT, pub hour: SQLUSMALLINT, pub minute: SQLUSMALLINT, pub second: SQLUSMALLINT, pub fraction: SQLUINTEGER, pub fraction2: SQLUINTEGER, pub timezone_hour: SQLSMALLINT, pub timezone_minute: SQLSMALLINT, } #[test] fn bindgen_test_layout_TIMESTAMP_STRUCT_EXT_TZ() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(TIMESTAMP_STRUCT_EXT_TZ)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(TIMESTAMP_STRUCT_EXT_TZ)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).year as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT_TZ), "::", stringify!(year) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).month as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT_TZ), "::", stringify!(month) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).day as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT_TZ), "::", stringify!(day) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hour as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT_TZ), "::", stringify!(hour) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).minute as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT_TZ), "::", stringify!(minute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).second as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT_TZ), "::", stringify!(second) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fraction as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT_TZ), "::", stringify!(fraction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fraction2 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT_TZ), "::", stringify!(fraction2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).timezone_hour as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT_TZ), "::", stringify!(timezone_hour) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).timezone_minute as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(TIMESTAMP_STRUCT_EXT_TZ), "::", stringify!(timezone_minute) ) ); } pub type SQL_TIMESTAMP_STRUCT_EXT_TZ = TIMESTAMP_STRUCT_EXT_TZ; pub const SQLINTERVAL_SQL_IS_YEAR: SQLINTERVAL = 1; pub const SQLINTERVAL_SQL_IS_MONTH: SQLINTERVAL = 2; pub const SQLINTERVAL_SQL_IS_DAY: SQLINTERVAL = 3; pub const SQLINTERVAL_SQL_IS_HOUR: SQLINTERVAL = 4; pub const SQLINTERVAL_SQL_IS_MINUTE: SQLINTERVAL = 5; pub const SQLINTERVAL_SQL_IS_SECOND: SQLINTERVAL = 6; pub const SQLINTERVAL_SQL_IS_YEAR_TO_MONTH: SQLINTERVAL = 7; pub const SQLINTERVAL_SQL_IS_DAY_TO_HOUR: SQLINTERVAL = 8; pub const SQLINTERVAL_SQL_IS_DAY_TO_MINUTE: SQLINTERVAL = 9; pub const SQLINTERVAL_SQL_IS_DAY_TO_SECOND: SQLINTERVAL = 10; pub const SQLINTERVAL_SQL_IS_HOUR_TO_MINUTE: SQLINTERVAL = 11; pub const SQLINTERVAL_SQL_IS_HOUR_TO_SECOND: SQLINTERVAL = 12; pub const SQLINTERVAL_SQL_IS_MINUTE_TO_SECOND: SQLINTERVAL = 13; pub type SQLINTERVAL = ::std::os::raw::c_int; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct tagSQL_YEAR_MONTH { pub year: SQLUINTEGER, pub month: SQLUINTEGER, } #[test] fn bindgen_test_layout_tagSQL_YEAR_MONTH() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(tagSQL_YEAR_MONTH)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(tagSQL_YEAR_MONTH)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).year as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSQL_YEAR_MONTH), "::", stringify!(year) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).month as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagSQL_YEAR_MONTH), "::", stringify!(month) ) ); } pub type SQL_YEAR_MONTH_STRUCT = tagSQL_YEAR_MONTH; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct tagSQL_DAY_SECOND { pub day: SQLUINTEGER, pub hour: SQLUINTEGER, pub minute: SQLUINTEGER, pub second: SQLUINTEGER, pub fraction: SQLUINTEGER, } #[test] fn bindgen_test_layout_tagSQL_DAY_SECOND() { assert_eq!( ::std::mem::size_of::(), 20usize, concat!("Size of: ", stringify!(tagSQL_DAY_SECOND)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(tagSQL_DAY_SECOND)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).day as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSQL_DAY_SECOND), "::", stringify!(day) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hour as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagSQL_DAY_SECOND), "::", stringify!(hour) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).minute as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagSQL_DAY_SECOND), "::", stringify!(minute) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).second as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(tagSQL_DAY_SECOND), "::", stringify!(second) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fraction as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(tagSQL_DAY_SECOND), "::", stringify!(fraction) ) ); } pub type SQL_DAY_SECOND_STRUCT = tagSQL_DAY_SECOND; #[repr(C)] #[derive(Copy, Clone)] pub struct tagSQL_INTERVAL_STRUCT { pub interval_type: SQLINTERVAL, pub interval_sign: SQLSMALLINT, pub intval: tagSQL_INTERVAL_STRUCT__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union tagSQL_INTERVAL_STRUCT__bindgen_ty_1 { pub year_month: SQL_YEAR_MONTH_STRUCT, pub day_second: SQL_DAY_SECOND_STRUCT, _bindgen_union_align: [u32; 5usize], } #[test] fn bindgen_test_layout_tagSQL_INTERVAL_STRUCT__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 20usize, concat!( "Size of: ", stringify!(tagSQL_INTERVAL_STRUCT__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(tagSQL_INTERVAL_STRUCT__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).year_month as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSQL_INTERVAL_STRUCT__bindgen_ty_1), "::", stringify!(year_month) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).day_second as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSQL_INTERVAL_STRUCT__bindgen_ty_1), "::", stringify!(day_second) ) ); } #[test] fn bindgen_test_layout_tagSQL_INTERVAL_STRUCT() { assert_eq!( ::std::mem::size_of::(), 28usize, concat!("Size of: ", stringify!(tagSQL_INTERVAL_STRUCT)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(tagSQL_INTERVAL_STRUCT)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).interval_type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSQL_INTERVAL_STRUCT), "::", stringify!(interval_type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).interval_sign as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(tagSQL_INTERVAL_STRUCT), "::", stringify!(interval_sign) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).intval as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagSQL_INTERVAL_STRUCT), "::", stringify!(intval) ) ); } pub type SQL_INTERVAL_STRUCT = tagSQL_INTERVAL_STRUCT; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct tagSQL_NUMERIC_STRUCT { pub precision: SQLCHAR, pub scale: SQLSCHAR, pub sign: SQLCHAR, pub val: [SQLCHAR; 16usize], } #[test] fn bindgen_test_layout_tagSQL_NUMERIC_STRUCT() { assert_eq!( ::std::mem::size_of::(), 19usize, concat!("Size of: ", stringify!(tagSQL_NUMERIC_STRUCT)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(tagSQL_NUMERIC_STRUCT)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).precision as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagSQL_NUMERIC_STRUCT), "::", stringify!(precision) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).scale as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(tagSQL_NUMERIC_STRUCT), "::", stringify!(scale) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sign as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(tagSQL_NUMERIC_STRUCT), "::", stringify!(sign) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).val as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(tagSQL_NUMERIC_STRUCT), "::", stringify!(val) ) ); } pub type SQL_NUMERIC_STRUCT = tagSQL_NUMERIC_STRUCT; #[repr(C)] #[derive(Copy, Clone)] pub struct SQLDECIMAL64 { pub udec64: SQLDECIMAL64__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union SQLDECIMAL64__bindgen_ty_1 { pub dummy: SQLDOUBLE, pub dec64: [SQLCHAR; 8usize], _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_SQLDECIMAL64__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(SQLDECIMAL64__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(SQLDECIMAL64__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dummy as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(SQLDECIMAL64__bindgen_ty_1), "::", stringify!(dummy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dec64 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(SQLDECIMAL64__bindgen_ty_1), "::", stringify!(dec64) ) ); } #[test] fn bindgen_test_layout_SQLDECIMAL64() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(SQLDECIMAL64)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(SQLDECIMAL64)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).udec64 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(SQLDECIMAL64), "::", stringify!(udec64) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct SQLDECIMAL128 { pub udec128: SQLDECIMAL128__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union SQLDECIMAL128__bindgen_ty_1 { pub dummy: SQLDOUBLE, pub dec128: [SQLCHAR; 16usize], _bindgen_union_align: [u64; 2usize], } #[test] fn bindgen_test_layout_SQLDECIMAL128__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(SQLDECIMAL128__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(SQLDECIMAL128__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dummy as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(SQLDECIMAL128__bindgen_ty_1), "::", stringify!(dummy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dec128 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(SQLDECIMAL128__bindgen_ty_1), "::", stringify!(dec128) ) ); } #[test] fn bindgen_test_layout_SQLDECIMAL128() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(SQLDECIMAL128)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(SQLDECIMAL128)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).udec128 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(SQLDECIMAL128), "::", stringify!(udec128) ) ); } extern "C" { pub fn SQLAllocConnect(henv: SQLHENV, phdbc: *mut SQLHDBC) -> SQLRETURN; } extern "C" { pub fn SQLAllocEnv(phenv: *mut SQLHENV) -> SQLRETURN; } extern "C" { pub fn SQLAllocStmt(hdbc: SQLHDBC, phstmt: *mut SQLHSTMT) -> SQLRETURN; } extern "C" { pub fn SQLAllocHandle( fHandleType: SQLSMALLINT, hInput: SQLHANDLE, phOutput: *mut SQLHANDLE, ) -> SQLRETURN; } extern "C" { pub fn SQLBindCol( hstmt: SQLHSTMT, icol: SQLUSMALLINT, fCType: SQLSMALLINT, rgbValue: SQLPOINTER, cbValueMax: SQLINTEGER, pcbValue: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLCancel(hstmt: SQLHSTMT) -> SQLRETURN; } extern "C" { pub fn SQLColAttribute( hstmt: SQLHSTMT, icol: SQLUSMALLINT, fDescType: SQLUSMALLINT, rgbDesc: SQLPOINTER, cbDescMax: SQLSMALLINT, pcbDesc: *mut SQLSMALLINT, pfDesc: SQLPOINTER, ) -> SQLRETURN; } extern "C" { pub fn SQLConnect( hdbc: SQLHDBC, szDSN: *mut SQLCHAR, cbDSN: SQLSMALLINT, szUID: *mut SQLCHAR, cbUID: SQLSMALLINT, szAuthStr: *mut SQLCHAR, cbAuthStr: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLDescribeCol( hstmt: SQLHSTMT, icol: SQLUSMALLINT, szColName: *mut SQLCHAR, cbColNameMax: SQLSMALLINT, pcbColName: *mut SQLSMALLINT, pfSqlType: *mut SQLSMALLINT, pcbColDef: *mut SQLUINTEGER, pibScale: *mut SQLSMALLINT, pfNullable: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLDisconnect(hdbc: SQLHDBC) -> SQLRETURN; } extern "C" { pub fn SQLError( henv: SQLHENV, hdbc: SQLHDBC, hstmt: SQLHSTMT, szSqlState: *mut SQLCHAR, pfNativeError: *mut SQLINTEGER, szErrorMsg: *mut SQLCHAR, cbErrorMsgMax: SQLSMALLINT, pcbErrorMsg: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLExecDirect( hstmt: SQLHSTMT, szSqlStr: *mut SQLCHAR, cbSqlStr: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLExecute(hstmt: SQLHSTMT) -> SQLRETURN; } extern "C" { pub fn SQLFetch(hstmt: SQLHSTMT) -> SQLRETURN; } extern "C" { pub fn SQLFreeConnect(hdbc: SQLHDBC) -> SQLRETURN; } extern "C" { pub fn SQLFreeEnv(henv: SQLHENV) -> SQLRETURN; } extern "C" { pub fn SQLFreeStmt(hstmt: SQLHSTMT, fOption: SQLUSMALLINT) -> SQLRETURN; } extern "C" { pub fn SQLCloseCursor(hStmt: SQLHSTMT) -> SQLRETURN; } extern "C" { pub fn SQLGetCursorName( hstmt: SQLHSTMT, szCursor: *mut SQLCHAR, cbCursorMax: SQLSMALLINT, pcbCursor: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLGetData( hstmt: SQLHSTMT, icol: SQLUSMALLINT, fCType: SQLSMALLINT, rgbValue: SQLPOINTER, cbValueMax: SQLINTEGER, pcbValue: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLNumResultCols(hstmt: SQLHSTMT, pccol: *mut SQLSMALLINT) -> SQLRETURN; } extern "C" { pub fn SQLPrepare(hstmt: SQLHSTMT, szSqlStr: *mut SQLCHAR, cbSqlStr: SQLINTEGER) -> SQLRETURN; } extern "C" { pub fn SQLRowCount(hstmt: SQLHSTMT, pcrow: *mut SQLINTEGER) -> SQLRETURN; } extern "C" { pub fn SQLSetCursorName( hstmt: SQLHSTMT, szCursor: *mut SQLCHAR, cbCursor: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLSetParam( hstmt: SQLHSTMT, ipar: SQLUSMALLINT, fCType: SQLSMALLINT, fSqlType: SQLSMALLINT, cbParamDef: SQLUINTEGER, ibScale: SQLSMALLINT, rgbValue: SQLPOINTER, pcbValue: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLTransact(henv: SQLHENV, hdbc: SQLHDBC, fType: SQLUSMALLINT) -> SQLRETURN; } extern "C" { pub fn SQLEndTran( fHandleType: SQLSMALLINT, hHandle: SQLHANDLE, fType: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLFreeHandle(fHandleType: SQLSMALLINT, hHandle: SQLHANDLE) -> SQLRETURN; } extern "C" { pub fn SQLGetDiagRec( fHandleType: SQLSMALLINT, hHandle: SQLHANDLE, iRecNumber: SQLSMALLINT, pszSqlState: *mut SQLCHAR, pfNativeError: *mut SQLINTEGER, pszErrorMsg: *mut SQLCHAR, cbErrorMsgMax: SQLSMALLINT, pcbErrorMsg: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLGetDiagField( fHandleType: SQLSMALLINT, hHandle: SQLHANDLE, iRecNumber: SQLSMALLINT, fDiagIdentifier: SQLSMALLINT, pDiagInfo: SQLPOINTER, cbDiagInfoMax: SQLSMALLINT, pcbDiagInfo: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLCopyDesc(hDescSource: SQLHDESC, hDescTarget: SQLHDESC) -> SQLRETURN; } extern "C" { pub fn SQLCreateDb( hDbc: SQLHDBC, szDB: *mut SQLCHAR, cbDB: SQLINTEGER, szCodeset: *mut SQLCHAR, cbCodeset: SQLINTEGER, szMode: *mut SQLCHAR, cbMode: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLDropDb(hDbc: SQLHDBC, szDB: *mut SQLCHAR, cbDB: SQLINTEGER) -> SQLRETURN; } extern "C" { pub fn SQLCreatePkg( hDbc: SQLHDBC, szBindFileName: *mut SQLCHAR, cbBindFileName: SQLINTEGER, szBindOpts: *mut SQLCHAR, cbBindOpts: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetDescField( DescriptorHandle: SQLHDESC, RecNumber: SQLSMALLINT, FieldIdentifier: SQLSMALLINT, Value: SQLPOINTER, BufferLength: SQLINTEGER, StringLength: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetDescRec( DescriptorHandle: SQLHDESC, RecNumber: SQLSMALLINT, Name: *mut SQLCHAR, BufferLength: SQLSMALLINT, StringLength: *mut SQLSMALLINT, Type: *mut SQLSMALLINT, SubType: *mut SQLSMALLINT, Length: *mut SQLINTEGER, Precision: *mut SQLSMALLINT, Scale: *mut SQLSMALLINT, Nullable: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLSetDescField( DescriptorHandle: SQLHDESC, RecNumber: SQLSMALLINT, FieldIdentifier: SQLSMALLINT, Value: SQLPOINTER, BufferLength: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLSetDescRec( DescriptorHandle: SQLHDESC, RecNumber: SQLSMALLINT, Type: SQLSMALLINT, SubType: SQLSMALLINT, Length: SQLINTEGER, Precision: SQLSMALLINT, Scale: SQLSMALLINT, Data: SQLPOINTER, StringLength: *mut SQLINTEGER, Indicator: *mut SQLINTEGER, ) -> SQLRETURN; } pub type SQLSTATE = [SQLTCHAR; 6usize]; extern "C" { pub fn SQLDriverConnect( hdbc: SQLHDBC, hwnd: SQLHWND, szConnStrIn: *mut SQLCHAR, cchConnStrIn: SQLSMALLINT, szConnStrOut: *mut SQLCHAR, cchConnStrOutMax: SQLSMALLINT, pcchConnStrOut: *mut SQLSMALLINT, fDriverCompletion: SQLUSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLBrowseConnect( hdbc: SQLHDBC, szConnStrIn: *mut SQLCHAR, cchConnStrIn: SQLSMALLINT, szConnStrOut: *mut SQLCHAR, cchConnStrOutMax: SQLSMALLINT, pcchConnStrOut: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLBulkOperations(StatementHandle: SQLHSTMT, Operation: SQLSMALLINT) -> SQLRETURN; } extern "C" { pub fn SQLColAttributes( hstmt: SQLHSTMT, icol: SQLUSMALLINT, fDescType: SQLUSMALLINT, rgbDesc: SQLPOINTER, cbDescMax: SQLSMALLINT, pcbDesc: *mut SQLSMALLINT, pfDesc: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLColumnPrivileges( hstmt: SQLHSTMT, szCatalogName: *mut SQLCHAR, cchCatalogName: SQLSMALLINT, szSchemaName: *mut SQLCHAR, cchSchemaName: SQLSMALLINT, szTableName: *mut SQLCHAR, cchTableName: SQLSMALLINT, szColumnName: *mut SQLCHAR, cchColumnName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLDescribeParam( hstmt: SQLHSTMT, ipar: SQLUSMALLINT, pfSqlType: *mut SQLSMALLINT, pcbParamDef: *mut SQLUINTEGER, pibScale: *mut SQLSMALLINT, pfNullable: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLExtendedFetch( hstmt: SQLHSTMT, fFetchType: SQLUSMALLINT, irow: SQLINTEGER, pcrow: *mut SQLUINTEGER, rgfRowStatus: *mut SQLUSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLForeignKeys( hstmt: SQLHSTMT, szPkCatalogName: *mut SQLCHAR, cchPkCatalogName: SQLSMALLINT, szPkSchemaName: *mut SQLCHAR, cchPkSchemaName: SQLSMALLINT, szPkTableName: *mut SQLCHAR, cchPkTableName: SQLSMALLINT, szFkCatalogName: *mut SQLCHAR, cchFkCatalogName: SQLSMALLINT, szFkSchemaName: *mut SQLCHAR, cchFkSchemaName: SQLSMALLINT, szFkTableName: *mut SQLCHAR, cchFkTableName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLMoreResults(hstmt: SQLHSTMT) -> SQLRETURN; } extern "C" { pub fn SQLNativeSql( hdbc: SQLHDBC, szSqlStrIn: *mut SQLCHAR, cchSqlStrIn: SQLINTEGER, szSqlStr: *mut SQLCHAR, cchSqlStrMax: SQLINTEGER, pcbSqlStr: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLNumParams(hstmt: SQLHSTMT, pcpar: *mut SQLSMALLINT) -> SQLRETURN; } extern "C" { pub fn SQLParamOptions( hstmt: SQLHSTMT, crow: SQLUINTEGER, pirow: *mut SQLUINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLPrimaryKeys( hstmt: SQLHSTMT, szCatalogName: *mut SQLCHAR, cchCatalogName: SQLSMALLINT, szSchemaName: *mut SQLCHAR, cchSchemaName: SQLSMALLINT, szTableName: *mut SQLCHAR, cchTableName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLProcedureColumns( hstmt: SQLHSTMT, szCatalogName: *mut SQLCHAR, cchCatalogName: SQLSMALLINT, szSchemaName: *mut SQLCHAR, cchSchemaName: SQLSMALLINT, szProcName: *mut SQLCHAR, cchProcName: SQLSMALLINT, szColumnName: *mut SQLCHAR, cchColumnName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLProcedures( hstmt: SQLHSTMT, szCatalogName: *mut SQLCHAR, cchCatalogName: SQLSMALLINT, szSchemaName: *mut SQLCHAR, cchSchemaName: SQLSMALLINT, szProcName: *mut SQLCHAR, cchProcName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLSetPos( hstmt: SQLHSTMT, irow: SQLUSMALLINT, fOption: SQLUSMALLINT, fLock: SQLUSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLTablePrivileges( hstmt: SQLHSTMT, szCatalogName: *mut SQLCHAR, cchCatalogName: SQLSMALLINT, szSchemaName: *mut SQLCHAR, cchSchemaName: SQLSMALLINT, szTableName: *mut SQLCHAR, cchTableName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLDrivers( henv: SQLHENV, fDirection: SQLUSMALLINT, szDriverDesc: *mut SQLCHAR, cchDriverDescMax: SQLSMALLINT, pcchDriverDesc: *mut SQLSMALLINT, szDriverAttributes: *mut SQLCHAR, cchDrvrAttrMax: SQLSMALLINT, pcchDrvrAttr: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLBindParameter( hstmt: SQLHSTMT, ipar: SQLUSMALLINT, fParamType: SQLSMALLINT, fCType: SQLSMALLINT, fSqlType: SQLSMALLINT, cbColDef: SQLUINTEGER, ibScale: SQLSMALLINT, rgbValue: SQLPOINTER, cbValueMax: SQLINTEGER, pcbValue: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLAllocHandleStd( fHandleType: SQLSMALLINT, hInput: SQLHANDLE, phOutput: *mut SQLHANDLE, ) -> SQLRETURN; } extern "C" { pub fn SQLSetScrollOptions( hstmt: SQLHSTMT, fConcurrency: SQLUSMALLINT, crowKeyset: SQLINTEGER, crowRowset: SQLUSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn TraceOpenLogFile( szFileName: LPWSTR, lpwszOutputMsg: LPWSTR, cbOutputMsg: DWORD, ) -> RETCODE; } extern "C" { pub fn TraceCloseLogFile() -> RETCODE; } extern "C" { pub fn TraceReturn(arg1: RETCODE, arg2: RETCODE); } extern "C" { pub fn TraceVersion() -> DWORD; } extern "C" { pub fn TraceVSControl(arg1: DWORD) -> RETCODE; } extern "C" { pub fn ODBCSetTryWaitValue(dwValue: DWORD) -> BOOL; } extern "C" { pub fn ODBCGetTryWaitValue() -> DWORD; } #[repr(C)] #[derive(Copy, Clone)] pub struct tagODBC_VS_ARGS { pub pguidEvent: *const GUID, pub dwFlags: DWORD, pub __bindgen_anon_1: tagODBC_VS_ARGS__bindgen_ty_1, pub __bindgen_anon_2: tagODBC_VS_ARGS__bindgen_ty_2, pub RetCode: RETCODE, } #[repr(C)] #[derive(Copy, Clone)] pub union tagODBC_VS_ARGS__bindgen_ty_1 { pub wszArg: *mut WCHAR, pub szArg: *mut CHAR, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_tagODBC_VS_ARGS__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(tagODBC_VS_ARGS__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(tagODBC_VS_ARGS__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wszArg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagODBC_VS_ARGS__bindgen_ty_1), "::", stringify!(wszArg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szArg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagODBC_VS_ARGS__bindgen_ty_1), "::", stringify!(szArg) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub union tagODBC_VS_ARGS__bindgen_ty_2 { pub wszCorrelation: *mut WCHAR, pub szCorrelation: *mut CHAR, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_tagODBC_VS_ARGS__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(tagODBC_VS_ARGS__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(tagODBC_VS_ARGS__bindgen_ty_2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wszCorrelation as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagODBC_VS_ARGS__bindgen_ty_2), "::", stringify!(wszCorrelation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).szCorrelation as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagODBC_VS_ARGS__bindgen_ty_2), "::", stringify!(szCorrelation) ) ); } #[test] fn bindgen_test_layout_tagODBC_VS_ARGS() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(tagODBC_VS_ARGS)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(tagODBC_VS_ARGS)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pguidEvent as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(tagODBC_VS_ARGS), "::", stringify!(pguidEvent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dwFlags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(tagODBC_VS_ARGS), "::", stringify!(dwFlags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).RetCode as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(tagODBC_VS_ARGS), "::", stringify!(RetCode) ) ); } pub type ODBC_VS_ARGS = tagODBC_VS_ARGS; pub type PODBC_VS_ARGS = *mut tagODBC_VS_ARGS; extern "C" { pub fn FireVSDebugEvent(arg1: PODBC_VS_ARGS); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SQL_NET_STATS { pub iNetStatsLength: SQLINTEGER, pub uiNetStatsServerTime: SQLUBIGINT, pub uiNetStatsNetworkTime: SQLUBIGINT, pub uiNetStatsBytesSent: SQLUBIGINT, pub uiNetStatsBytesReceived: SQLUBIGINT, pub uiNetStatsRoundTrips: SQLUBIGINT, } #[test] fn bindgen_test_layout_SQL_NET_STATS() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(SQL_NET_STATS)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(SQL_NET_STATS)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iNetStatsLength as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(SQL_NET_STATS), "::", stringify!(iNetStatsLength) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uiNetStatsServerTime as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(SQL_NET_STATS), "::", stringify!(uiNetStatsServerTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uiNetStatsNetworkTime as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(SQL_NET_STATS), "::", stringify!(uiNetStatsNetworkTime) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uiNetStatsBytesSent as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(SQL_NET_STATS), "::", stringify!(uiNetStatsBytesSent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uiNetStatsBytesReceived as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(SQL_NET_STATS), "::", stringify!(uiNetStatsBytesReceived) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uiNetStatsRoundTrips as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(SQL_NET_STATS), "::", stringify!(uiNetStatsRoundTrips) ) ); } extern "C" { pub fn SQLColumns( hstmt: SQLHSTMT, szCatalogName: *mut SQLCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLCHAR, cbSchemaName: SQLSMALLINT, szTableName: *mut SQLCHAR, cbTableName: SQLSMALLINT, szColumnName: *mut SQLCHAR, cbColumnName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLDataSources( henv: SQLHENV, fDirection: SQLUSMALLINT, szDSN: *mut SQLCHAR, cbDSNMax: SQLSMALLINT, pcbDSN: *mut SQLSMALLINT, szDescription: *mut SQLCHAR, cbDescriptionMax: SQLSMALLINT, pcbDescription: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLFetchScroll( StatementHandle: SQLHSTMT, FetchOrientation: SQLSMALLINT, FetchOffset: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetConnectAttr( ConnectionHandle: SQLHDBC, Attribute: SQLINTEGER, Value: SQLPOINTER, BufferLength: SQLINTEGER, StringLength: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetConnectOption( hdbc: SQLHDBC, fOption: SQLUSMALLINT, pvParam: SQLPOINTER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetFunctions( hdbc: SQLHDBC, fFunction: SQLUSMALLINT, pfExists: *mut SQLUSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLGetInfo( hdbc: SQLHDBC, fInfoType: SQLUSMALLINT, rgbInfoValue: SQLPOINTER, cbInfoValueMax: SQLSMALLINT, pcbInfoValue: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLGetStmtAttr( StatementHandle: SQLHSTMT, Attribute: SQLINTEGER, Value: SQLPOINTER, BufferLength: SQLINTEGER, StringLength: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetStmtOption( hstmt: SQLHSTMT, fOption: SQLUSMALLINT, pvParam: SQLPOINTER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetTypeInfo(hstmt: SQLHSTMT, fSqlType: SQLSMALLINT) -> SQLRETURN; } extern "C" { pub fn SQLParamData(hstmt: SQLHSTMT, prgbValue: *mut SQLPOINTER) -> SQLRETURN; } extern "C" { pub fn SQLPutData(hstmt: SQLHSTMT, rgbValue: SQLPOINTER, cbValue: SQLINTEGER) -> SQLRETURN; } extern "C" { pub fn SQLSetConnectAttr( hdbc: SQLHDBC, fOption: SQLINTEGER, pvParam: SQLPOINTER, fStrLen: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLSetConnectOption( hdbc: SQLHDBC, fOption: SQLUSMALLINT, vParam: SQLUINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLSetStmtAttr( hstmt: SQLHSTMT, fOption: SQLINTEGER, pvParam: SQLPOINTER, fStrLen: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLSetStmtOption( hstmt: SQLHSTMT, fOption: SQLUSMALLINT, vParam: SQLUINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLSpecialColumns( hstmt: SQLHSTMT, fColType: SQLUSMALLINT, szCatalogName: *mut SQLCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLCHAR, cbSchemaName: SQLSMALLINT, szTableName: *mut SQLCHAR, cbTableName: SQLSMALLINT, fScope: SQLUSMALLINT, fNullable: SQLUSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLStatistics( hstmt: SQLHSTMT, szCatalogName: *mut SQLCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLCHAR, cbSchemaName: SQLSMALLINT, szTableName: *mut SQLCHAR, cbTableName: SQLSMALLINT, fUnique: SQLUSMALLINT, fAccuracy: SQLUSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLTables( hstmt: SQLHSTMT, szCatalogName: *mut SQLCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLCHAR, cbSchemaName: SQLSMALLINT, szTableName: *mut SQLCHAR, cbTableName: SQLSMALLINT, szTableType: *mut SQLCHAR, cbTableType: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLNextResult(hstmtSource: SQLHSTMT, hstmtTarget: SQLHSTMT) -> SQLRETURN; } extern "C" { pub fn SQLColAttributeW( hstmt: SQLHSTMT, iCol: SQLUSMALLINT, iField: SQLUSMALLINT, pCharAttr: SQLPOINTER, cbCharAttrMax: SQLSMALLINT, pcbCharAttr: *mut SQLSMALLINT, pNumAttr: SQLPOINTER, ) -> SQLRETURN; } extern "C" { pub fn SQLColAttributesW( hstmt: SQLHSTMT, icol: SQLUSMALLINT, fDescType: SQLUSMALLINT, rgbDesc: SQLPOINTER, cbDescMax: SQLSMALLINT, pcbDesc: *mut SQLSMALLINT, pfDesc: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLConnectW( hdbc: SQLHDBC, szDSN: *mut SQLWCHAR, cbDSN: SQLSMALLINT, szUID: *mut SQLWCHAR, cbUID: SQLSMALLINT, szAuthStr: *mut SQLWCHAR, cbAuthStr: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLConnectWInt( hdbc: SQLHDBC, szDSN: *mut SQLWCHAR, cbDSN: SQLSMALLINT, szUID: *mut SQLWCHAR, cbUID: SQLSMALLINT, szAuthStr: *mut SQLWCHAR, cbAuthStr: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLDescribeColW( hstmt: SQLHSTMT, icol: SQLUSMALLINT, szColName: *mut SQLWCHAR, cbColNameMax: SQLSMALLINT, pcbColName: *mut SQLSMALLINT, pfSqlType: *mut SQLSMALLINT, pcbColDef: *mut SQLUINTEGER, pibScale: *mut SQLSMALLINT, pfNullable: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLErrorW( henv: SQLHENV, hdbc: SQLHDBC, hstmt: SQLHSTMT, szSqlState: *mut SQLWCHAR, pfNativeError: *mut SQLINTEGER, szErrorMsg: *mut SQLWCHAR, cbErrorMsgMax: SQLSMALLINT, pcbErrorMsg: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLExecDirectW( hstmt: SQLHSTMT, szSqlStr: *mut SQLWCHAR, cbSqlStr: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetConnectAttrW( hdbc: SQLHDBC, fAttribute: SQLINTEGER, rgbValue: SQLPOINTER, cbValueMax: SQLINTEGER, pcbValue: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetCursorNameW( hstmt: SQLHSTMT, szCursor: *mut SQLWCHAR, cbCursorMax: SQLSMALLINT, pcbCursor: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLSetDescFieldW( DescriptorHandle: SQLHDESC, RecNumber: SQLSMALLINT, FieldIdentifier: SQLSMALLINT, Value: SQLPOINTER, BufferLength: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetDescFieldW( hdesc: SQLHDESC, iRecord: SQLSMALLINT, iField: SQLSMALLINT, rgbValue: SQLPOINTER, cbValueMax: SQLINTEGER, pcbValue: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetDescRecW( hdesc: SQLHDESC, iRecord: SQLSMALLINT, szName: *mut SQLWCHAR, cbNameMax: SQLSMALLINT, pcbName: *mut SQLSMALLINT, pfType: *mut SQLSMALLINT, pfSubType: *mut SQLSMALLINT, pLength: *mut SQLINTEGER, pPrecision: *mut SQLSMALLINT, pScale: *mut SQLSMALLINT, pNullable: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLGetDiagFieldW( fHandleType: SQLSMALLINT, handle: SQLHANDLE, iRecord: SQLSMALLINT, fDiagField: SQLSMALLINT, rgbDiagInfo: SQLPOINTER, cbDiagInfoMax: SQLSMALLINT, pcbDiagInfo: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLGetDiagRecW( fHandleType: SQLSMALLINT, handle: SQLHANDLE, iRecord: SQLSMALLINT, szSqlState: *mut SQLWCHAR, pfNativeError: *mut SQLINTEGER, szErrorMsg: *mut SQLWCHAR, cbErrorMsgMax: SQLSMALLINT, pcbErrorMsg: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLGetEnvAttrW( hEnv: SQLHENV, fAttribute: SQLINTEGER, pParam: SQLPOINTER, cbParamMax: SQLINTEGER, pcbParam: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLPrepareW(hstmt: SQLHSTMT, szSqlStr: *mut SQLWCHAR, cbSqlStr: SQLINTEGER) -> SQLRETURN; } extern "C" { pub fn SQLExtendedPrepareW( hStmt: SQLHSTMT, pszSqlStrIn: *mut SQLWCHAR, cbSqlStr: SQLINTEGER, cPars: SQLINTEGER, sStmtType: SQLSMALLINT, cStmtAttrs: SQLINTEGER, piStmtAttr: *mut SQLINTEGER, pvParams: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLSetConnectAttrW( hdbc: SQLHDBC, fAttribute: SQLINTEGER, rgbValue: SQLPOINTER, cbValue: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLSetCursorNameW( hstmt: SQLHSTMT, szCursor: *mut SQLWCHAR, cbCursor: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLSetEnvAttrW( hEnv: SQLHENV, fAttribute: SQLINTEGER, pParam: SQLPOINTER, cbParam: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLColumnsW( hstmt: SQLHSTMT, szCatalogName: *mut SQLWCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLWCHAR, cbSchemaName: SQLSMALLINT, szTableName: *mut SQLWCHAR, cbTableName: SQLSMALLINT, szColumnName: *mut SQLWCHAR, cbColumnName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLGetInfoW( hdbc: SQLHDBC, fInfoType: SQLUSMALLINT, rgbInfoValue: SQLPOINTER, cbInfoValueMax: SQLSMALLINT, pcbInfoValue: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLGetConnectOptionW( hDbc: SQLHDBC, fOptionIn: SQLUSMALLINT, pvParam: SQLPOINTER, ) -> SQLRETURN; } extern "C" { pub fn SQLSetConnectOptionW( hDbc: SQLHDBC, fOptionIn: SQLUSMALLINT, vParam: SQLUINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetTypeInfoW(hstmt: SQLHSTMT, fSqlType: SQLSMALLINT) -> SQLRETURN; } extern "C" { pub fn SQLSpecialColumnsW( hstmt: SQLHSTMT, fColType: SQLUSMALLINT, szCatalogName: *mut SQLWCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLWCHAR, cbSchemaName: SQLSMALLINT, szTableName: *mut SQLWCHAR, cbTableName: SQLSMALLINT, fScope: SQLUSMALLINT, fNullable: SQLUSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLStatisticsW( hstmt: SQLHSTMT, szCatalogName: *mut SQLWCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLWCHAR, cbSchemaName: SQLSMALLINT, szTableName: *mut SQLWCHAR, cbTableName: SQLSMALLINT, fUnique: SQLUSMALLINT, fAccuracy: SQLUSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLTablesW( hstmt: SQLHSTMT, szCatalogName: *mut SQLWCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLWCHAR, cbSchemaName: SQLSMALLINT, szTableName: *mut SQLWCHAR, cbTableName: SQLSMALLINT, szTableType: *mut SQLWCHAR, cbTableType: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLDataSourcesW( henv: SQLHENV, fDirection: SQLUSMALLINT, szDSN: *mut SQLWCHAR, cbDSNMax: SQLSMALLINT, pcbDSN: *mut SQLSMALLINT, szDescription: *mut SQLWCHAR, cbDescriptionMax: SQLSMALLINT, pcbDescription: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLDriverConnectW( hdbc: SQLHDBC, hwnd: SQLHWND, szConnStrIn: *mut SQLWCHAR, cbConnStrIn: SQLSMALLINT, szConnStrOut: *mut SQLWCHAR, cbConnStrOutMax: SQLSMALLINT, pcbConnStrOut: *mut SQLSMALLINT, fDriverCompletion: SQLUSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLBrowseConnectW( hdbc: SQLHDBC, szConnStrIn: *mut SQLWCHAR, cbConnStrIn: SQLSMALLINT, szConnStrOut: *mut SQLWCHAR, cbConnStrOutMax: SQLSMALLINT, pcbConnStrOut: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLColumnPrivilegesW( hstmt: SQLHSTMT, szCatalogName: *mut SQLWCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLWCHAR, cbSchemaName: SQLSMALLINT, szTableName: *mut SQLWCHAR, cbTableName: SQLSMALLINT, szColumnName: *mut SQLWCHAR, cbColumnName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLGetStmtAttrW( hstmt: SQLHSTMT, fAttribute: SQLINTEGER, rgbValue: SQLPOINTER, cbValueMax: SQLINTEGER, pcbValue: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLSetStmtAttrW( hstmt: SQLHSTMT, fAttribute: SQLINTEGER, rgbValue: SQLPOINTER, cbValueMax: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLForeignKeysW( hstmt: SQLHSTMT, szPkCatalogName: *mut SQLWCHAR, cbPkCatalogName: SQLSMALLINT, szPkSchemaName: *mut SQLWCHAR, cbPkSchemaName: SQLSMALLINT, szPkTableName: *mut SQLWCHAR, cbPkTableName: SQLSMALLINT, szFkCatalogName: *mut SQLWCHAR, cbFkCatalogName: SQLSMALLINT, szFkSchemaName: *mut SQLWCHAR, cbFkSchemaName: SQLSMALLINT, szFkTableName: *mut SQLWCHAR, cbFkTableName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLNativeSqlW( hdbc: SQLHDBC, szSqlStrIn: *mut SQLWCHAR, cbSqlStrIn: SQLINTEGER, szSqlStr: *mut SQLWCHAR, cbSqlStrMax: SQLINTEGER, pcbSqlStr: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLPrimaryKeysW( hstmt: SQLHSTMT, szCatalogName: *mut SQLWCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLWCHAR, cbSchemaName: SQLSMALLINT, szTableName: *mut SQLWCHAR, cbTableName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLProcedureColumnsW( hstmt: SQLHSTMT, szCatalogName: *mut SQLWCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLWCHAR, cbSchemaName: SQLSMALLINT, szProcName: *mut SQLWCHAR, cbProcName: SQLSMALLINT, szColumnName: *mut SQLWCHAR, cbColumnName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLProceduresW( hstmt: SQLHSTMT, szCatalogName: *mut SQLWCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLWCHAR, cbSchemaName: SQLSMALLINT, szProcName: *mut SQLWCHAR, cbProcName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLExtendedProcedureColumnsW( hstmt: SQLHSTMT, szCatalogName: *mut SQLWCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLWCHAR, cbSchemaName: SQLSMALLINT, szProcName: *mut SQLWCHAR, cbProcName: SQLSMALLINT, szColumnName: *mut SQLWCHAR, cbColumnName: SQLSMALLINT, szModuleName: *mut SQLWCHAR, cbModuleName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLExtendedProceduresW( hstmt: SQLHSTMT, szCatalogName: *mut SQLWCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLWCHAR, cbSchemaName: SQLSMALLINT, szProcName: *mut SQLWCHAR, cbProcName: SQLSMALLINT, szModuleName: *mut SQLWCHAR, cbModuleName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLTablePrivilegesW( hstmt: SQLHSTMT, szCatalogName: *mut SQLWCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLWCHAR, cbSchemaName: SQLSMALLINT, szTableName: *mut SQLWCHAR, cbTableName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLCreateDbW( hDbc: SQLHDBC, pszDBW: *mut SQLWCHAR, cbDB: SQLINTEGER, pszCodeSetW: *mut SQLWCHAR, cbCodeSet: SQLINTEGER, pszModeW: *mut SQLWCHAR, cbMode: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLDropDbW(hDbc: SQLHDBC, pszDBW: *mut SQLWCHAR, cbDB: SQLINTEGER) -> SQLRETURN; } extern "C" { pub fn SQLCreatePkgW( hDbc: SQLHDBC, szBindFileNameIn: *mut SQLWCHAR, cbBindFileNameIn: SQLINTEGER, szBindOpts: *mut SQLWCHAR, cbBindOpts: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLDropPkgW( hDbc: SQLHDBC, szCollection: *mut SQLWCHAR, cbCollection: SQLINTEGER, szPackage: *mut SQLWCHAR, cbPackage: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLBindFileToCol( hstmt: SQLHSTMT, icol: SQLUSMALLINT, FileName: *mut SQLCHAR, FileNameLength: *mut SQLSMALLINT, FileOptions: *mut SQLUINTEGER, MaxFileNameLength: SQLSMALLINT, StringLength: *mut SQLINTEGER, IndicatorValue: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLBindFileToParam( hstmt: SQLHSTMT, ipar: SQLUSMALLINT, fSqlType: SQLSMALLINT, FileName: *mut SQLCHAR, FileNameLength: *mut SQLSMALLINT, FileOptions: *mut SQLUINTEGER, MaxFileNameLength: SQLSMALLINT, IndicatorValue: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetLength( hstmt: SQLHSTMT, LocatorCType: SQLSMALLINT, Locator: SQLINTEGER, StringLength: *mut SQLINTEGER, IndicatorValue: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetPosition( hstmt: SQLHSTMT, LocatorCType: SQLSMALLINT, SourceLocator: SQLINTEGER, SearchLocator: SQLINTEGER, SearchLiteral: *mut SQLCHAR, SearchLiteralLength: SQLINTEGER, FromPosition: SQLUINTEGER, LocatedAt: *mut SQLUINTEGER, IndicatorValue: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetSQLCA( henv: SQLHENV, hdbc: SQLHDBC, hstmt: SQLHSTMT, pSqlca: *mut sqlca, ) -> SQLRETURN; } extern "C" { pub fn SQLGetSubString( hstmt: SQLHSTMT, LocatorCType: SQLSMALLINT, SourceLocator: SQLINTEGER, FromPosition: SQLUINTEGER, ForLength: SQLUINTEGER, TargetCType: SQLSMALLINT, rgbValue: SQLPOINTER, cbValueMax: SQLINTEGER, StringLength: *mut SQLINTEGER, IndicatorValue: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLSetColAttributes( hstmt: SQLHSTMT, icol: SQLUSMALLINT, pszColName: *mut SQLCHAR, cbColName: SQLSMALLINT, fSQLType: SQLSMALLINT, cbColDef: SQLUINTEGER, ibScale: SQLSMALLINT, fNullable: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLExtendedProcedures( hstmt: SQLHSTMT, szCatalogName: *mut SQLCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLCHAR, cbSchemaName: SQLSMALLINT, szProcName: *mut SQLCHAR, cbProcName: SQLSMALLINT, szModuleName: *mut SQLCHAR, cbModuleName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLExtendedProcedureColumns( hstmt: SQLHSTMT, szCatalogName: *mut SQLCHAR, cbCatalogName: SQLSMALLINT, szSchemaName: *mut SQLCHAR, cbSchemaName: SQLSMALLINT, szProcName: *mut SQLCHAR, cbProcName: SQLSMALLINT, szColumnName: *mut SQLCHAR, cbColumnName: SQLSMALLINT, szModuleName: *mut SQLCHAR, cbModuleName: SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLReloadConfig( config_property: SQLINTEGER, DiagInfoString: *mut SQLCHAR, BufferLength: SQLSMALLINT, StringLengthPtr: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLReloadConfigW( config_property: SQLINTEGER, DiagInfoString: *mut SQLWCHAR, BufferLength: SQLSMALLINT, StringLengthPtr: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLGetPositionW( hStmt: SQLHSTMT, fCType: SQLSMALLINT, iLocatorIn: SQLINTEGER, iPatternLocator: SQLINTEGER, pszPatternLiteral: *mut SQLWCHAR, cbPatternLiteral: SQLINTEGER, iStartSearchAtIn: SQLUINTEGER, piLocatedAtIn: *mut SQLUINTEGER, piIndicatorValue: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLSetConnection(hdbc: SQLHDBC) -> SQLRETURN; } extern "C" { pub fn SQLGetEnvAttr( henv: SQLHENV, Attribute: SQLINTEGER, Value: SQLPOINTER, BufferLength: SQLINTEGER, StringLength: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLSetEnvAttr( henv: SQLHENV, Attribute: SQLINTEGER, Value: SQLPOINTER, StringLength: SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLBindParam( StatementHandle: SQLHSTMT, ParameterNumber: SQLUSMALLINT, ValueType: SQLSMALLINT, ParameterType: SQLSMALLINT, LengthPrecision: SQLUINTEGER, ParameterScale: SQLSMALLINT, ParameterValue: SQLPOINTER, StrLen_or_Ind: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLBuildDataLink( hStmt: SQLHSTMT, pszLinkType: *mut SQLCHAR, cbLinkType: SQLINTEGER, pszDataLocation: *mut SQLCHAR, cbDataLocation: SQLINTEGER, pszComment: *mut SQLCHAR, cbComment: SQLINTEGER, pDataLink: *mut SQLCHAR, cbDataLinkMax: SQLINTEGER, pcbDataLink: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLGetDataLinkAttr( hStmt: SQLHSTMT, fAttrType: SQLSMALLINT, pDataLink: *mut SQLCHAR, cbDataLink: SQLINTEGER, pAttribute: SQLPOINTER, cbAttributeMax: SQLINTEGER, pcbAttribute: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLExtendedPrepare( hstmt: SQLHSTMT, pszSqlStmt: *mut SQLCHAR, cbSqlStmt: SQLINTEGER, cPars: SQLINTEGER, sStmtType: SQLSMALLINT, cStmtAttrs: SQLINTEGER, piStmtAttr: *mut SQLINTEGER, pvParams: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLExtendedBind( hstmt: SQLHSTMT, fBindCol: SQLSMALLINT, cRecords: SQLSMALLINT, pfCType: *mut SQLSMALLINT, rgbValue: *mut SQLPOINTER, cbValueMax: *mut SQLINTEGER, puiPrecisionCType: *mut SQLUINTEGER, psScaleCType: *mut SQLSMALLINT, pcbValue: *mut *mut SQLINTEGER, piIndicatorPtr: *mut *mut SQLINTEGER, pfParamType: *mut SQLSMALLINT, pfSQLType: *mut SQLSMALLINT, pcbColDef: *mut SQLUINTEGER, pibScale: *mut SQLSMALLINT, ) -> SQLRETURN; } extern "C" { pub fn SQLExtendedDescribe( hStmt: SQLHANDLE, fDescribeCol: SQLSMALLINT, iNumRecordsAllocated: SQLUSMALLINT, pusNumRecords: *mut SQLUSMALLINT, pNames: *mut SQLCHAR, sNameMaxByteLen: SQLSMALLINT, psNameCharLen: *mut SQLSMALLINT, psSQLType: *mut SQLSMALLINT, pcbColDef: *mut SQLUINTEGER, pcbDisplaySize: *mut SQLUINTEGER, psScale: *mut SQLSMALLINT, psNullable: *mut SQLSMALLINT, psParamType: *mut SQLSMALLINT, piCardinality: *mut SQLINTEGER, ) -> SQLRETURN; } extern "C" { pub fn SQLDropPkg( hDbc: SQLHDBC, szCollection: *mut SQLCHAR, cbCollection: SQLINTEGER, szPackage: *mut SQLCHAR, cbPackage: SQLINTEGER, ) -> SQLRETURN; } pub type __builtin_va_list = *mut ::std::os::raw::c_char; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __crt_locale_data { pub _address: u8, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __crt_multibyte_data { pub _address: u8, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _ACTIVATION_CONTEXT { pub _address: u8, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct NET_ADDRESS_INFO_ { pub _address: u8, }