diff options
Diffstat (limited to 'include/offsets.h')
-rw-r--r-- | include/offsets.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/include/offsets.h b/include/offsets.h new file mode 100644 index 0000000..c0cc029 --- /dev/null +++ b/include/offsets.h @@ -0,0 +1,85 @@ +/** +** @file offsets.h +** +** GENERATED AUTOMATICALLY - DO NOT EDIT +** +** Creation date: Mon Mar 31 11:38:04 2025 +** +** This header file contains C Preprocessor macros which expand +** into the byte offsets needed to reach fields within structs +** used in the baseline system. Should those struct declarations +** change, the Offsets program should be modified (if needed), +** recompiled, and re-run to recreate this file. +*/ + +#ifndef OFFSETS_H_ +#define OFFSETS_H_ + +// Sizes of basic types + +#define SZ_char 1 +#define SZ_short 2 +#define SZ_int 4 +#define SZ_long 4 +#define SZ_long_long 8 +#define SZ_pointer 4 + +// Sizes of our types + +#define SZ_int8_t 1 +#define SZ_uint8_t 1 +#define SZ_int16_t 2 +#define SZ_uint16_t 2 +#define SZ_int32_t 4 +#define SZ_uint32_t 4 +#define SZ_int64_t 8 +#define SZ_uint64_t 8 +#define SZ_bool_t 1 + +// context_t structure + +#define SZ_CTX 72 + +#define CTX_ss 0 +#define CTX_gs 4 +#define CTX_fs 8 +#define CTX_es 12 +#define CTX_ds 16 +#define CTX_edi 20 +#define CTX_esi 24 +#define CTX_ebp 28 +#define CTX_esp 32 +#define CTX_ebx 36 +#define CTX_edx 40 +#define CTX_ecx 44 +#define CTX_eax 48 +#define CTX_vector 52 +#define CTX_code 56 +#define CTX_eip 60 +#define CTX_cs 64 +#define CTX_eflags 68 + +// section_t structure + +#define SZ_SCT 8 + +#define SCT_length 0 +#define SCT_addr 4 + +// pcb_t structure + +#define SZ_PCB 72 + +#define PCB_context 0 +#define PCB_pdir 4 +#define PCB_sects 8 +#define PCB_next 40 +#define PCB_parent 44 +#define PCB_wakeup 48 +#define PCB_exit_status 52 +#define PCB_pid 56 +#define PCB_state 60 +#define PCB_priority 64 +#define PCB_ticks 68 + +#endif |