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

//
// MODULE: TSMap.h
//
// PURPOSE: Structures and other definitions for the Troubleshooter MAP file.
// These use char rather than TCHAR because the file format is always strictly SBCS
// (Single Byte Character Set).
// This should suffice for any values it is ever expected to contain, and saves space
// considerably compared to Unicode, since the file is overwhelmingly text.
//
// COMPANY: Saltmine Creative, Inc. (206)-633-4743 [email protected]
//
// AUTHOR: Joe Mabel
//
// ORIGINAL DATE: 2-26-98
//
//
// Version Date By Comments
//--------------------------------------------------------------------
// V0.1 - JM Original
///////////////////////
#ifndef _TSMAP_
#define _TSMAP_
const char * const k_szMapFileSignature = const_cast < const char * > ("TSMAP");
#define BUFSIZE 256
typedef struct TSMAPFILEHEADER {
char szMapFileSignature[6]; // Always k_szMapFileSignature
char szVersion[6]; // null terminated numeric version number, a positive
// integer <= 99999. Current version: always "00001"
char szRelease[40]; // string uniquely identifying this file.
// plan 1/2/98 is use GUID
DWORD dwOffApp; // offset where applications list starts
DWORD dwLastOffApp; // offset where applications list ends
DWORD dwOffProb; // offset where problem names list starts
DWORD dwLastOffProb; // offset where problem names list ends
DWORD dwOffDevID; // offset where device IDs list starts
DWORD dwLastOffDevID; // offset where device IDs list ends
DWORD dwOffDevClass; // offset where device class GUIDs list starts
DWORD dwLastOffDevClass; // offset where device class GUIDs list ends
} TSMAPFILEHEADER;
typedef struct UIDMAP {
unsigned short cb; // count of bytes in this record
UID uid;
char szMapped[BUFSIZE];
} UIDMAP;
typedef struct APPMAP {
unsigned short cb; // count of bytes in this record
DWORD dwOffVer; // offset where versions list starts
DWORD dwLastOffVer; // offset where versions list ends
char szMapped[BUFSIZE];
} APPMAP;
typedef struct VERMAP {
unsigned short cb; // count of bytes in this record
UID uid; // this version's own UID
UID uidDefault; // UID of version to default to if no data for this version
DWORD dwOffProbUID; // offset where problem UID list starts
DWORD dwLastOffProbUID; // offset where problem UID list ends
DWORD dwOffDevUID; // offset where device UID list starts
DWORD dwLastOffDevUID; // offset where device UID list ends
DWORD dwOffDevClassUID; // offset where device class UID list starts
DWORD dwLastOffDevClassUID; // offset where device class UID list ends
char szMapped[BUFSIZE];
} VERMAP;
typedef struct PROBMAP {
unsigned short cb; // count of bytes in this record
UID uidProb;
DWORD dwOffTSName; // file offset of troubleshooting belief network name
char szProblemNode[BUFSIZE]; // null-terminated symbolic node name (may be null)
} PROBMAP;
typedef struct DEVMAP {
unsigned short cb; // count of bytes in this record
UID uidDev;
UID uidProb;
DWORD dwOffTSName; // file offset of troubleshooting belief network name
char szProblemNode[BUFSIZE]; // null-terminated symbolic node name (may be null)
} DEVMAP;
typedef struct DEVCLASSMAP {
unsigned short cb; // count of bytes in this record
UID uidDevClass;
UID uidProb;
DWORD dwOffTSName; // file offset of troubleshooting belief network name
char szProblemNode[BUFSIZE]; // null-terminated symbolic node name (may be null)
} DEVCLASSMAP;
#endif //_TSMAP_