7#define __OFFSET_GENERATOR__
24#define GEN_COMMENT(msg) \
25 printf("\n; %s\n", msg)
27#define GEN_DEFINE(name, val) \
28 printf("%%define %-40s 0x%lX\n", #name, (uint64_t)(val))
30#define GEN_OFFSET(struct_name, member) \
31 printf("%%define %-40s 0x%lX\n", #struct_name "_" #member, offsetof(struct_name, member))
33#define GEN_SIZE(struct_name) \
34 printf("%%define SIZEOF_%-33s 0x%lX\n", #struct_name, sizeof(struct_name))
37 printf(
"; ===============================================================\n");
38 printf(
"; AUTOMATICALLY GENERATED FILE - DO NOT EDIT MANUALLY\n");
39 printf(
"; Generated by gen_offsets.c\n");
40 printf(
"; ===============================================================\n\n");
48 GEN_COMMENT(
"PROCESSOR Structure Offsets (gs:[...])");
64 GEN_COMMENT(
"TRAP_FRAME Offsets (Context Saving/Restoring)");
struct _EPROCESS EPROCESS
struct _TRAP_FRAME TRAP_FRAME
struct _IPROCESS IPROCESS
struct _PROCESSOR PROCESSOR
#define GEN_OFFSET(struct_name, member)
#define GEN_DEFINE(name, val)
#define GEN_SIZE(struct_name)
@ MANUALLY_INITIATED_CRASH
@ IRQL_NOT_GREATER_OR_EQUAL
@ ATTEMPTED_SWITCH_FROM_DPC
@ GENERAL_PROTECTION_FAULT
#define PhysicalMemoryOffset
struct _SPINLOCK SPINLOCK