Home | History | Annotate | Line # | Download | only in vms
      1   1.1  christos /* Alpha VMS external format of Extended Global Symbol Directory.
      2   1.1  christos 
      3  1.10  christos    Copyright (C) 2010-2025 Free Software Foundation, Inc.
      4   1.1  christos    Written by Tristan Gingold <gingold (at) adacore.com>, AdaCore.
      5   1.1  christos 
      6   1.1  christos    This file is part of BFD, the Binary File Descriptor library.
      7   1.1  christos 
      8   1.1  christos    This program is free software; you can redistribute it and/or modify
      9   1.1  christos    it under the terms of the GNU General Public License as published by
     10   1.1  christos    the Free Software Foundation; either version 3 of the License, or
     11   1.1  christos    (at your option) any later version.
     12   1.1  christos 
     13   1.1  christos    This program is distributed in the hope that it will be useful,
     14   1.1  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
     15   1.1  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     16   1.1  christos    GNU General Public License for more details.
     17   1.1  christos 
     18   1.1  christos    You should have received a copy of the GNU General Public License
     19   1.1  christos    along with this program; if not, write to the Free Software
     20   1.1  christos    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
     21   1.1  christos    MA 02110-1301, USA.  */
     22   1.1  christos 
     23   1.1  christos #ifndef _VMS_EGSD_H
     24   1.1  christos #define _VMS_EGSD_H
     25   1.1  christos 
     26   1.1  christos #define EGSD__K_ENTRIES 2	/* Offset to first entry in record.	*/
     27   1.1  christos #define EGSD__C_ENTRIES 2	/* Offset to first entry in record.	*/
     28   1.1  christos #define EGSD__C_PSC 0		/* Psect definition.			*/
     29   1.1  christos #define EGSD__C_SYM 1		/* Symbol specification.		*/
     30   1.1  christos #define EGSD__C_IDC 2		/* Random entity check.			*/
     31   1.1  christos #define EGSD__C_SPSC 5		/* Shareable image psect definition.	*/
     32   1.1  christos #define EGSD__C_SYMV 6		/* Vectored (dual-valued) versions of SYM.  */
     33   1.1  christos #define EGSD__C_SYMM 7		/* Masked versions of SYM.		*/
     34   1.1  christos #define EGSD__C_SYMG 8		/* EGST - gst version of SYM.		*/
     35   1.1  christos #define EGSD__C_MAXRECTYP 8	/* Maximum entry type defined.		*/
     36   1.1  christos 
     37   1.1  christos struct vms_egsd
     38   1.1  christos {
     39   1.1  christos   /* Record type.  */
     40   1.1  christos   unsigned char rectyp[2];
     41   1.1  christos 
     42   1.1  christos   /* Record size.  */
     43   1.1  christos   unsigned char recsiz[2];
     44   1.1  christos 
     45   1.1  christos   /* Padding for alignment.  */
     46   1.1  christos   unsigned char alignlw[4];
     47   1.1  christos 
     48   1.1  christos   /* Followed by egsd entries.  */
     49   1.1  christos };
     50   1.1  christos 
     51   1.1  christos struct vms_egsd_entry
     52   1.1  christos {
     53   1.1  christos   /* Entry type.  */
     54   1.1  christos   unsigned char gsdtyp[2];
     55   1.1  christos 
     56   1.1  christos   /* Length of the entry.  */
     57   1.1  christos   unsigned char gsdsiz[2];
     58   1.1  christos };
     59   1.1  christos 
     60   1.1  christos #endif /* _VMS_EGSD_H */
     61