Home | History | Annotate | Download | only in vms
      1 /* Alpha VMS external format of Extended Module Header.
      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_EMH_H
     24 #define _VMS_EMH_H
     25 
     26 #define EMH__C_MHD 0		/* Main header record.		*/
     27 #define EMH__C_LNM 1		/* Language name and version.	*/
     28 #define EMH__C_SRC 2		/* Source file specification.	*/
     29 #define EMH__C_TTL 3		/* Title text of module.	*/
     30 #define EMH__C_CPR 4		/* Copyright notice.		*/
     31 #define EMH__C_MTC 5		/* Maintenance status.		*/
     32 #define EMH__C_GTX 6		/* General text.		*/
     33 #define EMH__C_MAXHDRTYP 6	/* Maximum allowable type.	*/
     34 
     35 struct vms_emh_common
     36 {
     37   /* Record type.  */
     38   unsigned char rectyp[2];
     39 
     40   /* Record size.  */
     41   unsigned char size[2];
     42 
     43   /* Subtype.  */
     44   unsigned char subtyp[2];
     45 };
     46 
     47 struct vms_emh_mhd
     48 {
     49   struct vms_emh_common common;
     50 
     51   unsigned char strlvl;
     52 
     53   unsigned char temp;
     54 
     55   unsigned char arch1[4];
     56   unsigned char arch2[4];
     57 
     58   unsigned char recsiz[4];
     59 
     60   /* Module name: ASCIC.  */
     61   /* Module version: ASCIC.  */
     62   /* Compile data: ASCIC.  */
     63 };
     64 
     65 #define EOBJ__C_MAXRECSIZ 8192  /* Maximum legal record size.  */
     66 #define EOBJ__C_STRLVL 2	/* Structure level.  */
     67 #define EOBJ__C_SYMSIZ 64	/* Maximum symbol length.  */
     68 #define EOBJ__C_SECSIZ 31	/* Maximum section name length.  */
     69 #define EOBJ__C_STOREPLIM -1	/* Maximum repeat count on store commands.  */
     70 #define EOBJ__C_PSCALILIM 16	/* Maximum p-sect alignment.  */
     71 
     72 struct vms_emh_lnm
     73 {
     74   struct vms_emh_common common;
     75 
     76   /* Language processor name: ASCII.  */
     77 };
     78 
     79 #endif /* _VMS_EMH_H */
     80