Home | History | Annotate | Download | only in vms
      1 /* Alpha VMS internal format.
      2 
      3    Copyright (C) 2010-2014 Free Software Foundation, Inc.
      4    Written by Tristan Gingold <gingold (at) 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 */
     64