Deleted Added
full compact
pe_var.h (123474) pe_var.h (124165)
1/*
2 * Copyright (c) 2003
3 * Bill Paul <wpaul@windriver.com>. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 15 unchanged lines hidden (view full) ---

24 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
30 * THE POSSIBILITY OF SUCH DAMAGE.
31 *
1/*
2 * Copyright (c) 2003
3 * Bill Paul <wpaul@windriver.com>. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 15 unchanged lines hidden (view full) ---

24 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
30 * THE POSSIBILITY OF SUCH DAMAGE.
31 *
32 * $FreeBSD: head/sys/compat/ndis/pe_var.h 123474 2003-12-11 22:34:37Z wpaul $
32 * $FreeBSD: head/sys/compat/ndis/pe_var.h 124165 2004-01-06 07:09:26Z wpaul $
33 */
34
35#ifndef _PE_VAR_H_
36#define _PE_VAR_H_
37
38/*
39 * Image Format
40 */

--- 184 unchanged lines hidden (view full) ---

225#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 /* Machine Value (MIPS GP) */
226#define IMAGE_DIRECTORY_ENTRY_TLS 9 /* TLS Directory */
227#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 /* Load Configuration Directory */
228#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11 /* Bound Import Directory in headers */
229#define IMAGE_DIRECTORY_ENTRY_IAT 12 /* Import Address Table */
230#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT 13
231#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14
232
33 */
34
35#ifndef _PE_VAR_H_
36#define _PE_VAR_H_
37
38/*
39 * Image Format
40 */

--- 184 unchanged lines hidden (view full) ---

225#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 /* Machine Value (MIPS GP) */
226#define IMAGE_DIRECTORY_ENTRY_TLS 9 /* TLS Directory */
227#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 /* Load Configuration Directory */
228#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11 /* Bound Import Directory in headers */
229#define IMAGE_DIRECTORY_ENTRY_IAT 12 /* Import Address Table */
230#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT 13
231#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14
232
233/* Resource types */
234
235#define RT_CURSOR 1
236#define RT_BITMAP 2
237#define RT_ICON 3
238#define RT_MENU 4
239#define RT_DIALOG 5
240#define RT_STRING 6
241#define RT_FONTDIR 7
242#define RT_FONT 8
243#define RT_ACCELERATOR 9
244#define RT_RCDATA 10
245#define RT_MESSAGETABLE 11
246#define RT_GROUP_CURSOR 12
247#define RT_GROUP_ICON 14
248#define RT_VERSION 16
249#define RT_DLGINCLUDE 17
250#define RT_PLUGPLAY 19
251#define RT_VXD 20
252#define RT_ANICURSOR 21
253#define RT_ANIICON 22
254#define RT_HTML 23
255
233/*
234 * Section header format.
235 */
236
237#define IMAGE_SHORT_NAME_LEN 8
238
239struct image_section_header {
240 uint8_t ish_name[IMAGE_SHORT_NAME_LEN];

--- 57 unchanged lines hidden (view full) ---

298#define IMAGE_REL_BASED_MIPS_JMPADDR 5
299#define IMAGE_REL_BASED_SECTION 6
300#define IMAGE_REL_BASED_REL 7
301#define IMAGE_REL_BASED_MIPS_JMPADDR16 9
302#define IMAGE_REL_BASED_IA64_IMM64 9 /* yes, 9 too */
303#define IMAGE_REL_BASED_DIR64 10
304#define IMAGE_REL_BASED_HIGH3ADJ 11
305
256/*
257 * Section header format.
258 */
259
260#define IMAGE_SHORT_NAME_LEN 8
261
262struct image_section_header {
263 uint8_t ish_name[IMAGE_SHORT_NAME_LEN];

--- 57 unchanged lines hidden (view full) ---

321#define IMAGE_REL_BASED_MIPS_JMPADDR 5
322#define IMAGE_REL_BASED_SECTION 6
323#define IMAGE_REL_BASED_REL 7
324#define IMAGE_REL_BASED_MIPS_JMPADDR16 9
325#define IMAGE_REL_BASED_IA64_IMM64 9 /* yes, 9 too */
326#define IMAGE_REL_BASED_DIR64 10
327#define IMAGE_REL_BASED_HIGH3ADJ 11
328
329struct image_resource_directory_entry {
330 uint32_t irde_name;
331 uint32_t irde_dataoff;
332};
306
333
334typedef struct image_resource_directory_entry image_resource_directory_entry;
335
336#define RESOURCE_NAME_STR 0x80000000
337#define RESOURCE_DIR_FLAG 0x80000000
338
339struct image_resource_directory {
340 uint32_t ird_characteristics;
341 uint32_t ird_timestamp;
342 uint16_t ird_majorver;
343 uint16_t ird_minorver;
344 uint16_t ird_named_entries;
345 uint16_t ird_id_entries;
346#ifdef notdef
347 image_resource_directory_entry ird_entries[1];
348#endif
349};
350
351typedef struct image_resource_directory image_resource_directory;
352
353struct image_resource_directory_string {
354 uint16_t irds_len;
355 char irds_name[1];
356};
357
358typedef struct image_resource_directory_string image_resource_directory_string;
359
360struct image_resource_directory_string_u {
361 uint16_t irds_len;
362 char irds_name[1];
363};
364
365typedef struct image_resource_directory_string_u
366 image_resource_directory_string_u;
367
368struct image_resource_data_entry {
369 uint32_t irde_offset;
370 uint32_t irde_size;
371 uint32_t irde_codepage;
372 uint32_t irde_rsvd;
373};
374
375typedef struct image_resource_data_entry image_resource_data_entry;
376
377struct message_resource_data {
378 uint32_t mrd_numblocks;
379#ifdef notdef
380 message_resource_block mrd_blocks[1];
381#endif
382};
383
384typedef struct message_resource_data message_resource_data;
385
386struct message_resource_block {
387 uint32_t mrb_lowid;
388 uint32_t mrb_highid;
389 uint32_t mrb_entryoff;
390};
391
392typedef struct message_resource_block message_resource_block;
393
394struct message_resource_entry {
395 uint16_t mre_len;
396 uint16_t mre_flags;
397 char mre_text[];
398};
399
400typedef struct message_resource_entry message_resource_entry;
401
402#define MESSAGE_RESOURCE_UNICODE 0x0001
403
307struct image_patch_table {
308 char *ipt_name;
309 void (*ipt_func)(void);
310};
311
312typedef struct image_patch_table image_patch_table;
313
314__BEGIN_DECLS

--- 5 unchanged lines hidden (view full) ---

320extern int pe_numsections(vm_offset_t);
321extern vm_offset_t pe_imagebase(vm_offset_t);
322extern vm_offset_t pe_directory_offset(vm_offset_t, uint32_t);
323extern vm_offset_t pe_translate_addr (vm_offset_t, uint32_t);
324extern int pe_get_section(vm_offset_t, image_section_header *, const char *);
325extern int pe_relocate(vm_offset_t);
326extern int pe_get_import_descriptor(vm_offset_t, image_import_descriptor *, char *);
327extern int pe_patch_imports(vm_offset_t, char *, image_patch_table *);
404struct image_patch_table {
405 char *ipt_name;
406 void (*ipt_func)(void);
407};
408
409typedef struct image_patch_table image_patch_table;
410
411__BEGIN_DECLS

--- 5 unchanged lines hidden (view full) ---

417extern int pe_numsections(vm_offset_t);
418extern vm_offset_t pe_imagebase(vm_offset_t);
419extern vm_offset_t pe_directory_offset(vm_offset_t, uint32_t);
420extern vm_offset_t pe_translate_addr (vm_offset_t, uint32_t);
421extern int pe_get_section(vm_offset_t, image_section_header *, const char *);
422extern int pe_relocate(vm_offset_t);
423extern int pe_get_import_descriptor(vm_offset_t, image_import_descriptor *, char *);
424extern int pe_patch_imports(vm_offset_t, char *, image_patch_table *);
425#ifdef _KERNEL
426extern int pe_get_messagetable(vm_offset_t, message_resource_data **);
427extern int pe_get_message(vm_offset_t, uint32_t, char **, int *);
428#endif
328__END_DECLS
329
330#endif /* _PE_VAR_H_ */
429__END_DECLS
430
431#endif /* _PE_VAR_H_ */