Upload Tizen:Base source
[external/binutils.git] / include / vms / internal.h
1 /* Alpha VMS internal format.
2
3    Copyright 2010 Free Software Foundation, Inc.
4    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
5
6    This file is part of BFD, the Binary File Descriptor library.
7
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 3 of the License, or
11    (at your option) any later version.
12
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17
18    You should have received a copy of the GNU General Public License
19    along with this program; if not, write to the Free Software
20    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
21    MA 02110-1301, USA.  */
22
23 #ifndef _VMS_INTERNAL_H
24 #define _VMS_INTERNAL_H
25
26 struct vms_internal_eisd
27 {
28   unsigned int majorid;         /* Version.  */
29   unsigned int minorid;
30   unsigned int eisdsize;        /* Size (in bytes) of this eisd.  */
31   unsigned int secsize;         /* Size (in bytes) of the section.  */
32   bfd_vma virt_addr;            /* Virtual address of the section.  */
33   unsigned int flags;           /* Flags.  */
34   unsigned int vbn;             /* Base virtual block number.  */
35   unsigned char pfc;            /* Page fault cluster.  */
36   unsigned char matchctl;       /* Linker match control.  */
37   unsigned char type;           /* Section type.  */
38 };
39
40 struct vms_internal_gbl_eisd
41 {
42   struct vms_internal_eisd common;
43
44   unsigned int ident;           /* Ident for global section.  */
45   unsigned char gblnam[44];     /* Global name ascic.  */
46 };
47
48 struct vms_internal_eisd_map
49 {
50   /* Next eisd in the list.  */
51   struct vms_internal_eisd_map *next;
52
53   /* Offset in output file.  */
54   file_ptr file_pos;
55
56   union
57   {
58     struct vms_internal_eisd eisd;
59     struct vms_internal_gbl_eisd gbl_eisd;
60   } u;
61 };
62
63 #endif /* _VMS_INTERNAL_H */