(sim_core_signal): Add missing "\n" in message.
[deliverable/binutils-gdb.git] / include / nlm / external.h
CommitLineData
6febb1e3
FF
1/* NLM (NetWare Loadable Module) support for BFD.
2 Copyright (C) 1993 Free Software Foundation, Inc.
3
4 Written by Fred Fish @ Cygnus Support
5
6This file is part of BFD, the Binary File Descriptor library.
7
8This program is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 2 of the License, or
11(at your option) any later version.
12
13This program is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with this program; if not, write to the Free Software
20Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
21
22
23/* This file is part of NLM support for BFD, and contains the portions
24 that describe how NLM is represented externally by the BFD library.
25 I.E. it describes the in-file representation of NLM. It requires
26 the nlm/common.h file which contains the portions that are common to
27 both the internal and external representations.
28
29 Note that an NLM header consists of three parts:
30
31 (1) A fixed length header that has specific fields of known length,
32 at specific offsets in the file.
33
34 (2) A variable length header that has specific fields in a specific
35 order, but some fields may be variable length.
36
37 (3) A auxiliary header that has various optional fields in no specific
38 order. There is no way to identify the end of the auxiliary headers
39 except by finding a header without a recognized 'stamp'.
8ae5cb6e 40
efb7100d
ILT
41 The exact format of the fixed length header unfortunately varies
42 from one NLM target to another, due to padding. Each target
43 defines the correct external format in a separate header file.
44
6febb1e3
FF
45*/
46
8ae5cb6e 47/* NLM Header */
6febb1e3 48
6febb1e3
FF
49/* The version header is one of the optional auxiliary headers and
50 follows the fixed length and variable length NLM headers. */
51
8ae5cb6e 52typedef struct nlmNAME(external_version_header)
6febb1e3
FF
53{
54
55 /* The header is recognized by "VeRsIoN#" in the stamp field. */
56 char stamp[8];
57
8ae5cb6e 58 unsigned char majorVersion[NLM_TARGET_LONG_SIZE];
6febb1e3 59
8ae5cb6e 60 unsigned char minorVersion[NLM_TARGET_LONG_SIZE];
6febb1e3 61
8ae5cb6e 62 unsigned char revision[NLM_TARGET_LONG_SIZE];
6febb1e3 63
8ae5cb6e 64 unsigned char year[NLM_TARGET_LONG_SIZE];
6febb1e3 65
8ae5cb6e 66 unsigned char month[NLM_TARGET_LONG_SIZE];
6febb1e3 67
8ae5cb6e 68 unsigned char day[NLM_TARGET_LONG_SIZE];
6febb1e3 69
8ae5cb6e 70} NlmNAME(External_Version_Header);
6febb1e3
FF
71
72
8ae5cb6e 73typedef struct nlmNAME(external_copyright_header)
6febb1e3
FF
74{
75
76 /* The header is recognized by "CoPyRiGhT=" in the stamp field. */
77
78 char stamp[10];
79
80 unsigned char copyrightMessageLength[1];
81
82 /* There is a variable length field here called 'copyrightMessage'
83 that is the length specified by copyrightMessageLength. */
84
8ae5cb6e 85} NlmNAME(External_Copyright_Header);
6febb1e3
FF
86
87
8ae5cb6e 88typedef struct nlmNAME(external_extended_header)
6febb1e3
FF
89{
90
91 /* The header is recognized by "MeSsAgEs" in the stamp field. */
92
93 char stamp[8];
94
8ae5cb6e 95 unsigned char languageID[NLM_TARGET_LONG_SIZE];
6febb1e3 96
8ae5cb6e 97 unsigned char messageFileOffset[NLM_TARGET_LONG_SIZE];
6febb1e3 98
8ae5cb6e 99 unsigned char messageFileLength[NLM_TARGET_LONG_SIZE];
6febb1e3 100
8ae5cb6e 101 unsigned char messageCount[NLM_TARGET_LONG_SIZE];
6febb1e3 102
8ae5cb6e 103 unsigned char helpFileOffset[NLM_TARGET_LONG_SIZE];
6febb1e3 104
8ae5cb6e 105 unsigned char helpFileLength[NLM_TARGET_LONG_SIZE];
6febb1e3 106
8ae5cb6e 107 unsigned char RPCDataOffset[NLM_TARGET_LONG_SIZE];
6febb1e3 108
8ae5cb6e 109 unsigned char RPCDataLength[NLM_TARGET_LONG_SIZE];
6febb1e3 110
8ae5cb6e 111 unsigned char sharedCodeOffset[NLM_TARGET_LONG_SIZE];
6febb1e3 112
8ae5cb6e 113 unsigned char sharedCodeLength[NLM_TARGET_LONG_SIZE];
6febb1e3 114
8ae5cb6e 115 unsigned char sharedDataOffset[NLM_TARGET_LONG_SIZE];
6febb1e3 116
8ae5cb6e 117 unsigned char sharedDataLength[NLM_TARGET_LONG_SIZE];
6febb1e3 118
8ae5cb6e 119 unsigned char sharedRelocationFixupOffset[NLM_TARGET_LONG_SIZE];
6febb1e3 120
8ae5cb6e 121 unsigned char sharedRelocationFixupCount[NLM_TARGET_LONG_SIZE];
6febb1e3 122
8ae5cb6e 123 unsigned char sharedExternalReferenceOffset[NLM_TARGET_LONG_SIZE];
6febb1e3 124
8ae5cb6e 125 unsigned char sharedExternalReferenceCount[NLM_TARGET_LONG_SIZE];
6febb1e3 126
8ae5cb6e 127 unsigned char sharedPublicsOffset[NLM_TARGET_LONG_SIZE];
6febb1e3 128
8ae5cb6e 129 unsigned char sharedPublicsCount[NLM_TARGET_LONG_SIZE];
6febb1e3 130
efb7100d
ILT
131 unsigned char sharedDebugRecordOffset[NLM_TARGET_LONG_SIZE];
132
133 unsigned char sharedDebugRecordCount[NLM_TARGET_LONG_SIZE];
134
8ae5cb6e 135 unsigned char sharedInitializationOffset[NLM_TARGET_ADDRESS_SIZE];
6febb1e3 136
8ae5cb6e 137 unsigned char SharedExitProcedureOffset[NLM_TARGET_ADDRESS_SIZE];
6febb1e3 138
8ae5cb6e 139 unsigned char productID[NLM_TARGET_LONG_SIZE];
6febb1e3 140
8ae5cb6e 141 unsigned char reserved0[NLM_TARGET_LONG_SIZE];
6febb1e3 142
8ae5cb6e 143 unsigned char reserved1[NLM_TARGET_LONG_SIZE];
6febb1e3 144
8ae5cb6e 145 unsigned char reserved2[NLM_TARGET_LONG_SIZE];
6febb1e3 146
8ae5cb6e 147 unsigned char reserved3[NLM_TARGET_LONG_SIZE];
6febb1e3 148
8ae5cb6e 149 unsigned char reserved4[NLM_TARGET_LONG_SIZE];
6febb1e3 150
8ae5cb6e 151 unsigned char reserved5[NLM_TARGET_LONG_SIZE];
6febb1e3 152
8ae5cb6e 153} NlmNAME(External_Extended_Header);
6febb1e3
FF
154
155
8ae5cb6e 156typedef struct nlmNAME(external_custom_header)
6febb1e3
FF
157{
158
159 /* The header is recognized by "CuStHeAd" in the stamp field. */
160 char stamp[8];
161
8ae5cb6e 162 unsigned char dataLength[NLM_TARGET_LONG_SIZE];
6febb1e3 163
8ae5cb6e 164} NlmNAME(External_Custom_Header);
1f573a79
ILT
165
166typedef struct nlmNAME(external_cygnus_section_header)
167{
168
169 /* The header is recognized by "CyGnUsSeCs" in the stamp field. */
170 char stamp[10];
171
172 unsigned char offset[NLM_TARGET_LONG_SIZE];
173
174 unsigned char length[NLM_TARGET_LONG_SIZE];
175
176} NlmNAME(External_Cygnus_Section_Header);
This page took 0.145723 seconds and 4 git commands to generate.