Bundle other options (#3501)
[mono.git] / mcs / tools / pdb2mdb / DbiHeader.cs
1 //-----------------------------------------------------------------------------
2 //
3 // Copyright (C) Microsoft Corporation.  All Rights Reserved.
4 //
5 //-----------------------------------------------------------------------------
6 using System;
7
8 namespace Microsoft.Cci.Pdb {
9   internal struct DbiHeader {
10     internal DbiHeader(BitAccess bits) {
11       bits.ReadInt32(out sig);
12       bits.ReadInt32(out ver);
13       bits.ReadInt32(out age);
14       bits.ReadInt16(out gssymStream);
15       bits.ReadUInt16(out vers);
16       bits.ReadInt16(out pssymStream);
17       bits.ReadUInt16(out pdbver);
18       bits.ReadInt16(out symrecStream);
19       bits.ReadUInt16(out pdbver2);
20       bits.ReadInt32(out gpmodiSize);
21       bits.ReadInt32(out secconSize);
22       bits.ReadInt32(out secmapSize);
23       bits.ReadInt32(out filinfSize);
24       bits.ReadInt32(out tsmapSize);
25       bits.ReadInt32(out mfcIndex);
26       bits.ReadInt32(out dbghdrSize);
27       bits.ReadInt32(out ecinfoSize);
28       bits.ReadUInt16(out flags);
29       bits.ReadUInt16(out machine);
30       bits.ReadInt32(out reserved);
31     }
32
33     internal int sig;                        // 0..3
34     internal int ver;                        // 4..7
35     internal int age;                        // 8..11
36     internal short gssymStream;                // 12..13
37     internal ushort vers;                       // 14..15
38     internal short pssymStream;                // 16..17
39     internal ushort pdbver;                     // 18..19
40     internal short symrecStream;               // 20..21
41     internal ushort pdbver2;                    // 22..23
42     internal int gpmodiSize;                 // 24..27
43     internal int secconSize;                 // 28..31
44     internal int secmapSize;                 // 32..35
45     internal int filinfSize;                 // 36..39
46     internal int tsmapSize;                  // 40..43
47     internal int mfcIndex;                   // 44..47
48     internal int dbghdrSize;                 // 48..51
49     internal int ecinfoSize;                 // 52..55
50     internal ushort flags;                      // 56..57
51     internal ushort machine;                    // 58..59
52     internal int reserved;                   // 60..63
53   }
54 }