#define LOG_SIZE_MAX 200000 /* each log type is a "communications" channel that a god can turn on/off */ #define LOG_PORT 0 /* port binds etc */ #define LOG_ERROR 1 /* critical errors - memory issues etc */ #define LOG_BOOT 2 /* deleted at boot startup */ #define LOG_USAGE 3 /* sign-on/off, level gain, death - joe user gets this as a channel */ #define LOG_GOD 4 /* logged god commands */ #define LOG_AREA 5 /* logged area editing commands - zonelords get this as an option */ /* a typical type array, terminated by \n entry */ typedef struct logFType { BYTE *logFile; BYTE *logChannel; /* channel name */ BYTE logScreen; FILE *logDesc; FLAG logChannelFlag; } LOGF; extern void LogInit(void); extern void LogInitDone(void); extern void Log(WORD logType, BYTE *logStr); /* with date/time stamp */ extern void LogPrintf(WORD logType, BYTE *logStr); /* no data/time stamp */ extern void LogStr(BYTE *logName, BYTE *logStr); /* pick your filename */ extern void LogStrPrintf(BYTE *logName, BYTE *logStr); /* no data/time stamp */ /* config variables */ extern BYTE logStrScreen; /* echo logging to console for undefined log files ie players etc */