text: 
  #pragma once
  
  #include <limits.h>
  #include <stdlib.h>
  
  // Add your log entries (areas) here
  // This list must be kept in sync with g_LogIDNames[] below
  // The list must start at 0 and increase sequentially
  typedef enum
  {
      LogID_Logging, // The logging system can log stuff too!
      LogID_Crawler,
      LogID_CrawlerReceiver,
      LogID_CrawlerFetcher,
      LogID_CrawlerScheduler,
      LogID_CrawlerDownloadLog,
      LogID_Counters,
      LogID_Parser,
      LogID_XFERequestTracking,
      LogID_IndexGeneration,
      LogID_QueryProcessor,
      LogID_IndexMerge,
      LogID_IndexGeneral,
      LogID_IndexQueryLog,
      LogID_IndexServer,
      LogID_MCPClient,
      LogID_FileSync,
      LogID_GetAndSyncChunkManifest,
      LogID_ServiceManager,
      LogID_DynamicRank,
      LogID_Caption,
      LogID_Federation,
      LogID_APRunService,
      LogID_GetAndRunServices,
      LogID_Categorization,
      LogID_StaticRanker,
      LogID_CSClient_Unused,
      LogID_CSServer,
      LogID_CSLib,
      LogID_Common,
      LogID_Aggregator,
      LogID_Netlib,
      LogID_CatCFSpecific,
      LogID_SpamDetection,
      LogID_CrawlerUrlTracker,
      LogID_StaticRankerDetail,
      LogID_FixPIO,
      LogID_CreateCounter,
      LogID_CRCHashComputation,
      LogID_FEX,
      LogID_Moonshot,
      LogID_Fcslite,
      LogID_FcsliteCache,
      LogID_QualityOfPage,
      LogID_UST,
      LogID_SEARCH,
      LogID_FSServer,
      LogID_FSClient,
      LogID_ENCARTA,
      LogID_MUSIC,
      LogID_LeaseVote,
      LogID_Test,
      LogID_CreateSocEvent,
      LogID_SyncFiles,
      LogID_Doodad,
      LogID_DoodadFCtoLC,
      LogID_DoodadLCtoFC,
      LogID_DoodadWatchdog,
      LogID_DOSDog,
      LogID_StaticRankerTester,
      LogID_LogCollector,
      LogID_LogConvertor,
      LogID_LogUploader,
      LogID_LocalWD,
      LogID_MachineWatchdog,
      LogID_IPBlock,
      LogID_DisableServerHeader,
      LogID_IAdmin,
      LogID_GENERICAP,
      LogID_PSGateway,
      LogID_HttpProxy,
      LogID_CacheInfo,
      LogID_FeedBuilder,
      LogID_FeedBuilderData,
      LogID_SysWD,
      LogID_AlertService,
      LogID_FexRLog,
      LogID_FexCLog,
      LogID_FexHLog,
      LogID_FexPreLog,
      LogID_FexPostDataLog,
      LogID_PsTFTP,
      LogID_PsGatewayWatchdog,
      LogID_CacheManager,
      LogID_RSLLIB,
      LogID_BurninTest,
      LogID_QpsWatchdog,
      LogID_ClusterBuilder,
      LogID_MSRATermExtractor,
      LogID_RealTimeCrawl,
      LogID_RealTimeBuild,
      LogID_DPS,
      LogID_PerfCollector,
      LogID_PerfAggregator,
      LogID_ReplicatedDataSet,
      LogID_WdWatcher,
      LogID_DigiWatchdog,
      LogID_OutBandMappingWatchdog,
      LogID_PhantomWatchdog,
      LogID_DigiProvisioning,
      LogID_MiniSwitchProvisioning,
      LogID_TLALoadBalancer,
      LogID_Shopping,
      LogID_CacheLogsProcessor,
      LogID_DsSync,
      LogID_DM,
      LogID_DMWD,
      LogID_PhraseTokenExtractor,
      LogID_CQAClient,
      LogID_CQABuilder,
      LogID_CQAOQI,
      LogID_CQAUserStore,
      LogID_CQATagStore,
      LogID_CQAQAStore,
      LogID_TermExtractor,
      LogID_EMS,
      LogID_EMSStat,
      LogID_Macro,
      LogID_CSM,
      LogID_EN,
      LogID_EnWd,
      LogID_ENTest,
      LogID_Cosmos,
      LogID_CsClient,
      LogID_CsNameServer,
      LogID_PN,
      LogID_Dryad,
      LogID_CosmosTest,
      LogID_CosmosTestJournal,
      LogID_CosmosClient,
      LogID_CockpitServer,
      LogID_APWebServer,
      LogID_QueryService,
      LogID_MultiEnv,
      LogID_Election,
      LogID_APMPClient,
      LogID_APManagementProxy,
      LogID_APProxyCommand,
      LogID_FexGLog,
      LogID_FexLiveLog,
      LogID_Wssync,
      LogID_WmiLib,
      LogID_PhantomLib,
      LogID_AssetTool,
      LogID_DeviceScanner,
      LogID_DeadMachineMacScanner,
      LogID_ServerTools,
      LogID_BOOTP,
      LogID_DHCP,
      LogID_PXE,
      LogID_BOOTPServer,
      LogID_Duff,
      LogID_IdCollect,
      LogID_CosmosWebServer,
      LogID_CosmosLogLoader,
      LogID_CsmReplication,
      LogID_CQACloseQuestions,
      LogID_CQAPresser,
      LogID_CQAPoller,
      LogID_CQAStaticRanker,
      LogID_CQATagTextProcessor,
      LogID_CQAAlert,
      LogID_CQAAlertStore,
      LogID_FEX_CQA,
      LogID_CQAWatchdogs,
      LogID_MultiMedia,
      LogID_ImageFetcher,
      LogID_ImageFetcherCrawler,
      LogID_ImageFetcherThumbnailer,
      LogID_LiveSearchPane,
      LogID_PsServer,
      LogID_PsClient,
      LogID_PsAgent,
      LogID_RMAUtils,
      LogID_LCDService,
      LogID_CSV,
      LogID_CSVParser,
      LogID_CreateImage,
      LogID_CreateImageFiles,
      LogID_PhantomPowerStateWatchdog,
      LogID_WebFeedDiscovery,
      LogID_Answers,
      LogID_Newsgroup,
      LogID_TLARemoting,
      LogID_HttpClient,
      LogID_DiskTest,
      LogID_DiskTestSequential,
      LogID_DiskTestRandom,
      LogID_MemoryTest,
      LogID_WebFeedDiscoveryReader,
      LogID_WebFeedDiscoveryProcessor,
      LogID_WebFeedDiscoveryCrawlfileGenerator,
      LogID_WebFeedDiscoveryRSSFetcher,
      LogID_WebFeedDiscoveryProvider,
      LogID_FileSyncIgnoreCRC,
      LogID_FileSyncWrongCRC,
      LogID_DSSlaveSync,
      LogID_ReliableRebootService,
      LogID_GenericRepair,
      LogID_NetlibCorruptPacket,
      LogID_QuerySuggestion,
      LogID_ISNManager,
      LogID_ChunkLocator,
      LogID_ISAgent,
      LogID_CDGDominantImage,
      LogID_CsJobManager,
      LogID_CsJobManagerWd,
      LogID_CachePropagator,
      LogID_CachePropagatorClient,
      LogID_MlToHosts,
      LogID_DryadMD,
      LogID_UrlTracker,
      LogID_DNSWatchdog,
      LogID_PsWatchdog,
      LogID_WebFeedDiscoveryPinger,
      LogID_MacroSuggestion,
      LogID_AppAlertService,
      LogID_TLARowStatus,
      LogID_Sputnik,
      LogID_GeneralClient,
      LogID_QueryAugmenter,
      LogID_QueryStatistics,
      LogID_QueryISNStatistics,
      LogID_AnswersRLog,
      LogID_AnswersALog,
      LogID_DNSService,
      LogID_FexMissingSnippetLog,
      LogID_XifBuilder,
      LogID_SharedModules,
      LogID_DryadProfiler,
      LogID_CosmosProxy,
      LogID_RTIndexCoverage,
      LogID_Speller,
      LogID_FCS,
      LogID_MT_HttpServer,
      LogID_MT_Distributor,
      LogID_MT_Cache,
      LogID_MT_Translator,
      LogID_MT_ResearchSdk,
      LogID_MT_ModelServer,
      LogID_MT_DB,
      LogID_Localization,
      LogID_XcPs,
      LogID_XcApi,
      LogID_XcDataProvider,
      LogID_XcBlob,
      LogID_Journal,
      LogID_XRL,
      LogID_XArchive,
      LogID_Parallax,
  
      // This must be the last entry
      LogID_Count
  } LogID;
  
  //C_ASSERT(LogID_Count < USHRT_MAX);
  
  extern char *g_LogIDNames[];
  
  typedef struct _XSTORE_ASSERTION_INFO
  {
      ULONG FileSize;
      ULONG FunctionSize;
      //ULONG64 to indicate that those are pointers of the size of the machine integer.
      //Useful if using a 32-bit debugger / StorageLogAgent for a 64-bit process, or vice-versa
      ULONG64 File;
      ULONG64 Function;
      ULONG Line;
      ULONG Spare0; // align the structure naturally
  } XSTORE_ASSERTION_INFO, *PXSTORE_ASSERTION_INFO;
  
  
  #ifdef DECLARE_DATA
  
  // This is an array of possible log entries (areas)
  // This must be kept in sync with the LogID enumeration above
  char *g_LogIDNames[] =
  {
      "Logging",
      "Crawler",
      "CrawlerReceiver",
      "CrawlerFetcher",
      "CrawlerScheduler",
      "CrawlerDownloadLog",
      "Counters",
      "Parser",
      "XFERequestTracking",
      "IndexGeneration",
      "QueryProcessor",
      "IndexMerge",
      "IndexGeneral",
      "IndexQueryLog",
      "IndexServer",
      "MCPClient",
      "FileSync",
      "GetAndSyncChunkManifest",
      "ServiceManager",
      "DynamicRank",
      "Caption",
      "Federation",
      "APRunService",
      "GetAndRunServices",
      "Categorization",
      "StaticRanker",
      "CSClient_Unused",
      "CSServer",
      "CSLib",
      "Common",
      "Aggregator",
      "Netlib",
      "CatCFSpecific",
      "SpamDetection",
      "CrawlerUrlTracker",
      "StaticRankerDetail",
      "FixPIO",
      "CreateCounter",
      "CRCHashComputation",
      "FEX",
      "Moonshot",
      "Fcslite",
      "FcsliteCache",
      "QualityOfPage",
      "UrlSubmissionTool",
      "Search",
      "FSServer",
      "FSClient",
      "Encarta",
      "Music",
      "LeaseVote",
      "Test",
      "CreateSocEvent",
      "SyncFiles",
      "Doodad",
      "DoodadFCtoLC",
      "DoodadLCtoFC",
      "DoodadWatchdog",
      "DOSDog",
      "StaticRankerTester",
      "Collector",
      "Convertor",
      "Uploader",
      "LocalWD",
      "MachineWatchdog",
      "IPBlock",
      "DisableServerHeader",
      "IAdmin",
      "GenericAP",
      "PSGateway",
      "HttpProxy",
      "CacheInfo",
      "FeedBuilder",
      "FeedBuilderData",
      "SysWatchdog",
      "AlertService",
      "FexRLog",
      "FexCLog",
      "FexHLog",
      "FexPreLog",
      "FexPostDataLog",
      "PsTFTP",
      "PsGatewayWatchdog",
      "CacheManager",
      "RSL",
      "BurninTest",
      "QpsWatchdog",
      "ClusterBuilder",
      "MSRATermExtractor",
      "RealTimeCrawl",
      "RealTimeBuild",
      "ProfileStore",
      "PerfCollector",
      "PerfAggregator",
      "ReplicatedDataSet",
      "WatchdogsWatcher",
      "DigiWatchdog",
      "OutBandMappingWatchdog",
      "PhantomWatchdog",
      "DigiProvisioning",
      "MiniSwitchProvisioning",
      "TLALoadBalancer",
      "Shopping",
      "CacheLogsProcessor",
      "DatasetSync",
      "DeviceManager",
      "DeviceManagerIncomingWatchdog",
      "PhraseTokenExtractor",
      "CQAClient",
      "CQABuilder",
      "CQAOQI",
      "CQAUserStore",
      "CQATagStore",
      "CQAQAStore",
      "TermExtractor",
      "EMS",
      "EMSStat",
      "Macro",
      "CSM",
      "EN",
      "EnWd",
      "ENTest",
      "Cosmos",
      "CsClient",
      "CsNameServer",
      "PN",
      "Dryad",
      "CosmosTest",
      "CosmosTestJournal",
      "CosmosClient",
      "CockpitServer",
      "APWebServer",
      "QueryService",
      "MultiEnv",
      "Election",
      "APMPClient",
      "APProxy",
      "APProxyCommand",
      "FexGLog",
      "FexLiveLog",
      "wssynclog",
      "WmiLib",
      "PhantomLib",
      "AssetTool",
      "DeviceScanner",
      "DeadMachineMacScanner",
      "ServerTools",
      "BOOTP",
      "DHCP",
      "PXE",
      "BOOTPServer",
      "Duff",
      "IdCollect",
      "CosmosWebServer",
      "CosmosLogLoader",
      "CsmReplication",
      "CQACloseQuestions",
      "CQAPresser",
      "CQAPoller",
      "CQAStaticRanker",
      "CQATagTextProcessor",
      "CQAAlert",
      "CQAAlertStore",
      "FexCQA",
      "CQAWatchdogs",
      "MultiMedia",
      "ImageFetcher",
      "ImageFetcherCrawler",
      "ImageFetcherThumbnailer",
      "LiveSearchPane",
      "PsServer",
      "PsClient",
      "PsAgent",
      "RMAUtils",
      "LCDService",
      "CSV",
      "CSVParser",
      "CreateImage",
      "CreateImageFiles",
      "PhantomPowerStateWatchdog",
      "WebFeedDiscovery",
      "Answers",
      "Newsgroup",
      "TLARemoting",
      "HttpClient",
      "DiskTest",
      "DiskTestSequential",
      "DiskTestRandom",
      "MemoryTest",
      "WebFeedDiscoveryReader",
      "WebFeedDiscoveryProcessor",
      "WebFeedDiscoveryCrawlfileGenerator",
      "WebFeedDiscoveryRSSFetcher",
      "WebFeedDiscoveryProvider",
      "FileSyncIgnoreCRC",
      "FileSyncWrongCRC",
      "DSSlaveSync",
      "ReliableRebootService",
      "GenericRepair",
      "NetlibCorruptPacket",
      "QuerySuggestion",
      "ISNManager",
      "ChunkLocator",
      "ISAgent",
      "CDGDominantImage",
      "CosmosJobManager",
      "CosmosJobManagerWd",
      "CachePropagator",
      "CachePropagatorClient",
      "MlToHosts",
      "DryadMD",
      "UrlTracker",
      "DNSWatchdog",
      "PsWatchdog",
      "WebFeedDiscoveryPinger",
      "MacroSuggestion",
      "AppAlertService",
      "RowStatus",
      "Sputnik",
      "GeneralClient",
      "QueryAugmenter",
      "QueryStatistics",
      "QueryISNStatistics",
      "AnswersRLog",
      "AnswersALog",
      "DNSService",
      "FexMissingSnippetLog",
      "XifBuilder",
      "SharedModules",
      "DryadProfiler",
      "CosmosProxy",
      "RTIndexCoverage",
      "Speller",
      "FCS",
      "MT_HttpServer",
      "MT_Distributor",
      "MT_Cache",
      "MT_Translator",
      "MT_ResearchSdk",
      "MT_ModelServer",
      "MT_DB",
      "Localization",
      "XcPs",
      "XcApi",
      "XcDataProvider",
      "XcBlob",
      "Journal",
      "XRDMALib",
      "XArchive",
      "Parallax",
  
      // Last entry must be a NULL (for sanity checking)
      NULL
  };
  
  C_ASSERT(_countof(g_LogIDNames) == LogID_Count + 1);
  #endif
  