From fcf54a66614eaa4212780fb48eb0f7de81a2aec8 Mon Sep 17 00:00:00 2001 From: midipix Date: Tue, 10 Jun 2025 09:26:19 +0000 Subject: code base: added mdso's mdso_specs.h and mdso_structs.h as internal headers. --- src/internal/mdso/mdso_structs.h | 80 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 src/internal/mdso/mdso_structs.h (limited to 'src/internal/mdso/mdso_structs.h') diff --git a/src/internal/mdso/mdso_structs.h b/src/internal/mdso/mdso_structs.h new file mode 100644 index 0000000..133825e --- /dev/null +++ b/src/internal/mdso/mdso_structs.h @@ -0,0 +1,80 @@ +#ifndef MDSO_STRUCTS_H +#define MDSO_STRUCTS_H + +#ifdef __cplusplus +extern "C" { +#endif + +struct mdso_raw_arg_m32 { + unsigned char marg_utf8 [0x04]; /* 0x00 */ + unsigned char marg_utf16 [0x04]; /* 0x04 */ +}; + +struct mdso_raw_arg_m64 { + unsigned char marg_utf8 [0x08]; /* 0x00 */ + unsigned char marg_utf16 [0x08]; /* 0x08 */ +}; + +union mdso_raw_arg { + struct mdso_raw_arg_m32 marg_m32; + struct mdso_raw_arg_m64 marg_m64; +}; + + +struct mdso_raw_sym_entry_m32 { + unsigned char msym_string [0x04]; /* 0x00 */ + unsigned char msym_meta [0x04]; /* 0x04 */ +}; + +struct mdso_raw_sym_entry_m64 { + unsigned char msym_string [0x08]; /* 0x00 */ + unsigned char msym_meta [0x08]; /* 0x08 */ +}; + +union mdso_raw_sym_entry { + struct mdso_raw_sym_entry_m32 msym_m32; + struct mdso_raw_sym_entry_m64 msym_m64; +}; + + +struct mdso_raw_meta_record_m32 { + unsigned char mrec_base [0x04]; /* 0x00 */ + unsigned char mrec_name [0x04]; /* 0x04 */ + unsigned char mrec_flags [0x04]; /* 0x08 */ + unsigned char mrec_priority [0x04]; /* 0x0c */ + unsigned char mrec_nsyms [0x04]; /* 0x10 */ + unsigned char mrec_padding [0x04]; /* 0x14 */ + unsigned char mrec_hashtbl [0x04]; /* 0x18 */ + unsigned char mrec_symtbl [0x04]; /* 0x1c */ + unsigned char mrec_fncarg [0x04]; /* 0x20 */ + unsigned char mrec_fncargarr [0x04]; /* 0x24 */ + unsigned char mrec_fnr1 [0x04]; /* 0x28 */ + unsigned char mrec_fnr2 [0x04]; /* 0x2c */ +}; + +struct mdso_raw_meta_record_m64 { + unsigned char mrec_base [0x08]; /* 0x00 */ + unsigned char mrec_name [0x08]; /* 0x08 */ + unsigned char mrec_flags [0x04]; /* 0x10 */ + unsigned char mrec_priority [0x04]; /* 0x14 */ + unsigned char mrec_nsyms [0x04]; /* 0x18 */ + unsigned char mrec_padding [0x04]; /* 0x1c */ + unsigned char mrec_hashtbl [0x08]; /* 0x20 */ + unsigned char mrec_symtbl [0x08]; /* 0x28 */ + unsigned char mrec_fncarg [0x08]; /* 0x30 */ + unsigned char mrec_fncargarr [0x08]; /* 0x38 */ + unsigned char mrec_fnr1 [0x08]; /* 0x40 */ + unsigned char mrec_fnr2 [0x08]; /* 0x48 */ +}; + +union mdso_raw_meta_record { + struct mdso_raw_meta_record_m32 mrec_m32; + struct mdso_raw_meta_record_m64 mrec_m64; +}; + + +#ifdef __cplusplus +} +#endif + +#endif -- cgit v1.2.3