DbiHeader.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //-----------------------------------------------------------------------------
  2. //
  3. // Copyright (c) Microsoft. All rights reserved.
  4. // This code is licensed under the Microsoft Public License.
  5. // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
  6. // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
  7. // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
  8. // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
  9. //
  10. //-----------------------------------------------------------------------------
  11. using System;
  12. namespace Microsoft.Cci.Pdb {
  13. internal struct DbiHeader {
  14. internal DbiHeader(BitAccess bits) {
  15. bits.ReadInt32(out sig);
  16. bits.ReadInt32(out ver);
  17. bits.ReadInt32(out age);
  18. bits.ReadInt16(out gssymStream);
  19. bits.ReadUInt16(out vers);
  20. bits.ReadInt16(out pssymStream);
  21. bits.ReadUInt16(out pdbver);
  22. bits.ReadInt16(out symrecStream);
  23. bits.ReadUInt16(out pdbver2);
  24. bits.ReadInt32(out gpmodiSize);
  25. bits.ReadInt32(out secconSize);
  26. bits.ReadInt32(out secmapSize);
  27. bits.ReadInt32(out filinfSize);
  28. bits.ReadInt32(out tsmapSize);
  29. bits.ReadInt32(out mfcIndex);
  30. bits.ReadInt32(out dbghdrSize);
  31. bits.ReadInt32(out ecinfoSize);
  32. bits.ReadUInt16(out flags);
  33. bits.ReadUInt16(out machine);
  34. bits.ReadInt32(out reserved);
  35. }
  36. internal int sig; // 0..3
  37. internal int ver; // 4..7
  38. internal int age; // 8..11
  39. internal short gssymStream; // 12..13
  40. internal ushort vers; // 14..15
  41. internal short pssymStream; // 16..17
  42. internal ushort pdbver; // 18..19
  43. internal short symrecStream; // 20..21
  44. internal ushort pdbver2; // 22..23
  45. internal int gpmodiSize; // 24..27
  46. internal int secconSize; // 28..31
  47. internal int secmapSize; // 32..35
  48. internal int filinfSize; // 36..39
  49. internal int tsmapSize; // 40..43
  50. internal int mfcIndex; // 44..47
  51. internal int dbghdrSize; // 48..51
  52. internal int ecinfoSize; // 52..55
  53. internal ushort flags; // 56..57
  54. internal ushort machine; // 58..59
  55. internal int reserved; // 60..63
  56. }
  57. }