OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [include/] [vms/] [eihd.h] - Blame information for rev 284

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 17 khays
/* Alpha VMS external format of Extended Image Header.
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_EIHD_H
24
#define _VMS_EIHD_H
25
 
26
/* Extended Image Header (eihd) structure.  */
27
struct vms_eihd
28
{
29
  /* Version of this EIHD.  */
30
  unsigned char majorid[4];
31
  unsigned char minorid[4];
32
 
33
  /* Size in bytes of the header.  */
34
  unsigned char size[4];
35
 
36
  /* Byte offset to ISD (Image Section Descriptors) list.  */
37
  unsigned char isdoff[4];
38
 
39
  /* Byte offset to activation data (off=16).  */
40
  unsigned char activoff[4];
41
 
42
  /* Byte offset to symbol table and debugging data.  */
43
  unsigned char symdbgoff[4];
44
 
45
  /* Byte offset to image ident.  */
46
  unsigned char imgidoff[4];
47
 
48
  /* Byte offset to patch data.  */
49
  unsigned char patchoff[4];
50
 
51
  /* RVA of fixup info (off=32).  */
52
  unsigned char iafva[8];
53
 
54
  /* RVA of symbol vector.  */
55
  unsigned char symvva[8];
56
 
57
  /* Byte offset to version number array (off=48).  */
58
  unsigned char version_array_off[4];
59
 
60
  /* Image type.  */
61
  unsigned char imgtype[4];
62
 
63
  /* Image subtype.  */
64
  unsigned char subtype[4];
65
 
66
  /* Size in bytes of image I/O section requested.  */
67
  unsigned char imgiocnt[4];
68
 
69
  /* Nbr of channels requested (off=64).  */
70
  unsigned char iochancnt[4];
71
 
72
  /* Requested privilege mask.  */
73
  unsigned char privreqs[8];
74
 
75
  /* Number of header diskblocks.  */
76
  unsigned char hdrblkcnt[4];
77
 
78
  /* Linker produced image flags.  */
79
  unsigned char lnkflags[4];
80
 
81
  /* GBL SEC ident value for linkable image.  */
82
  unsigned char ident[4];
83
 
84
  /* SYS$K_VERSION or 0 if not linked with exec.  */
85
  unsigned char sysver[4];
86
 
87
  /* Linker match control.  */
88
  unsigned char matchctl;
89
  unsigned char fill_1[3];
90
 
91
  /* Size of the symbol vector in bytes.  */
92
  unsigned char symvect_size[4];
93
 
94
  /* Value of /BPAGE.  */
95
  unsigned char virt_mem_block_size[4];
96
 
97
  /* Byte offset to extended fixup data.  */
98
  unsigned char ext_fixup_off[4];
99
 
100
  /* Byte offset to no_optimize psect table.  */
101
  unsigned char noopt_psect_off[4];
102
 
103
  unsigned char fill_2[398];
104
 
105
  /* CODE identifies image type to MOM.  */
106
  unsigned char alias[2];
107
};
108
 
109
#define EIHD__K_MAJORID 3       /* Major id constant    */
110
#define EIHD__K_MINORID 0        /* Minor id constant    */
111
 
112
/* Image type.  */
113
#define EIHD__K_EXE             1       /* Executable image     */
114
#define EIHD__K_LIM             2       /* Linkable image.  */
115
 
116
/* Image subtype.  */
117
#define EIHD__C_NATIVE          0        /* Alpha native image.  */
118
#define EIHD__C_CLI             1       /* Image is a CLI, run LOGINOUT.  */
119
 
120
/* Linker image flags.  */
121
#define EIHD__M_LNKDEBUG        0x0001  /* Full debugging requested.  */
122
#define EIHD__M_LNKNOTFR        0x0002  /* No first transfer address.  */
123
#define EIHD__M_NOP0BUFS        0x0004  /* No RMS use of P0 for image I/O.  */
124
#define EIHD__M_PICIMG          0x0008  /* PIC image.  */
125
#define EIHD__M_P0IMAGE         0x0010  /* P0 only image.  */
126
#define EIHD__M_DBGDMT          0x0020  /* Image header has dmt fields.  */
127
#define EIHD__M_INISHR          0x0040  /* Transfer array contains LNISHR.  */
128
#define EIHD__M_XLATED          0x0080  /* Translated image.  */
129
#define EIHD__M_BIND_CODE_SEC   0x0100  /* EXE sect can be put into S0.  */
130
#define EIHD__M_BIND_DATA_SEC   0x0200  /* DATA sect can be put into S0.  */
131
#define EIHD__M_MKTHREADS       0x0400  /* Multiple kernel threads.  */
132
#define EIHD__M_UPCALLS         0x0800  /* Upcalls enabled.  */
133
#define EIHD__M_OMV_READY       0x1000  /* Can be processed by OMV.  */
134
#define EIHD__M_EXT_BIND_SECT   0x2000  /* May be moved, using ext fixups.  */
135
 
136
/* Offsets of some fields.  */
137
#define EIHD__L_SIZE            8
138
#define EIHD__L_ISDOFF          12
139
#define EIHD__L_SYMDBGOFF       20
140
#define EIHD__Q_SYMVVA          40
141
#define EIHD__L_IMGTYPE         52
142
 
143
#define EIHD__C_LENGTH 104
144
 
145
#endif /* _VMS_EIHD_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.