Subversion Repositories Kolibri OS

Rev

Rev 5191 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /* Alpha VMS external format of Extended Shared Program Section Definition.
  2.  
  3.    Copyright (C) 2010-2015 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_ESGPS_H
  24. #define _VMS_ESGPS_H
  25.  
  26. struct vms_esgps
  27. {
  28.   /* Entry type.  */
  29.   unsigned char gsdtyp[2];
  30.  
  31.   /* Length of the entry.  */
  32.   unsigned char gsdsiz[2];
  33.  
  34.   /* Psect alignment.  */
  35.   unsigned char align;
  36.  
  37.   /* Pad for alignment.  */
  38.   unsigned char temp;
  39.  
  40.   unsigned char flags[2];
  41.  
  42.   /* Length of this contribution.  */
  43.   unsigned char alloc[4];
  44.  
  45.   /* Image offset of the psect.  */
  46.   unsigned char base[4];
  47.  
  48.   /* Symbol vector offset.  */
  49.   unsigned char value[8];
  50.  
  51.   /* Name.  */
  52.   unsigned char namlng;
  53.   unsigned char name[31];
  54. };
  55.  
  56. /* These are the same as EGPS flags.  */
  57.  
  58. #define ESGPS__V_PIC (1 << 0)   /* Not meaningful.  */
  59. #define ESGPS__V_LIB (1 << 1)   /* Defined in a shareable image.  */
  60. #define ESGPS__V_OVR (1 << 2)   /* Overlaid contribution.  */
  61. #define ESGPS__V_REL (1 << 3)   /* Relocatable.  */
  62. #define ESGPS__V_GBL (1 << 4)   /* Global.  */
  63. #define ESGPS__V_SHR (1 << 5)   /* Shareable.  */
  64. #define ESGPS__V_EXE (1 << 6)   /* Executable.  */
  65. #define ESGPS__V_RD  (1 << 7)   /* Readable.  */
  66. #define ESGPS__V_WRT (1 << 8)   /* Writable.  */
  67. #define ESGPS__V_VEC (1 << 9)   /* Change mode dispatch or message vectors.  */
  68. #define ESGPS__V_NOMOD (1 << 10)        /* Demand-zero.  */
  69. #define ESGPS__V_COM (1 << 11)  /* Conditional storage.  */
  70. #define ESGPS__V_ALLOC_64BIT (1 << 12)  /* Allocated in 64-bit space.  */
  71.  
  72. #endif /* _VMS_ESGPS_H */
  73.