]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - bfd/liboasys.h
ChangeLog rotatation and copyright year update
[thirdparty/binutils-gdb.git] / bfd / liboasys.h
CommitLineData
252b5132 1/* BFD internal declarations for Oasys file format handling.
b90efa5b 2 Copyright (C) 1990-2015 Free Software Foundation, Inc.
252b5132
RH
3 Scrawled by Steve Chamberlain of Cygnus Support.
4
cd123cb7 5 This file is part of BFD, the Binary File Descriptor library.
252b5132 6
cd123cb7
NC
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
252b5132 11
cd123cb7
NC
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
252b5132 16
cd123cb7
NC
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
20 MA 02110-1301, USA. */
252b5132
RH
21
22typedef struct _oasys_symbol
23{
24 asymbol symbol;
25} oasys_symbol_type;
26
27typedef struct _oasys_reloc {
28 arelent relent;
29 struct _oasys_reloc *next;
30 unsigned int symbol;
31} oasys_reloc_type;
32
33
34#define oasys_symbol(x) ((oasys_symbol_type *)(x))
35#define oasys_per_section(x) ((oasys_per_section_type *)(x->used_by_bfd))
36
37typedef struct _oasys_per_section
38{
39 asection *section;
40 bfd_byte *data;
41 bfd_vma offset;
b34976b6 42 bfd_boolean had_vma;
252b5132
RH
43 oasys_reloc_type **reloc_tail_ptr;
44 bfd_vma pc;
45
46
47 file_ptr current_pos;
48 unsigned int current_byte;
b34976b6 49 bfd_boolean initialized;
252b5132
RH
50} oasys_per_section_type;
51
52#define NSECTIONS 10
53
54typedef struct _oasys_ar_obstack {
55 file_ptr file_offset;
56 bfd *abfd;
57} oasys_ar_obstack_type;
58
59
60typedef struct _oasys_module_info {
61 file_ptr pos;
62 unsigned int size;
63 bfd *abfd;
64 char *name;
65} oasys_module_info_type;
66
67typedef struct _oasys_ar_data {
68 oasys_module_info_type *module;
69 unsigned int module_count;
70 unsigned int module_index;
71} oasys_ar_data_type;
72
73typedef struct _oasys_data {
74 char *strings;
75 asymbol *symbols;
76 unsigned int symbol_string_length;
77 asection *sections[OASYS_MAX_SEC_COUNT];
78 file_ptr first_data_record;
79} oasys_data_type;
80
81#define OASYS_DATA(abfd) ((abfd)->tdata.oasys_obj_data)
82#define OASYS_AR_DATA(abfd) ((abfd)->tdata.oasys_ar_data)
83