Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
3.4 KiB

  1. //
  2. // MODULE: TSMap.h
  3. //
  4. // PURPOSE: Structures and other definitions for the Troubleshooter MAP file.
  5. // These use char rather than TCHAR because the file format is always strictly SBCS
  6. // (Single Byte Character Set).
  7. // This should suffice for any values it is ever expected to contain, and saves space
  8. // considerably compared to Unicode, since the file is overwhelmingly text.
  9. //
  10. // COMPANY: Saltmine Creative, Inc. (206)-633-4743 [email protected]
  11. //
  12. // AUTHOR: Joe Mabel
  13. //
  14. // ORIGINAL DATE: 2-26-98
  15. //
  16. //
  17. // Version Date By Comments
  18. //--------------------------------------------------------------------
  19. // V0.1 - JM Original
  20. ///////////////////////
  21. #ifndef _TSMAP_
  22. #define _TSMAP_
  23. const char * const k_szMapFileSignature = const_cast < const char * > ("TSMAP");
  24. #define BUFSIZE 256
  25. typedef struct TSMAPFILEHEADER {
  26. char szMapFileSignature[6]; // Always k_szMapFileSignature
  27. char szVersion[6]; // null terminated numeric version number, a positive
  28. // integer <= 99999. Current version: always "00001"
  29. char szRelease[40]; // string uniquely identifying this file.
  30. // plan 1/2/98 is use GUID
  31. DWORD dwOffApp; // offset where applications list starts
  32. DWORD dwLastOffApp; // offset where applications list ends
  33. DWORD dwOffProb; // offset where problem names list starts
  34. DWORD dwLastOffProb; // offset where problem names list ends
  35. DWORD dwOffDevID; // offset where device IDs list starts
  36. DWORD dwLastOffDevID; // offset where device IDs list ends
  37. DWORD dwOffDevClass; // offset where device class GUIDs list starts
  38. DWORD dwLastOffDevClass; // offset where device class GUIDs list ends
  39. } TSMAPFILEHEADER;
  40. typedef struct UIDMAP {
  41. unsigned short cb; // count of bytes in this record
  42. UID uid;
  43. char szMapped[BUFSIZE];
  44. } UIDMAP;
  45. typedef struct APPMAP {
  46. unsigned short cb; // count of bytes in this record
  47. DWORD dwOffVer; // offset where versions list starts
  48. DWORD dwLastOffVer; // offset where versions list ends
  49. char szMapped[BUFSIZE];
  50. } APPMAP;
  51. typedef struct VERMAP {
  52. unsigned short cb; // count of bytes in this record
  53. UID uid; // this version's own UID
  54. UID uidDefault; // UID of version to default to if no data for this version
  55. DWORD dwOffProbUID; // offset where problem UID list starts
  56. DWORD dwLastOffProbUID; // offset where problem UID list ends
  57. DWORD dwOffDevUID; // offset where device UID list starts
  58. DWORD dwLastOffDevUID; // offset where device UID list ends
  59. DWORD dwOffDevClassUID; // offset where device class UID list starts
  60. DWORD dwLastOffDevClassUID; // offset where device class UID list ends
  61. char szMapped[BUFSIZE];
  62. } VERMAP;
  63. typedef struct PROBMAP {
  64. unsigned short cb; // count of bytes in this record
  65. UID uidProb;
  66. DWORD dwOffTSName; // file offset of troubleshooting belief network name
  67. char szProblemNode[BUFSIZE]; // null-terminated symbolic node name (may be null)
  68. } PROBMAP;
  69. typedef struct DEVMAP {
  70. unsigned short cb; // count of bytes in this record
  71. UID uidDev;
  72. UID uidProb;
  73. DWORD dwOffTSName; // file offset of troubleshooting belief network name
  74. char szProblemNode[BUFSIZE]; // null-terminated symbolic node name (may be null)
  75. } DEVMAP;
  76. typedef struct DEVCLASSMAP {
  77. unsigned short cb; // count of bytes in this record
  78. UID uidDevClass;
  79. UID uidProb;
  80. DWORD dwOffTSName; // file offset of troubleshooting belief network name
  81. char szProblemNode[BUFSIZE]; // null-terminated symbolic node name (may be null)
  82. } DEVCLASSMAP;
  83. #endif //_TSMAP_