Lots of fixes to make it work
[external/binutils.git] / bfd / liboasys.h
1
2
3 typedef struct 
4 {
5   asymbol symbol;
6 } oasys_symbol_type;
7
8 typedef struct oasys_reloc_struct {
9   arelent relent;
10   struct oasys_reloc_struct *next;
11   unsigned int symbol;
12 } oasys_reloc_type;
13
14
15 #define oasys_symbol(x) ((oasys_symbol_type *)(x))
16 #define oasys_per_section(x) ((oasys_per_section_type *)(x->used_by_bfd))
17
18 typedef struct oasys_per_section_struct
19 {
20   asection *section;
21   bfd_byte *data;
22   bfd_vma offset;
23   boolean had_vma;
24   oasys_reloc_type **reloc_tail_ptr;
25   bfd_vma pc;
26
27
28   file_ptr current_pos;
29   unsigned int current_byte;
30   boolean initialized;
31 } oasys_per_section_type;
32
33 #define NSECTIONS 10
34
35   
36
37
38
39 typedef struct {
40   file_ptr file_offset;
41   bfd *abfd;
42 } oasys_ar_obstack_type;
43
44
45 typedef struct {
46   file_ptr pos;
47   unsigned int size;
48   bfd *abfd;
49 char *name;
50
51 } oasys_module_info_type;
52
53 typedef struct {
54   oasys_module_info_type *module;
55   unsigned int module_count;
56   unsigned int module_index;
57 } oasys_ar_data_type;
58
59 typedef struct {
60   struct obstack oasys_obstack;
61   char *strings;
62   asymbol *symbols;
63   unsigned int symbol_string_length;
64   asection *sections[OASYS_MAX_SEC_COUNT];
65   file_ptr first_data_record;
66 } oasys_data_type;
67
68 #define oasys_data(abfd) ((oasys_data_type *)((abfd)->tdata))
69 #define oasys_ar_data(abfd) ((oasys_ar_data_type *)((abfd)->tdata))
70
71   
72
73
74