24{
30 unsigned SymbolTable, NumSymbols;
31
32
36 {
37 DPRINT1(
"Image doesn't have a valid DOS header\n");
39 }
40
41
45 {
46 DPRINT1(
"Image doesn't have a valid PE header\n");
48 }
49
52
53
57
58
60 SectionIndex++)
61 {
62 if (SectionHeaders[SectionIndex].
Name[0] !=
'/') {
67 } else {
71
73 goto freeall;
78 if (!VirtualOffset) goto freeall;
80 if (!AnsiNameString.
Buffer)
goto freeall;
81 PCHAR StringTarget = ((
PCHAR)ImageStart)+VirtualOffset;
83 if (StringTarget >= EndOfImage) goto freeall;
84 ULONG PossibleStringLength = EndOfImage - StringTarget;
90 }
92 (&SectionHeaders[SectionIndex],
93 &AnsiNameString,
94 sizeof(AnsiNameString));
95 }
96
106 pe->
sect = SectionHeaders;
110 (((
PCHAR)ImageStart) +
117 if ((SymbolData[
i].e_scnum < 1) ||
120 continue;
122 if (SymbolData[
i].
e.e.e_zeroes) {
125 } else {
132 SymbolData[
i].e.e.e_offset);
135 }
138 continue;
139 }
142 }
146
147 return !!*RosSymInfo;
148
149freeall:
152 SectionIndex++)
155
157}
ACPI_SIZE strlen(const char *String)
char * strcpy(char *DstString, const char *SrcString)
#define NT_SUCCESS(StatCode)
PIMAGE_NT_HEADERS32 PIMAGE_NT_HEADERS
struct _IMAGE_DOS_HEADER * PIMAGE_DOS_HEADER
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
#define memcpy(s1, s2, n)
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeStringFromAsciiz(_Out_ PUNICODE_STRING Destination, _In_ PCSZ Source)
NTSYSAPI VOID NTAPI RtlFreeAnsiString(PANSI_STRING AnsiString)
NTSYSAPI NTSTATUS NTAPI RtlUnicodeStringToInteger(PUNICODE_STRING String, ULONG Base, PULONG Value)
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
#define IMAGE_FIRST_SECTION(NtHeader)
#define IMAGE_SIZEOF_SHORT_NAME
struct _IMAGE_SECTION_HEADER IMAGE_SECTION_HEADER
u32int peget4(const unsigned char *ptr)
u64int peget8(const unsigned char *ptr)
int loadmemsection(Pe *pe, char *name, DwarfBlock *b)
u16int peget2(const unsigned char *ptr)
int GetStrnlen(const char *string, int maxlen)
ulong pefindrva(struct _IMAGE_SECTION_HEADER *SectionHeaders, int NumberOfSections, ulong TargetPhysical)
#define ANSI_NAME_STRING(s)
#define RosSymAllocMem(Size)
#define RosSymFreeMem(Area)
#define ROSSYM_IS_VALID_NT_HEADERS(NtHeaders)
#define ROSSYM_IS_VALID_DOS_HEADER(DosHeader)
#define MAXIMUM_DWARF_NAME_SIZE
Dwarf * dwarfopen(struct _Pe *elf)
struct _IMAGE_SECTION_HEADER * sect
u16int(* e2)(const unsigned char *data)
int(* loadsection)(struct _Pe *pe, char *name, struct DwarfBlock *b)
u64int(* e8)(const unsigned char *data)
u32int(* e4)(const unsigned char *data)
#define RtlCopyMemory(Destination, Source, Length)