45 lines
1.2 KiB
C
45 lines
1.2 KiB
C
#ifndef COSMOPOLITAN_LIBC_NT_STRUCT_LDRDATATABLEENTRY_H_
|
|
#define COSMOPOLITAN_LIBC_NT_STRUCT_LDRDATATABLEENTRY_H_
|
|
#include "libc/nt/struct/linkedlist.h"
|
|
#include "libc/nt/struct/unicodestring.h"
|
|
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
|
|
|
struct NtLdrDataTableEntry {
|
|
struct NtLinkedList InLoadOrderLinks; /* msdn:reserved */
|
|
struct NtLinkedList InMemoryOrderLinks;
|
|
struct NtLinkedList InInitOrderLinks; /* msdn:reserved */
|
|
void *DllBase;
|
|
void *EntryPoint;
|
|
union {
|
|
uint32_t SizeOfImage;
|
|
unsigned char SizeOfImagePadding[__SIZEOF_POINTER__];
|
|
};
|
|
struct NtUnicodeString FullDllName;
|
|
struct NtUnicodeString BaseDllName;
|
|
uint32_t Flags;
|
|
uint16_t Load_Count;
|
|
uint16_t TlsIndex;
|
|
union {
|
|
struct NtLinkedList HashLinks;
|
|
struct {
|
|
void *SectionPointer;
|
|
uint32_t CheckSum;
|
|
};
|
|
};
|
|
union {
|
|
void *LoadedImports;
|
|
uint32_t TimeDateStamp;
|
|
};
|
|
void *EntryPointActivationContext;
|
|
void *PatchInformation;
|
|
struct NtLinkedList ForwarderLinks;
|
|
struct NtLinkedList ServiceTagLinks;
|
|
struct NtLinkedList StaticLinks;
|
|
void *ContextInformation;
|
|
uintptr_t OriginalBase;
|
|
int64_t LoadTime;
|
|
};
|
|
|
|
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
|
#endif /* COSMOPOLITAN_LIBC_NT_STRUCT_LDRDATATABLEENTRY_H_ */
|