2 * CodeView 4 Debug format - declarations
4 * (based on cvinfo.h and cvexefmt.h from the Win32 SDK)
7 #define sstModule 0x120
8 #define sstAlignSym 0x125
9 #define sstSrcModule 0x127
10 #define sstLibraries 0x128
11 #define sstGlobalSym 0x129
12 #define sstGlobalPub 0x12a
13 #define sstGlobalTypes 0x12b
14 #define sstSegMap 0x12d
15 #define sstFileIndex 0x133
16 #define sstStaticSym 0x134
19 /* Old, crusty value */
20 #define S_PUB32 0x0203
23 #define S_PUB32 0x1009
27 /* FIXME: no idea if this is correct */
35 } IMAGE_DEBUG_DIRECTORY_MISC;
41 typedef struct OMFSignature
47 typedef struct OMFDirHeader
49 unsigned short cbDirHeader;
50 unsigned short cbDirEntry;
56 typedef struct OMFDirEntry
58 unsigned short SubSection;
66 * sstModule subsection
69 typedef struct OMFSegDesc
77 /* Must chop off the OMFSegDesc* field, because we need to write this
78 * struct out to a file. If we write the whole struct out, we'll end up
79 * with (*OMFSegDesc), not (OMFSegDesc). See OMFModuleFull.
81 typedef struct OMFModule
83 unsigned short ovlNumber;
89 /* Full version, with memory pointers, too. Use OMFModule for writing out to
90 * a file, and OMFModuleFull for reading. If offsetof() were available, we
91 * could use that instead.
93 typedef struct OMFModuleFull
95 unsigned short ovlNumber;
105 * sstGlobalPub section
108 /* Header for symbol table.
110 typedef struct OMFSymHash
112 unsigned short symhash;
113 unsigned short addrhash;
114 unsigned long cbSymbol;
115 unsigned long cbHSym;
116 unsigned long cbHAddr;
119 /* Symbol table entry.
121 typedef struct DATASYM32
123 unsigned short reclen;
124 unsigned short rectyp;
125 unsigned long typind;
129 typedef DATASYM32 PUBSYM32;
135 typedef struct OMFSegMapDesc
137 unsigned short flags;
139 unsigned short group;
140 unsigned short frame;
141 unsigned short iSegName;
142 unsigned short iClassName;
143 unsigned long offset;
147 typedef struct OMFSegMap
150 unsigned short cSegLog;
151 OMFSegMapDesc rgDesc[0];
156 * sstSrcModule section
159 typedef struct OMFSourceLine
162 unsigned short cLnOff;
163 unsigned long offset[1];
164 unsigned short lineNbr[1];
167 typedef struct OMFSourceFile
170 unsigned short reserved;
171 unsigned long baseSrcLn[1];
172 unsigned short cFName;
176 typedef struct OMFSourceModule
178 unsigned short cFile;
180 unsigned long baseSrcFile[1];