]> git.proxmox.com Git - rustc.git/blame - vendor/windows-metadata/src/bindings.rs
New upstream version 1.73.0+dfsg1
[rustc.git] / vendor / windows-metadata / src / bindings.rs
CommitLineData
49aad941
FG
1// Note: these definitions are taken from `windows-sys` to avoid a circular dependency.
2#![allow(non_snake_case, non_camel_case_types)]
3
4pub type IMAGE_DIRECTORY_ENTRY = u32;
5pub type IMAGE_DLL_CHARACTERISTICS = u16;
6pub type IMAGE_FILE_CHARACTERISTICS = u16;
7pub type IMAGE_FILE_MACHINE = u16;
8pub type IMAGE_OPTIONAL_HEADER_MAGIC = u16;
9pub type IMAGE_SECTION_CHARACTERISTICS = u32;
10pub type IMAGE_SUBSYSTEM = u16;
11
12pub const IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR: IMAGE_DIRECTORY_ENTRY = 14u32;
13pub const IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE: IMAGE_DLL_CHARACTERISTICS = 64u16;
14pub const IMAGE_DLLCHARACTERISTICS_NO_SEH: IMAGE_DLL_CHARACTERISTICS = 1024u16;
15pub const IMAGE_DLLCHARACTERISTICS_NX_COMPAT: IMAGE_DLL_CHARACTERISTICS = 256u16;
16pub const IMAGE_DOS_SIGNATURE: u16 = 23117u16;
17pub const IMAGE_FILE_32BIT_MACHINE: IMAGE_FILE_CHARACTERISTICS = 256u16;
18pub const IMAGE_FILE_DLL: IMAGE_FILE_CHARACTERISTICS = 8192u16;
19pub const IMAGE_FILE_EXECUTABLE_IMAGE: IMAGE_FILE_CHARACTERISTICS = 2u16;
20pub const IMAGE_FILE_MACHINE_I386: IMAGE_FILE_MACHINE = 332u16;
21pub const IMAGE_NT_OPTIONAL_HDR32_MAGIC: IMAGE_OPTIONAL_HEADER_MAGIC = 267u16;
22pub const IMAGE_NT_OPTIONAL_HDR64_MAGIC: IMAGE_OPTIONAL_HEADER_MAGIC = 523u16;
23pub const IMAGE_NT_SIGNATURE: u32 = 17744u32;
24pub const IMAGE_SUBSYSTEM_WINDOWS_CUI: IMAGE_SUBSYSTEM = 3u16;
25
26#[repr(C, packed(2))]
27pub struct IMAGE_DOS_HEADER {
28 pub e_magic: u16,
29 pub e_cblp: u16,
30 pub e_cp: u16,
31 pub e_crlc: u16,
32 pub e_cparhdr: u16,
33 pub e_minalloc: u16,
34 pub e_maxalloc: u16,
35 pub e_ss: u16,
36 pub e_sp: u16,
37 pub e_csum: u16,
38 pub e_ip: u16,
39 pub e_cs: u16,
40 pub e_lfarlc: u16,
41 pub e_ovno: u16,
42 pub e_res: [u16; 4],
43 pub e_oemid: u16,
44 pub e_oeminfo: u16,
45 pub e_res2: [u16; 10],
46 pub e_lfanew: i32,
47}
48
49#[repr(C)]
50pub struct IMAGE_FILE_HEADER {
51 pub Machine: IMAGE_FILE_MACHINE,
52 pub NumberOfSections: u16,
53 pub TimeDateStamp: u32,
54 pub PointerToSymbolTable: u32,
55 pub NumberOfSymbols: u32,
56 pub SizeOfOptionalHeader: u16,
57 pub Characteristics: IMAGE_FILE_CHARACTERISTICS,
58}
59
60#[repr(C)]
61pub struct IMAGE_OPTIONAL_HEADER32 {
62 pub Magic: IMAGE_OPTIONAL_HEADER_MAGIC,
63 pub MajorLinkerVersion: u8,
64 pub MinorLinkerVersion: u8,
65 pub SizeOfCode: u32,
66 pub SizeOfInitializedData: u32,
67 pub SizeOfUninitializedData: u32,
68 pub AddressOfEntryPoint: u32,
69 pub BaseOfCode: u32,
70 pub BaseOfData: u32,
71 pub ImageBase: u32,
72 pub SectionAlignment: u32,
73 pub FileAlignment: u32,
74 pub MajorOperatingSystemVersion: u16,
75 pub MinorOperatingSystemVersion: u16,
76 pub MajorImageVersion: u16,
77 pub MinorImageVersion: u16,
78 pub MajorSubsystemVersion: u16,
79 pub MinorSubsystemVersion: u16,
80 pub Win32VersionValue: u32,
81 pub SizeOfImage: u32,
82 pub SizeOfHeaders: u32,
83 pub CheckSum: u32,
84 pub Subsystem: IMAGE_SUBSYSTEM,
85 pub DllCharacteristics: IMAGE_DLL_CHARACTERISTICS,
86 pub SizeOfStackReserve: u32,
87 pub SizeOfStackCommit: u32,
88 pub SizeOfHeapReserve: u32,
89 pub SizeOfHeapCommit: u32,
90 pub LoaderFlags: u32,
91 pub NumberOfRvaAndSizes: u32,
92 pub DataDirectory: [IMAGE_DATA_DIRECTORY; 16],
93}
94
95#[repr(C, packed(4))]
96pub struct IMAGE_OPTIONAL_HEADER64 {
97 pub Magic: IMAGE_OPTIONAL_HEADER_MAGIC,
98 pub MajorLinkerVersion: u8,
99 pub MinorLinkerVersion: u8,
100 pub SizeOfCode: u32,
101 pub SizeOfInitializedData: u32,
102 pub SizeOfUninitializedData: u32,
103 pub AddressOfEntryPoint: u32,
104 pub BaseOfCode: u32,
105 pub ImageBase: u64,
106 pub SectionAlignment: u32,
107 pub FileAlignment: u32,
108 pub MajorOperatingSystemVersion: u16,
109 pub MinorOperatingSystemVersion: u16,
110 pub MajorImageVersion: u16,
111 pub MinorImageVersion: u16,
112 pub MajorSubsystemVersion: u16,
113 pub MinorSubsystemVersion: u16,
114 pub Win32VersionValue: u32,
115 pub SizeOfImage: u32,
116 pub SizeOfHeaders: u32,
117 pub CheckSum: u32,
118 pub Subsystem: IMAGE_SUBSYSTEM,
119 pub DllCharacteristics: IMAGE_DLL_CHARACTERISTICS,
120 pub SizeOfStackReserve: u64,
121 pub SizeOfStackCommit: u64,
122 pub SizeOfHeapReserve: u64,
123 pub SizeOfHeapCommit: u64,
124 pub LoaderFlags: u32,
125 pub NumberOfRvaAndSizes: u32,
126 pub DataDirectory: [IMAGE_DATA_DIRECTORY; 16],
127}
128
129#[repr(C)]
130pub struct IMAGE_SECTION_HEADER {
131 pub Name: [u8; 8],
132 pub Misc: IMAGE_SECTION_HEADER_0,
133 pub VirtualAddress: u32,
134 pub SizeOfRawData: u32,
135 pub PointerToRawData: u32,
136 pub PointerToRelocations: u32,
137 pub PointerToLinenumbers: u32,
138 pub NumberOfRelocations: u16,
139 pub NumberOfLinenumbers: u16,
140 pub Characteristics: IMAGE_SECTION_CHARACTERISTICS,
141}
142
143#[repr(C)]
144pub union IMAGE_SECTION_HEADER_0 {
145 pub PhysicalAddress: u32,
146 pub VirtualSize: u32,
147}
148
149#[repr(C)]
150pub struct IMAGE_DATA_DIRECTORY {
151 pub VirtualAddress: u32,
152 pub Size: u32,
153}
154
155#[repr(C)]
156pub struct IMAGE_COR20_HEADER {
157 pub cb: u32,
158 pub MajorRuntimeVersion: u16,
159 pub MinorRuntimeVersion: u16,
160 pub MetaData: IMAGE_DATA_DIRECTORY,
161 pub Flags: u32,
162 pub Anonymous: IMAGE_COR20_HEADER_0,
163 pub Resources: IMAGE_DATA_DIRECTORY,
164 pub StrongNameSignature: IMAGE_DATA_DIRECTORY,
165 pub CodeManagerTable: IMAGE_DATA_DIRECTORY,
166 pub VTableFixups: IMAGE_DATA_DIRECTORY,
167 pub ExportAddressTableJumps: IMAGE_DATA_DIRECTORY,
168 pub ManagedNativeHeader: IMAGE_DATA_DIRECTORY,
169}
170
171#[repr(C)]
172pub union IMAGE_COR20_HEADER_0 {
173 pub EntryPointToken: u32,
174 pub EntryPointRVA: u32,
175}