📄 lx.h
字号:
#define LX_SIGNATURE 0x584C /* LX */
#define LX_CPU_286 1
#define LX_CPU_386 2
#define LX_CPU_486 3
#define LX_OS_DOS 3
#define LX_MF_INTERNALFIXUPSAPPLIED 0x10
#define LX_MF_EXTERNALFIXUPSAPPLIED 0x20
#define LX_OF_READABLE 1
#define LX_OF_WRITEABLE 2
#define LX_OF_EXECUTABLE 4
#define LX_OF_RESOURCE 8
#define LX_OF_DISCARDABLE 0x10
#define LX_OF_SHARED 0x20
#define LX_OF_PRELOAD 0x40
#define LX_OF_INVALID 0x80
#define LX_OF_ZEROFILL 0x100
#define LX_OF_ALIASNEEDED 0x1000
#define LX_OF_BIGDEFAULT 0x2000
#define LX_OF_CONFORMINGCODE 0x4000
#define LX_OF_IOPRIV 0x8000
#define LX_OPF_ENUMERATED 0
#define LX_OPF_ITERATED 1
#define LX_OPF_INVALID 2
#define LX_OPF ZERO 3
#define LX_OPF RANGE 4
#define LX_FM_SOURCE_MASK 15
#define LX_FM_BYTE 0
#define LX_FM_SEL16 2
#define LX_FM_SEL16_PTR16 3
#define LX_FM_OFFSET16 5
#define LX_FM_SEL16_PTR32 6
#define LX_FM_OFFSET32 7
#define LX_FM_SELFREL32 8
#define LX_FM_FIXUPTOALIAS 0x10
#define LX_FM_SOURCELIST 0x20
#define LX_FF_TARGETTYPE_MASK 3
#define LX_FT_INTERNAL 0
#define LX_FT_IMPORTORDINAL 1
#define LX_FT_IMPORTNAME 2
#define LX_FT_IMPORTENTRY 3
#define LX_FF_ADDITIVE 4
#define LX_FF_TARGET32 0x10
#define LX_FF_ADDITIVIE32 0x20
#define LX_FF_OBJMODORD16 0x40
#define LX_FF_ORD16 0x80
Type
Structure lx_header_struct lx_header_type ;
TYPE lx_header_type *lx_header_ptr ;
Type
Structure lx_object_struct lx_object_type ;
Type lx_object_type * lx_object_ptr ;
Type
Structure lx_object_page_struct lx_object_page_type ;
Type lx_object_page_type * lx_object_page_ptr ;
Type
Structure lx_fixup_page_struct lx_fixup_page_type ;
Type lx_fixup_page_type * lx_fixup_page_ptr ;
Structure lx_fixup_page_struct
BeginStructure
bit_32 offset ;
EndStructure ;
Structure lx_header_struct
BeginStructure
bit_16 sig ;
bit_8 bbyte ;
bit_8 wword ;
bit_32 format_level ;
bit_16 cpu_level ;
bit_16 os_type ;
bit_32 module_version ;
bit_32 module_flags ;
bit_32 module_page_count ;
bit_32 eip_object ;
bit_32 eip ;
bit_32 esp_object ;
bit_32 esp ;
bit_32 page_size ;
bit_32 page_offset_shift ;
bit_32 fixup_section_size ;
bit_32 fixup_section_checksum ;
bit_32 loader_section_size ;
bit_32 loader_section_checksum ;
bit_32 object_table_offset ;
bit_32 object_count ;
bit_32 object_page_table_offset ;
bit_32 object_iter_pages_offset ;
bit_32 resource_table_offset ;
bit_32 resource_table_entries ;
bit_32 resident_name_table_offset ;
bit_32 resident_name_table_entries ;
bit_32 module_directives_offset ;
bit_32 module_directives_count ;
bit_32 fixup_page_table_offset ;
bit_32 fixup_record_table_offset ;
bit_32 import_module_table_offset ;
bit_32 import_module_table_entries ;
bit_32 import_proc_table_offset ;
bit_32 per_page_checksum_offset ;
bit_32 data_pages_offset ;
bit_32 preload_pages_count ;
bit_32 nonresident_name_table_offset ;
bit_32 nonresident_name_table_length ;
bit_32 nonresident_name_table_checksum ;
bit_32 auto_ds_object ;
bit_32 debug_info_offset ;
bit_32 debug_info_length ;
bit_32 instance_preload_count ;
bit_32 instance_demand_count ;
bit_32 heapsize ;
EndStructure ;
Structure lx_object_struct
BeginStructure
bit_32 virtual_size ;
bit_32 reloc_base_addr ;
bit_32 object_flags ;
bit_32 page_table_index ;
bit_32 page_table_entries ;
bit_32 reserved ;
EndStructure ;
Structure lx_object_page_struct
BeginStructure
bit_32 data_offset ;
bit_16 data_size ;
bit_16 flags ;
EndStructure ;
/* fixup entry fields are variable-size, we will hand build them */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -