⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pe_linker.h

📁 ndis在linux下的无线网卡驱动源码
💻 H
📖 第 1 页 / 共 3 页
字号:
/* * This file is an excerpt of winnt.h from WINE, which bears the * following copyright: * * Win32 definitions for Windows NT * * Copyright 1996 Alexandre Julliard * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA *//* * File formats definitions */typedef struct _IMAGE_DOS_HEADER {    WORD  e_magic;      /* 00: MZ Header signature */    WORD  e_cblp;       /* 02: Bytes on last page of file */    WORD  e_cp;         /* 04: Pages in file */    WORD  e_crlc;       /* 06: Relocations */    WORD  e_cparhdr;    /* 08: Size of header in paragraphs */    WORD  e_minalloc;   /* 0a: Minimum extra paragraphs needed */    WORD  e_maxalloc;   /* 0c: Maximum extra paragraphs needed */    WORD  e_ss;         /* 0e: Initial (relative) SS value */    WORD  e_sp;         /* 10: Initial SP value */    WORD  e_csum;       /* 12: Checksum */    WORD  e_ip;         /* 14: Initial IP value */    WORD  e_cs;         /* 16: Initial (relative) CS value */    WORD  e_lfarlc;     /* 18: File address of relocation table */    WORD  e_ovno;       /* 1a: Overlay number */    WORD  e_res[4];     /* 1c: Reserved words */    WORD  e_oemid;      /* 24: OEM identifier (for e_oeminfo) */    WORD  e_oeminfo;    /* 26: OEM information; e_oemid specific */    WORD  e_res2[10];   /* 28: Reserved words */    DWORD e_lfanew;     /* 3c: Offset to extended header */} IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;#define IMAGE_DOS_SIGNATURE    0x5A4D     /* MZ   */#define IMAGE_OS2_SIGNATURE    0x454E     /* NE   */#define IMAGE_OS2_SIGNATURE_LE 0x454C     /* LE   */#define IMAGE_OS2_SIGNATURE_LX 0x584C     /* LX */#define IMAGE_VXD_SIGNATURE    0x454C     /* LE   */#define IMAGE_NT_SIGNATURE     0x00004550 /* PE00 *//* * This is the Windows executable (NE) header. * the name IMAGE_OS2_HEADER is misleading, but in the SDK this way. */typedef struct{    WORD  ne_magic;             /* 00 NE signature 'NE' */    BYTE  ne_ver;               /* 02 Linker version number */    BYTE  ne_rev;               /* 03 Linker revision number */    WORD  ne_enttab;            /* 04 Offset to entry table relative to NE */    WORD  ne_cbenttab;          /* 06 Length of entry table in bytes */    LONG  ne_crc;               /* 08 Checksum */    WORD  ne_flags;             /* 0c Flags about segments in this file */    WORD  ne_autodata;          /* 0e Automatic data segment number */    WORD  ne_heap;              /* 10 Initial size of local heap */    WORD  ne_stack;             /* 12 Initial size of stack */    DWORD ne_csip;              /* 14 Initial CS:IP */    DWORD ne_sssp;              /* 18 Initial SS:SP */    WORD  ne_cseg;              /* 1c # of entries in segment table */    WORD  ne_cmod;              /* 1e # of entries in module reference tab. */    WORD  ne_cbnrestab;         /* 20 Length of nonresident-name table */    WORD  ne_segtab;            /* 22 Offset to segment table */    WORD  ne_rsrctab;           /* 24 Offset to resource table */    WORD  ne_restab;            /* 26 Offset to resident-name table */    WORD  ne_modtab;            /* 28 Offset to module reference table */    WORD  ne_imptab;            /* 2a Offset to imported name table */    DWORD ne_nrestab;           /* 2c Offset to nonresident-name table */    WORD  ne_cmovent;           /* 30 # of movable entry points */    WORD  ne_align;             /* 32 Logical sector alignment shift count */    WORD  ne_cres;              /* 34 # of resource segments */    BYTE  ne_exetyp;            /* 36 Flags indicating target OS */    BYTE  ne_flagsothers;       /* 37 Additional information flags */    WORD  ne_pretthunks;        /* 38 Offset to return thunks */    WORD  ne_psegrefbytes;      /* 3a Offset to segment ref. bytes */    WORD  ne_swaparea;          /* 3c Reserved by Microsoft */    WORD  ne_expver;            /* 3e Expected Windows version number */} IMAGE_OS2_HEADER, *PIMAGE_OS2_HEADER;typedef struct _IMAGE_VXD_HEADER {  WORD  e32_magic;  BYTE  e32_border;  BYTE  e32_worder;  DWORD e32_level;  WORD  e32_cpu;  WORD  e32_os;  DWORD e32_ver;  DWORD e32_mflags;  DWORD e32_mpages;  DWORD e32_startobj;  DWORD e32_eip;  DWORD e32_stackobj;  DWORD e32_esp;  DWORD e32_pagesize;  DWORD e32_lastpagesize;  DWORD e32_fixupsize;  DWORD e32_fixupsum;  DWORD e32_ldrsize;  DWORD e32_ldrsum;  DWORD e32_objtab;  DWORD e32_objcnt;  DWORD e32_objmap;  DWORD e32_itermap;  DWORD e32_rsrctab;  DWORD e32_rsrccnt;  DWORD e32_restab;  DWORD e32_enttab;  DWORD e32_dirtab;  DWORD e32_dircnt;  DWORD e32_fpagetab;  DWORD e32_frectab;  DWORD e32_impmod;  DWORD e32_impmodcnt;  DWORD e32_impproc;  DWORD e32_pagesum;  DWORD e32_datapage;  DWORD e32_preload;  DWORD e32_nrestab;  DWORD e32_cbnrestab;  DWORD e32_nressum;  DWORD e32_autodata;  DWORD e32_debuginfo;  DWORD e32_debuglen;  DWORD e32_instpreload;  DWORD e32_instdemand;  DWORD e32_heapsize;  BYTE  e32_res3[12];  DWORD e32_winresoff;  DWORD e32_winreslen;  WORD  e32_devid;  WORD  e32_ddkver;} IMAGE_VXD_HEADER, *PIMAGE_VXD_HEADER;/* These defines describe the meanings of the bits in the   Characteristics field */#define IMAGE_FILE_RELOCS_STRIPPED	0x0001 /* No relocation info */#define IMAGE_FILE_EXECUTABLE_IMAGE	0x0002#define IMAGE_FILE_LINE_NUMS_STRIPPED   0x0004#define IMAGE_FILE_LOCAL_SYMS_STRIPPED  0x0008#define IMAGE_FILE_AGGRESIVE_WS_TRIM	0x0010#define IMAGE_FILE_LARGE_ADDRESS_AWARE	0x0020#define IMAGE_FILE_16BIT_MACHINE	0x0040#define IMAGE_FILE_BYTES_REVERSED_LO	0x0080#define IMAGE_FILE_32BIT_MACHINE	0x0100#define IMAGE_FILE_DEBUG_STRIPPED	0x0200#define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP	0x0400#define IMAGE_FILE_NET_RUN_FROM_SWAP	0x0800#define IMAGE_FILE_SYSTEM		0x1000#define IMAGE_FILE_DLL			0x2000#define IMAGE_FILE_UP_SYSTEM_ONLY	0x4000#define IMAGE_FILE_BYTES_REVERSED_HI	0x8000/* These are the settings of the Machine field. */#define	IMAGE_FILE_MACHINE_UNKNOWN	0#define	IMAGE_FILE_MACHINE_I860		0x014d#define	IMAGE_FILE_MACHINE_I386		0x014c#define	IMAGE_FILE_MACHINE_R3000	0x0162#define	IMAGE_FILE_MACHINE_R4000	0x0166#define	IMAGE_FILE_MACHINE_R10000	0x0168#define	IMAGE_FILE_MACHINE_WCEMIPSV2	0x0169#define	IMAGE_FILE_MACHINE_ALPHA	0x0184#define	IMAGE_FILE_MACHINE_SH3		0x01a2#define	IMAGE_FILE_MACHINE_SH3DSP	0x01a3#define	IMAGE_FILE_MACHINE_SH3E		0x01a4#define	IMAGE_FILE_MACHINE_SH4		0x01a6#define	IMAGE_FILE_MACHINE_SH5		0x01a8#define	IMAGE_FILE_MACHINE_ARM		0x01c0#define	IMAGE_FILE_MACHINE_THUMB	0x01c2#define	IMAGE_FILE_MACHINE_AM33		0x01d3#define	IMAGE_FILE_MACHINE_POWERPC	0x01f0#define	IMAGE_FILE_MACHINE_POWERPCFP	0x01f1#define	IMAGE_FILE_MACHINE_IA64		0x0200#define	IMAGE_FILE_MACHINE_MIPS16	0x0266#define	IMAGE_FILE_MACHINE_ALPHA64	0x0284#define	IMAGE_FILE_MACHINE_MIPSFPU	0x0366#define	IMAGE_FILE_MACHINE_MIPSFPU16	0x0466#define	IMAGE_FILE_MACHINE_AXP64	IMAGE_FILE_MACHINE_ALPHA64#define	IMAGE_FILE_MACHINE_TRICORE	0x0520#define	IMAGE_FILE_MACHINE_CEF		0x0cef#define	IMAGE_FILE_MACHINE_EBC		0x0ebc#define	IMAGE_FILE_MACHINE_AMD64	0x8664#define	IMAGE_FILE_MACHINE_M32R		0x9041#define	IMAGE_FILE_MACHINE_CEE		0xc0ee#define	IMAGE_SIZEOF_FILE_HEADER		20#define IMAGE_SIZEOF_ROM_OPTIONAL_HEADER	56#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER	28#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER32 	224#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER64 	240#define IMAGE_SIZEOF_SHORT_NAME 		8#define IMAGE_SIZEOF_SECTION_HEADER 		40#define IMAGE_SIZEOF_SYMBOL 			18#define IMAGE_SIZEOF_AUX_SYMBOL 		18#define IMAGE_SIZEOF_RELOCATION 		10#define IMAGE_SIZEOF_BASE_RELOCATION 		8#define IMAGE_SIZEOF_LINENUMBER 		6#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 	60/* Possible Magic values */#define IMAGE_NT_OPTIONAL_HDR32_MAGIC        0x010b#define IMAGE_NT_OPTIONAL_HDR64_MAGIC        0x020b#define IMAGE_ROM_OPTIONAL_HDR_MAGIC       0x0107#ifdef CONFIG_X86_64#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER IMAGE_SIZEOF_NT_OPTIONAL_HEADER64#define IMAGE_NT_OPTIONAL_HDR_MAGIC IMAGE_NT_OPTIONAL_HDR64_MAGIC#else#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER IMAGE_SIZEOF_NT_OPTIONAL_HEADER32#define IMAGE_NT_OPTIONAL_HDR_MAGIC IMAGE_NT_OPTIONAL_HDR32_MAGIC#endif/* These are indexes into the DataDirectory array */#define IMAGE_FILE_EXPORT_DIRECTORY		0#define IMAGE_FILE_IMPORT_DIRECTORY		1#define IMAGE_FILE_RESOURCE_DIRECTORY		2#define IMAGE_FILE_EXCEPTION_DIRECTORY		3#define IMAGE_FILE_SECURITY_DIRECTORY		4#define IMAGE_FILE_BASE_RELOCATION_TABLE	5#define IMAGE_FILE_DEBUG_DIRECTORY		6#define IMAGE_FILE_DESCRIPTION_STRING		7#define IMAGE_FILE_MACHINE_VALUE		8  /* Mips */#define IMAGE_FILE_THREAD_LOCAL_STORAGE		9#define IMAGE_FILE_CALLBACK_DIRECTORY		10/* Directory Entries, indices into the DataDirectory array */#define	IMAGE_DIRECTORY_ENTRY_EXPORT		0#define	IMAGE_DIRECTORY_ENTRY_IMPORT		1#define	IMAGE_DIRECTORY_ENTRY_RESOURCE		2#define	IMAGE_DIRECTORY_ENTRY_EXCEPTION		3#define	IMAGE_DIRECTORY_ENTRY_SECURITY		4#define	IMAGE_DIRECTORY_ENTRY_BASERELOC		5#define	IMAGE_DIRECTORY_ENTRY_DEBUG		6#define	IMAGE_DIRECTORY_ENTRY_COPYRIGHT		7#define	IMAGE_DIRECTORY_ENTRY_GLOBALPTR		8  /* (MIPS GP) */#define	IMAGE_DIRECTORY_ENTRY_TLS		9#define	IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG	10#define	IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT	11#define	IMAGE_DIRECTORY_ENTRY_IAT		12  /* Import Address Table */#define	IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT	13#define	IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR	14/* Subsystem Values */#define	IMAGE_SUBSYSTEM_UNKNOWN			0#define	IMAGE_SUBSYSTEM_NATIVE			1#define	IMAGE_SUBSYSTEM_WINDOWS_GUI		2  /* Windows GUI subsystem */#define	IMAGE_SUBSYSTEM_WINDOWS_CUI		3  /* Windows character subsystem */#define	IMAGE_SUBSYSTEM_OS2_CUI			5#define	IMAGE_SUBSYSTEM_POSIX_CUI		7#define	IMAGE_SUBSYSTEM_NATIVE_WINDOWS		8  /* native Win9x driver */#define	IMAGE_SUBSYSTEM_WINDOWS_CE_GUI		9  /* Windows CE subsystem */#define	IMAGE_SUBSYSTEM_EFI_APPLICATION		10#define	IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER	11#define	IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER	12#define	IMAGE_SUBSYSTEM_EFI_ROM			13#define	IMAGE_SUBSYSTEM_XBOX			14typedef struct _IMAGE_FILE_HEADER {  WORD  Machine;  WORD  NumberOfSections;  DWORD TimeDateStamp;  DWORD PointerToSymbolTable;  DWORD NumberOfSymbols;  WORD  SizeOfOptionalHeader;  WORD  Characteristics;} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;typedef struct _IMAGE_DATA_DIRECTORY {  DWORD VirtualAddress;  DWORD Size;} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16typedef struct _IMAGE_OPTIONAL_HEADER32 {  /* Standard fields */  WORD  Magic;  BYTE  MajorLinkerVersion;  BYTE  MinorLinkerVersion;  DWORD SizeOfCode;  DWORD SizeOfInitializedData;  DWORD SizeOfUninitializedData;  DWORD AddressOfEntryPoint;  DWORD BaseOfCode;  DWORD BaseOfData;  /* NT additional fields */  DWORD ImageBase;  DWORD SectionAlignment;  DWORD FileAlignment;  WORD  MajorOperatingSystemVersion;  WORD  MinorOperatingSystemVersion;  WORD  MajorImageVersion;  WORD  MinorImageVersion;  WORD  MajorSubsystemVersion;  WORD  MinorSubsystemVersion;  DWORD Win32VersionValue;  DWORD SizeOfImage;  DWORD SizeOfHeaders;  DWORD CheckSum;  WORD  Subsystem;  WORD  DllCharacteristics;  DWORD SizeOfStackReserve;  DWORD SizeOfStackCommit;  DWORD SizeOfHeapReserve;  DWORD SizeOfHeapCommit;  DWORD LoaderFlags;  DWORD NumberOfRvaAndSizes;  IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];} IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;typedef struct _IMAGE_OPTIONAL_HEADER64 {  /* Standard fields */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -