📄 libieee.h
字号:
/* IEEE-695 object file formats: definitions internal to BFD. Copyright (C) 1990-1991 Free Software Foundation, Inc. Written by Cygnus Support. Mostly Steve Chamberlain's fault.This file is part of BFD, the Binary File Descriptor library.This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2 of the License, or(at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */typedef struct { unsigned int index:24; char letter;} ieee_symbol_index_type;typedef struct ct { bfd *this; struct ct *next;} bfd_chain_type;typedef struct ieee_symbol { asymbol symbol; struct ieee_symbol *next; unsigned int index;} ieee_symbol_type;typedef struct ieee_reloc { arelent relent; struct ieee_reloc *next; ieee_symbol_index_type symbol;} ieee_reloc_type;#define ieee_symbol(x) ((ieee_symbol_type *)(x))typedef struct ieee_per_section{ asection *section; bfd_byte *data; bfd_vma offset; bfd_vma pc; /* For output */ file_ptr current_pos; unsigned int current_byte; boolean initialized; ieee_reloc_type **reloc_tail_ptr;} ieee_per_section_type;#define ieee_per_section(x) ((ieee_per_section_type *)((x)->used_by_bfd))#define NSECTIONS 20 typedef struct { unsigned char *input_p; unsigned char *first_byte; bfd *abfd;} common_header_type ;typedef struct ieee_data_struct{ common_header_type h; boolean read_symbols; boolean read_data; file_ptr output_cursor; /* Map of section indexes to section ptrs */ asection * section_table[NSECTIONS]; ieee_address_descriptor_type ad; ieee_module_begin_type mb; ieee_w_variable_type w; unsigned int section_count; unsigned int map_idx; /* List of GLOBAL EXPORT symbols */ ieee_symbol_type *external_symbols; /* List of UNDEFINED symbols */ ieee_symbol_type *external_reference; /* When the symbols have been canonicalized, they are in a * special order, we remember various bases here.. */ unsigned int external_symbol_max_index; unsigned int external_symbol_min_index; unsigned int external_symbol_count; int external_symbol_base_offset; unsigned int external_reference_max_index; unsigned int external_reference_min_index; unsigned int external_reference_count; int external_reference_base_offset; boolean symbol_table_full; boolean done_debug;bfd_chain_type *chain_head;bfd_chain_type *chain_root;} ieee_data_type;typedef struct { file_ptr file_offset; bfd *abfd;} ieee_ar_obstack_type;typedef struct ieee_ar_data_struct { common_header_type h; ieee_ar_obstack_type *elements; unsigned int element_index ; unsigned int element_count;} ieee_ar_data_type;#define IEEE_DATA(abfd) ((abfd)->tdata.ieee_data)#define IEEE_AR_DATA(abfd) ((abfd)->tdata.ieee_ar_data)#define ptr(abfd) (ieee_data(abfd)->input_p)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -