2 * CodeView 4 Debug format - declarations
4 * (based on cvinfo.h and cvexefmt.h from the Win32 SDK)
6 * Copyright 2000 John R. Sheets for CodeWeavers
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * This library 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 GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 #define sstModule 0x120
24 #define sstAlignSym 0x125
25 #define sstSrcModule 0x127
26 #define sstLibraries 0x128
27 #define sstGlobalSym 0x129
28 #define sstGlobalPub 0x12a
29 #define sstGlobalTypes 0x12b
30 #define sstSegMap 0x12d
31 #define sstFileIndex 0x133
32 #define sstStaticSym 0x134
35 /* Old, crusty value */
36 #define S_PUB32 0x0203
39 #define S_PUB32 0x1009
47 typedef struct OMFSignature
53 typedef struct OMFDirHeader
55 unsigned short cbDirHeader
;
56 unsigned short cbDirEntry
;
62 typedef struct OMFDirEntry
64 unsigned short SubSection
;
72 * sstModule subsection
75 typedef struct OMFSegDesc
83 /* Must chop off the OMFSegDesc* field, because we need to write this
84 * struct out to a file. If we write the whole struct out, we'll end up
85 * with (*OMFSegDesc), not (OMFSegDesc). See OMFModuleFull.
87 typedef struct OMFModule
89 unsigned short ovlNumber
;
95 /* Full version, with memory pointers, too. Use OMFModule for writing out to
96 * a file, and OMFModuleFull for reading. If offsetof() were available, we
97 * could use that instead.
99 typedef struct OMFModuleFull
101 unsigned short ovlNumber
;
111 * sstGlobalPub section
114 /* Header for symbol table.
116 typedef struct OMFSymHash
118 unsigned short symhash
;
119 unsigned short addrhash
;
120 unsigned long cbSymbol
;
121 unsigned long cbHSym
;
122 unsigned long cbHAddr
;
125 /* Symbol table entry.
127 typedef struct DATASYM32
129 unsigned short reclen
;
130 unsigned short rectyp
;
131 unsigned long typind
;
135 typedef DATASYM32 PUBSYM32
;
141 typedef struct OMFSegMapDesc
143 unsigned short flags
;
145 unsigned short group
;
146 unsigned short frame
;
147 unsigned short iSegName
;
148 unsigned short iClassName
;
149 unsigned long offset
;
153 typedef struct OMFSegMap
156 unsigned short cSegLog
;
157 /* OMFSegMapDesc rgDesc[0];*/
162 * sstSrcModule section
165 typedef struct OMFSourceLine
168 unsigned short cLnOff
;
169 unsigned long offset
[1];
170 unsigned short lineNbr
[1];
173 typedef struct OMFSourceFile
176 unsigned short reserved
;
177 unsigned long baseSrcLn
[1];
178 unsigned short cFName
;
182 typedef struct OMFSourceModule
184 unsigned short cFile
;
186 unsigned long baseSrcFile
[1];