1// Bindings generated by `windows-bindgen` 0.52.0
2
3#![allow(non_snake_case, non_upper_case_globals, non_camel_case_types, dead_code, clippy::all)]
4pub type CorElementType = u8;
5pub const ELEMENT_TYPE_ARRAY: CorElementType = 20u8;
6pub const ELEMENT_TYPE_BOOLEAN: CorElementType = 2u8;
7pub const ELEMENT_TYPE_BYREF: CorElementType = 16u8;
8pub const ELEMENT_TYPE_CHAR: CorElementType = 3u8;
9pub const ELEMENT_TYPE_CLASS: CorElementType = 18u8;
10pub const ELEMENT_TYPE_CMOD_OPT: CorElementType = 32u8;
11pub const ELEMENT_TYPE_CMOD_REQD: CorElementType = 31u8;
12pub const ELEMENT_TYPE_GENERICINST: CorElementType = 21u8;
13pub const ELEMENT_TYPE_I: CorElementType = 24u8;
14pub const ELEMENT_TYPE_I1: CorElementType = 4u8;
15pub const ELEMENT_TYPE_I2: CorElementType = 6u8;
16pub const ELEMENT_TYPE_I4: CorElementType = 8u8;
17pub const ELEMENT_TYPE_I8: CorElementType = 10u8;
18pub const ELEMENT_TYPE_OBJECT: CorElementType = 28u8;
19pub const ELEMENT_TYPE_PTR: CorElementType = 15u8;
20pub const ELEMENT_TYPE_R4: CorElementType = 12u8;
21pub const ELEMENT_TYPE_R8: CorElementType = 13u8;
22pub const ELEMENT_TYPE_STRING: CorElementType = 14u8;
23pub const ELEMENT_TYPE_SZARRAY: CorElementType = 29u8;
24pub const ELEMENT_TYPE_U: CorElementType = 25u8;
25pub const ELEMENT_TYPE_U1: CorElementType = 5u8;
26pub const ELEMENT_TYPE_U2: CorElementType = 7u8;
27pub const ELEMENT_TYPE_U4: CorElementType = 9u8;
28pub const ELEMENT_TYPE_U8: CorElementType = 11u8;
29pub const ELEMENT_TYPE_VALUETYPE: CorElementType = 17u8;
30pub const ELEMENT_TYPE_VAR: CorElementType = 19u8;
31pub const ELEMENT_TYPE_VOID: CorElementType = 1u8;
32#[repr(C)]
33pub struct IMAGE_COR20_HEADER {
34 pub cb: u32,
35 pub MajorRuntimeVersion: u16,
36 pub MinorRuntimeVersion: u16,
37 pub MetaData: IMAGE_DATA_DIRECTORY,
38 pub Flags: u32,
39 pub Anonymous: IMAGE_COR20_HEADER_0,
40 pub Resources: IMAGE_DATA_DIRECTORY,
41 pub StrongNameSignature: IMAGE_DATA_DIRECTORY,
42 pub CodeManagerTable: IMAGE_DATA_DIRECTORY,
43 pub VTableFixups: IMAGE_DATA_DIRECTORY,
44 pub ExportAddressTableJumps: IMAGE_DATA_DIRECTORY,
45 pub ManagedNativeHeader: IMAGE_DATA_DIRECTORY,
46}
47impl ::core::marker::Copy for IMAGE_COR20_HEADER {}
48impl ::core::clone::Clone for IMAGE_COR20_HEADER {
49 fn clone(&self) -> Self {
50 *self
51 }
52}
53#[repr(C)]
54pub union IMAGE_COR20_HEADER_0 {
55 pub EntryPointToken: u32,
56 pub EntryPointRVA: u32,
57}
58impl ::core::marker::Copy for IMAGE_COR20_HEADER_0 {}
59impl ::core::clone::Clone for IMAGE_COR20_HEADER_0 {
60 fn clone(&self) -> Self {
61 *self
62 }
63}
64#[repr(C)]
65pub struct IMAGE_DATA_DIRECTORY {
66 pub VirtualAddress: u32,
67 pub Size: u32,
68}
69impl ::core::marker::Copy for IMAGE_DATA_DIRECTORY {}
70impl ::core::clone::Clone for IMAGE_DATA_DIRECTORY {
71 fn clone(&self) -> Self {
72 *self
73 }
74}
75pub type IMAGE_DIRECTORY_ENTRY = u16;
76pub const IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR: IMAGE_DIRECTORY_ENTRY = 14u16;
77pub const IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE: IMAGE_DLL_CHARACTERISTICS = 64u16;
78pub const IMAGE_DLLCHARACTERISTICS_NO_SEH: IMAGE_DLL_CHARACTERISTICS = 1024u16;
79pub const IMAGE_DLLCHARACTERISTICS_NX_COMPAT: IMAGE_DLL_CHARACTERISTICS = 256u16;
80pub type IMAGE_DLL_CHARACTERISTICS = u16;
81#[repr(C, packed(2))]
82pub struct IMAGE_DOS_HEADER {
83 pub e_magic: u16,
84 pub e_cblp: u16,
85 pub e_cp: u16,
86 pub e_crlc: u16,
87 pub e_cparhdr: u16,
88 pub e_minalloc: u16,
89 pub e_maxalloc: u16,
90 pub e_ss: u16,
91 pub e_sp: u16,
92 pub e_csum: u16,
93 pub e_ip: u16,
94 pub e_cs: u16,
95 pub e_lfarlc: u16,
96 pub e_ovno: u16,
97 pub e_res: [u16; 4],
98 pub e_oemid: u16,
99 pub e_oeminfo: u16,
100 pub e_res2: [u16; 10],
101 pub e_lfanew: i32,
102}
103impl ::core::marker::Copy for IMAGE_DOS_HEADER {}
104impl ::core::clone::Clone for IMAGE_DOS_HEADER {
105 fn clone(&self) -> Self {
106 *self
107 }
108}
109pub const IMAGE_DOS_SIGNATURE: u16 = 23117u16;
110pub const IMAGE_FILE_32BIT_MACHINE: IMAGE_FILE_CHARACTERISTICS = 256u16;
111pub type IMAGE_FILE_CHARACTERISTICS = u16;
112pub const IMAGE_FILE_DLL: IMAGE_FILE_CHARACTERISTICS = 8192u16;
113pub const IMAGE_FILE_EXECUTABLE_IMAGE: IMAGE_FILE_CHARACTERISTICS = 2u16;
114#[repr(C)]
115pub struct IMAGE_FILE_HEADER {
116 pub Machine: IMAGE_FILE_MACHINE,
117 pub NumberOfSections: u16,
118 pub TimeDateStamp: u32,
119 pub PointerToSymbolTable: u32,
120 pub NumberOfSymbols: u32,
121 pub SizeOfOptionalHeader: u16,
122 pub Characteristics: IMAGE_FILE_CHARACTERISTICS,
123}
124impl ::core::marker::Copy for IMAGE_FILE_HEADER {}
125impl ::core::clone::Clone for IMAGE_FILE_HEADER {
126 fn clone(&self) -> Self {
127 *self
128 }
129}
130pub type IMAGE_FILE_MACHINE = u16;
131pub const IMAGE_FILE_MACHINE_I386: IMAGE_FILE_MACHINE = 332u16;
132pub const IMAGE_NT_OPTIONAL_HDR32_MAGIC: IMAGE_OPTIONAL_HEADER_MAGIC = 267u16;
133pub const IMAGE_NT_OPTIONAL_HDR64_MAGIC: IMAGE_OPTIONAL_HEADER_MAGIC = 523u16;
134pub const IMAGE_NT_SIGNATURE: u32 = 17744u32;
135#[repr(C)]
136pub struct IMAGE_OPTIONAL_HEADER32 {
137 pub Magic: IMAGE_OPTIONAL_HEADER_MAGIC,
138 pub MajorLinkerVersion: u8,
139 pub MinorLinkerVersion: u8,
140 pub SizeOfCode: u32,
141 pub SizeOfInitializedData: u32,
142 pub SizeOfUninitializedData: u32,
143 pub AddressOfEntryPoint: u32,
144 pub BaseOfCode: u32,
145 pub BaseOfData: u32,
146 pub ImageBase: u32,
147 pub SectionAlignment: u32,
148 pub FileAlignment: u32,
149 pub MajorOperatingSystemVersion: u16,
150 pub MinorOperatingSystemVersion: u16,
151 pub MajorImageVersion: u16,
152 pub MinorImageVersion: u16,
153 pub MajorSubsystemVersion: u16,
154 pub MinorSubsystemVersion: u16,
155 pub Win32VersionValue: u32,
156 pub SizeOfImage: u32,
157 pub SizeOfHeaders: u32,
158 pub CheckSum: u32,
159 pub Subsystem: IMAGE_SUBSYSTEM,
160 pub DllCharacteristics: IMAGE_DLL_CHARACTERISTICS,
161 pub SizeOfStackReserve: u32,
162 pub SizeOfStackCommit: u32,
163 pub SizeOfHeapReserve: u32,
164 pub SizeOfHeapCommit: u32,
165 pub LoaderFlags: u32,
166 pub NumberOfRvaAndSizes: u32,
167 pub DataDirectory: [IMAGE_DATA_DIRECTORY; 16],
168}
169impl ::core::marker::Copy for IMAGE_OPTIONAL_HEADER32 {}
170impl ::core::clone::Clone for IMAGE_OPTIONAL_HEADER32 {
171 fn clone(&self) -> Self {
172 *self
173 }
174}
175#[repr(C, packed(4))]
176pub struct IMAGE_OPTIONAL_HEADER64 {
177 pub Magic: IMAGE_OPTIONAL_HEADER_MAGIC,
178 pub MajorLinkerVersion: u8,
179 pub MinorLinkerVersion: u8,
180 pub SizeOfCode: u32,
181 pub SizeOfInitializedData: u32,
182 pub SizeOfUninitializedData: u32,
183 pub AddressOfEntryPoint: u32,
184 pub BaseOfCode: u32,
185 pub ImageBase: u64,
186 pub SectionAlignment: u32,
187 pub FileAlignment: u32,
188 pub MajorOperatingSystemVersion: u16,
189 pub MinorOperatingSystemVersion: u16,
190 pub MajorImageVersion: u16,
191 pub MinorImageVersion: u16,
192 pub MajorSubsystemVersion: u16,
193 pub MinorSubsystemVersion: u16,
194 pub Win32VersionValue: u32,
195 pub SizeOfImage: u32,
196 pub SizeOfHeaders: u32,
197 pub CheckSum: u32,
198 pub Subsystem: IMAGE_SUBSYSTEM,
199 pub DllCharacteristics: IMAGE_DLL_CHARACTERISTICS,
200 pub SizeOfStackReserve: u64,
201 pub SizeOfStackCommit: u64,
202 pub SizeOfHeapReserve: u64,
203 pub SizeOfHeapCommit: u64,
204 pub LoaderFlags: u32,
205 pub NumberOfRvaAndSizes: u32,
206 pub DataDirectory: [IMAGE_DATA_DIRECTORY; 16],
207}
208impl ::core::marker::Copy for IMAGE_OPTIONAL_HEADER64 {}
209impl ::core::clone::Clone for IMAGE_OPTIONAL_HEADER64 {
210 fn clone(&self) -> Self {
211 *self
212 }
213}
214pub type IMAGE_OPTIONAL_HEADER_MAGIC = u16;
215pub type IMAGE_SECTION_CHARACTERISTICS = u32;
216#[repr(C)]
217pub struct IMAGE_SECTION_HEADER {
218 pub Name: [u8; 8],
219 pub Misc: IMAGE_SECTION_HEADER_0,
220 pub VirtualAddress: u32,
221 pub SizeOfRawData: u32,
222 pub PointerToRawData: u32,
223 pub PointerToRelocations: u32,
224 pub PointerToLinenumbers: u32,
225 pub NumberOfRelocations: u16,
226 pub NumberOfLinenumbers: u16,
227 pub Characteristics: IMAGE_SECTION_CHARACTERISTICS,
228}
229impl ::core::marker::Copy for IMAGE_SECTION_HEADER {}
230impl ::core::clone::Clone for IMAGE_SECTION_HEADER {
231 fn clone(&self) -> Self {
232 *self
233 }
234}
235#[repr(C)]
236pub union IMAGE_SECTION_HEADER_0 {
237 pub PhysicalAddress: u32,
238 pub VirtualSize: u32,
239}
240impl ::core::marker::Copy for IMAGE_SECTION_HEADER_0 {}
241impl ::core::clone::Clone for IMAGE_SECTION_HEADER_0 {
242 fn clone(&self) -> Self {
243 *self
244 }
245}
246pub type IMAGE_SUBSYSTEM = u16;
247pub const IMAGE_SUBSYSTEM_WINDOWS_CUI: IMAGE_SUBSYSTEM = 3u16;
248