⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 types.h

📁 CC386 is a general-purpose 32-bit C compiler. It is not an optimizing compiler but given that the co
💻 H
📖 第 1 页 / 共 3 页
字号:
  internal_entry_type                  internal_type;
  communal_entry_type                  communal_type;
  virtual_entry_type                   virtual_type;
 EndUnion;

Enumeration public_entry_class_enum
 BeginEnumeration
  unused,
  public_in_library,
  external,
  internal,
  far_communal,
  near_communal,
  virtual_segment,
 EndEnumeration;

Enumeration public_entry_type_qualifier_enum
 BeginEnumeration
  public_normal,
  public_import
 EndEnumeration ;
  
Structure public_entry_struct
 BeginStructure
  public_entry_ptr                     next;
  public_entry_ptr                     next_congruent;
  Generic_Element_ptr                  modpubs ;
#define PUB_OFFSET_MODPUBS 8
  bit_8                                type_entry;
  bit_8                                type_qualifier;
  entry_information_type               entry;
  bit_32                               isdata ;
  bit_16                               module;
  bit_16                               use_count ;
  bit_32                               ordinal; /* used for exports */
  string_ptr                           entryident; /* used for exports */
  string_ptr                           moduleident ; /* used for exports */
  bit_8                                did_external_error ;
  bit_8                                reserved ;
  bit_16                               max_length ; /* unused so we can fake as a string in pe.c */
  bit_16                               length;
  byte                                 symbol[1];
 EndStructure;
#define Library                        entry.library_type
#define External                       entry.external_type
#define Internal                       entry.internal_type
#define Communal                       entry.communal_type
#define Virtual			       entry.virtual_type

ListTypeOf(public_entry);

Structure file_info_struct
 BeginStructure
  file_info_ptr                        next;
  bit_8                                attribute;
  bit_16                               time_stamp;
  bit_16                               date_stamp;
  bit_32                               file_size;
  bit_16                               page_size;
  bit_16                               request_count;
  bit_16                               pass_count;
  bit_16                               module_count;
  public_entry_list                    external_list;
  byte                                 filename[1];
 EndStructure;

ListTypeOf(file_info);

Structure file_struct
 BeginStructure
  file_info_ptr                        file_info;
  FILE                                *file_handle;
  bit_32                               start_of_buffer_position;
  bit_32                               next_buffer_position;
  byte_ptr                             buffer;
  byte_ptr                             current_byte;
  bit_16                               buffer_size;
  bit_16                               IO_limit;
  bit_16                               bytes_in_buffer;
  bit_16                               bytes_left_in_buffer;
  bit_16                               byte_position;
 EndStructure;

Structure FIX_DAT_struct
 BeginStructure
  unsigned short                       targt:2;
  unsigned short                       p:1;
  unsigned short                       t:1;
  unsigned short                       frame:3;
  unsigned short                       f:1;
 EndStructure;

Structure fixup_struct
 BeginStructure
  void                                *frame_referent;
  void                                *target_referent;
  bit_32                               target_offset;
  unsigned short                       location_type:4;
  unsigned short                       mode:1;
  unsigned short                       frame_method:3;
  unsigned short                       target_method:2;
  unsigned short                       external_error_detected:1;
  unsigned short                       reserved:5;
 EndStructure;

Structure group_entry_struct
 BeginStructure
  group_entry_ptr                      next;
  group_entry_ptr                      next_congruent;
  lname_entry_ptr                      group_name;
  segment_entry_ptr                    first_segment;
 EndStructure;

ListTypeOf(group_entry);

Structure library_directory_struct
 BeginStructure
  bit_8                                offset_to_symbol[38];
  byte                                 symbol_area[474];
 EndStructure;

Structure library_file_header_struct
 BeginStructure
  bit_8                                flag;
  bit_16                               page_size;
  bit_32                               directory_position;
  bit_16                               n_directory_blocks;
 EndStructure;

 Structure library_symbol_entry_struct
  BeginStructure
   bit_8                               length_of_symbol;
   byte                                symbol[1];
  EndStructure;

Structure lname_entry_struct
 BeginStructure
  lname_entry_ptr                      next_congruent;
  bit_16                               lname_checksum;
  bit_16                               length;
  byte                                 symbol[1];
 EndStructure;

Structure LOCAT_struct
 BeginStructure
  unsigned short                       data_record_offset:10;
  unsigned short                       loc:4;
  unsigned short                       m:1;
  unsigned short                       type_fixupp_record:1;
 EndStructure;

Enumeration loc_enum
 BeginEnumeration
  lobyte_location,
  offset_location,
  base_location,
  pointer_location,
  hibyte_location,
  secondary_offset_location,
  offset32_location = 9,
  secondary_offset32_location = 13,
 EndEnumeration;

Structure lseg_struct
 BeginStructure
  lseg_ptr                             next;
  segment_entry_ptr                    segment;
  lname_entry_ptr                      tmodule;
  file_info_ptr                        file;
  bit_32                               address;
  bit_32                               length;
  bit_32                               highest_uninitialized_byte;
  bit_8                                align;
  bit_8                                hassyms : 1; /* for debug support */
  bit_8								   hasFixups : 1;
  bit_8								   virtualseg : 1 ;
  bit_8								   reserved : 5;
  byte_ptr                             data;
 EndStructure;

ListTypeOf(lseg);

Structure lx_fixup_hold_struct
 BeginStructure
  bit_32 offset ;
  bit_32 target ;
  bit_8  target_object ;
  bit_8  type ;
 EndStructure ;

Structure fixup_list_struct
 BeginStructure
  Structure fixup_list_struct		  *next ;
  bit_8                                rec_typ;
  bit_16                               rec_len;
  lseg_ptr                             lseg;
  bit_32                               offset;
  byte_ptr							   data ;
 EndStructure;

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 ;
   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 ;

Structure le_object_page_struct
 BeginStructure
  bit_8 high_offs ;
  bit_8 med_offs ;
  bit_8 low_offs ;
  bit_8 flags ;
 EndStructure ;

Structure lx_section_struct
 BeginStructure
  bit_32 length;
  bit_32 initlength ;
  bit_32 virtualSize;
  bit_32 page_table_entries ;
  bit_32 base;
  bit_32 Flags;
  byte_ptr data;
 EndStructure ;

Structure MOD_TYP_struct
 BeginStructure
  unsigned                             l:1;
  unsigned                             zeros:5;
  unsigned                             mattr:2;
 EndStructure;

Structure module_struct
 BeginStructure
  lseg_ptr                             cseg ;
  lseg_ptr                             dseg ;
  lseg_ptr                             bseg ;
  lseg_ptr                             stringseg ;
  lseg_ptr                             constseg ;
  lseg_ptr                             debtypseg ;
  lseg_ptr                             debsymseg ;
  Generic_Element_list                 publics ;
  bit_32                               type_offset ;
  bit_32                               linnum_len ;
  byte_ptr                             linnum_data ;
  bit_32                               align_len ;
  byte_ptr                             align_data ;
  char                                 name[1];
 EndStructure;

Union obj_ptr_union
 BeginUnion
  bit_8                               *b8;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -