- Timestamp:
- Oct 23, 2001, 4:12:14 AM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/win32k/kKrnlLib/include/kLog.h
r7124 r7158 1 /* $Id: kLog.h,v 1. 4 2001-10-19 01:48:36bird Exp $1 /* $Id: kLog.h,v 1.5 2001-10-23 02:12:14 bird Exp $ 2 2 * 3 3 * kLog - Generic Logging and Trace Routines. … … 53 53 54 54 /* 55 * Define default file and function names. 56 */ 55 * Define defaults. 56 */ 57 #ifndef KLOGFILEDEF 58 #define KLOGFILEDEF __FILE__ 59 #endif 60 #ifndef KLOGFUNCTIONDEF 61 #define KLOGFUNCTIONDEF __FUNCTION__ 62 #endif 63 57 64 #ifndef KLOGFILE 58 # define KLOGFILE __FILE__ 65 #ifndef NOFILEID 66 #define KLOGFILE szFileId 67 #else 68 #define KLOGFILE KLOGFUNCTIONDEF 69 #endif 59 70 #endif 60 71 #ifndef KLOGFUNCTION 61 # define KLOGFUNCTION __FUNCTION__ 62 #endif 72 #define KLOGFUNCTION szkLogFunctionName 73 #endif 74 #ifndef KLOGRETURNTYPE 75 #define KLOGRETURNTYPE szkLogReturnType 76 #endif 77 #ifndef KLOGMODHANDLE 78 #define KLOGMODHANDLE hkLogMod 79 #endif 80 #ifndef KLOGSEQHANDLE 81 #define KLOGSEQHANDLE kLogSeqHandle 82 #endif 83 84 /* 85 * Position parameters. 86 */ 63 87 #define KLOGPOS_EXT KLOGFILE, __LINE__, KLOGFUNCTION /* external call */ 64 88 #define KLOGPOS_INT pszFile, iLine, pszFunction /* Internal call */ … … 206 230 HKLOGMOD KLIBCALL kLogInitMod(PKLOGMODDATA pMod, KLOGPOS_DECL); 207 231 #endif 208 void KLIBCALL kLogEntry(HKLOGMOD hLogMod, KLOGPOS_DECL, const char *pszFuncProto, KBOOL fOptlink, ...); 209 void KLIBCALL kLogExit(HKLOGMOD hLogMod, KLOGPOS_DECL, const char *pszReturnType, unsigned uReturn); 232 void KLIBCALL kLogTermMod(HKLOGMOD hLogMod, KLOGPOS_DECL); 233 234 int KLIBCALL kLogStart(HKLOGMOD hLogMod, KLOGPOS_DECL, PHKLOGSEQ phSeq, const char *pszFuncProto, KBOOL fOptlink, ...); 235 int KLIBCALL kLogEntry(HKLOGMOD hLogMod, KLOGPOS_DECL, const char *pszFuncProto, KBOOL fOptlink, ...); 236 void KLIBCALL kLogExit(HKLOGMOD hLogMod, KLOGPOS_DECL, const char *pszReturnType, ...); 237 void KLIBCALL kLogStop(HKLOGMOD hLogMod, KLOGPOS_DECL, PHKLOGSEQ phSeq, const char *pszReturnType, ...); 238 210 239 void KLIBCALL kLog(HKLOGMOD hLogMod, KLOGPOS_DECL, int iType, ...); 211 240 #if defined(va_arg) || defined(va_list) || defined(va_start) || defined(va_end) 212 241 void KLIBCALL kLogv(HKLOGMOD hLogMod, KLOGPOS_DECL, int iType, va_list args); 213 va_list KLIBCALL kLogFixPrintf(const char *pszFormat, ...); /* a hack! */ 214 #endif 215 216 #define KLOGINITMOD(pMod) kLogInitMod(pMod, KLOGPOS_EXT) 217 #define KLOGENTRY(hLogMod, pszProto, parg0) kLogEntry(hLogMod, KLOGPOS_EXT, pszFuncProto, FALSE, parg0) 218 #define KLOGEXIT(hLogMod, pszType, uValue) kLogExit(hLogMod, KLOGPOS_EXT, pszType, uValue) 242 #endif 243 244 int KLIBCALL kLogFixPrintf1(const char *pszFormat, ...); 245 void KLIBCALL kLogFixPrintf2(HKLOGMOD hLogMod, KLOGPOS_DECL, int iType, int iBuffer); 246 247 248 249 /******************************************************************************* 250 * Macros * 251 *******************************************************************************/ 252 #if defined(DEBUG) || defined(LOGGING_ENABLED) 253 #define KLOGINITMOD(pMod) KLOGMODHANDLE = kLogInitMod(pMod, KLOGPOS_EXT) 254 #define KLOGTERMMOD() kLogTermMod(KLOGMODHANDLE, KLOGPOS_EXT) 255 256 #define KLOGSTARTPARMS KLOGMODHANDLE, KLOGPOS_EXT, &KLOGSEQHANDLE 257 #define KLOGENTRYPARMS KLOGMODHANDLE, KLOGPOS_EXT 258 #define KLOGSTARTVARS(pszRetType) static const char KLOGFUNCTION[] = KLOGFUNCTIONDEF; \ 259 static const char KLOGRETURNTYPE[] = pszRetType; \ 260 HLOGSEQ KLOGSEQHANDLE; \ 261 int kLogDummyVariable 262 #define KLOGENTRYVARS(pszRetType) static const char KLOGFUNCTION[] = KLOGFUNCTIONDEF; \ 263 static const char KLOGRETURNTYPE[] = pszRetType; \ 264 int kLogDummyVariable 265 266 #define KLOGSTART( pszRetType, pszProto, arg0) KLOGSTARTVARS(pszRetType) = kLogStart(KLOGSTARTPARMS, pszProto, FALSE, &(arg0)) 267 #define KLOGSTART0(pszRetType) KLOGSTARTVARS(pszRetType) = kLogStart(KLOGSTARTPARMS, NULL, TRUE) 268 #define KLOGSTART1(pszRetType, pszProto, a0) KLOGSTARTVARS(pszRetType) = kLogStart(KLOGSTARTPARMS, pszProto, TRUE,a0) 269 #define KLOGSTART2(pszRetType, pszProto, a0,a1) KLOGSTARTVARS(pszRetType) = kLogStart(KLOGSTARTPARMS, pszProto, TRUE,a0,a1) 270 #define KLOGSTART3(pszRetType, pszProto, a0,a1,a2) KLOGSTARTVARS(pszRetType) = kLogStart(KLOGSTARTPARMS, pszProto, TRUE,a0,a1,a2) 271 #define KLOGSTART4(pszRetType, pszProto, a0,a1,a2,a3) KLOGSTARTVARS(pszRetType) = kLogStart(KLOGSTARTPARMS, pszProto, TRUE,a0,a1,a2,a3) 272 #define KLOGSTART5(pszRetType, pszProto, a0,a1,a2,a3,a4) KLOGSTARTVARS(pszRetType) = kLogStart(KLOGSTARTPARMS, pszProto, TRUE,a0,a1,a2,a2,a4) 273 #define KLOGSTART6(pszRetType, pszProto, a0,a1,a2,a3,a4,a5) KLOGSTARTVARS(pszRetType) = kLogStart(KLOGSTARTPARMS, pszProto, TRUE,a0,a1,a2,a2,a4,a5) 274 #define KLOGSTART7(pszRetType, pszProto, a0,a1,a2,a3,a4,a5,a6) KLOGSTARTVARS(pszRetType) = kLogStart(KLOGSTARTPARMS, pszProto, TRUE,a0,a1,a2,a2,a4,a5,a6) 275 #define KLOGSTART8(pszRetType, pszProto, a0,a1,a2,a3,a4,a5,a6,a7) KLOGSTARTVARS(pszRetType) = kLogStart(KLOGSTARTPARMS, pszProto, TRUE,a0,a1,a2,a2,a4,a5,a6,a7) 276 277 #define KLOGENTRY( pszRetType, pszProto, arg0) KLOGENTRYVARS(pszRetType) = kLogEntry(KLOGENTRYPARMS, pszProto, FALSE, &(arg0)) 278 #define KLOGENTRY0(pszRetType) KLOGENTRYVARS(pszRetType) = kLogEntry(KLOGENTRYPARMS, NULL, TRUE) 279 #define KLOGENTRY1(pszRetType, pszProto, a0) KLOGENTRYVARS(pszRetType) = kLogEntry(KLOGENTRYPARMS, pszProto, TRUE,a0) 280 #define KLOGENTRY2(pszRetType, pszProto, a0,a1) KLOGENTRYVARS(pszRetType) = kLogEntry(KLOGENTRYPARMS, pszProto, TRUE,a0,a1) 281 #define KLOGENTRY3(pszRetType, pszProto, a0,a1,a2) KLOGENTRYVARS(pszRetType) = kLogEntry(KLOGENTRYPARMS, pszProto, TRUE,a0,a1,a2) 282 #define KLOGENTRY4(pszRetType, pszProto, a0,a1,a2,a3) KLOGENTRYVARS(pszRetType) = kLogEntry(KLOGENTRYPARMS, pszProto, TRUE,a0,a1,a2,a3) 283 #define KLOGENTRY5(pszRetType, pszProto, a0,a1,a2,a3,a4) KLOGENTRYVARS(pszRetType) = kLogEntry(KLOGENTRYPARMS, pszProto, TRUE,a0,a1,a2,a2,a4) 284 #define KLOGENTRY6(pszRetType, pszProto, a0,a1,a2,a3,a4,a5) KLOGENTRYVARS(pszRetType) = kLogEntry(KLOGENTRYPARMS, pszProto, TRUE,a0,a1,a2,a2,a4,a5) 285 #define KLOGENTRY7(pszRetType, pszProto, a0,a1,a2,a3,a4,a5,a6) KLOGENTRYVARS(pszRetType) = kLogEntry(KLOGENTRYPARMS, pszProto, TRUE,a0,a1,a2,a2,a4,a5,a6) 286 #define KLOGENTRY8(pszRetType, pszProto, a0,a1,a2,a3,a4,a5,a6,a7) KLOGENTRYVARS(pszRetType) = kLogEntry(KLOGENTRYPARMS, pszProto, TRUE,a0,a1,a2,a2,a4,a5,a6,a7) 287 288 #define KLOGEXIT(uValue) kLogExit( KLOGMODHANDLE, KLOGPOS_EXT, KLOGRETURNTYPE, uValue) 289 #define KLOGEXITVOID() kLogExit( KLOGMODHANDLE, KLOGPOS_EXT, NULL, NULL) 290 291 #define KLOGSTOP(uValue) kLogStop( KLOGMODHANDLE, KLOGPOS_EXT, &KLOGSEQHANDLE, KLOGRETURNTYPE, uValue) 292 #define KLOGSTOPVOID(uValue) kLogStop( KLOGMODHANDLE, KLOGPOS_EXT, &KLOGSEQHANDLE, NULL, NULL) 293 294 #ifdef KLOG_USE_RETURN 295 #if KLOG_USE_RETURN 296 #define return(value) KLOGEXIT(value); return (value) 297 #else 298 #define return(value) KLOGSTOP(value); return (value) 299 #endif 300 #endif 301 302 #define dprintf(a) kLogFixPrintf2(KLOGMODHANDLE, KLOGPOS_EXT, KLOG_TYPE_PRINTF, kLogFixPrintf1 a) 303 #define kprintf(a) dprintf(a) 304 305 #else 306 307 #define KLOGINITMOD(pMod) ((HKLOGMOD)-1) 308 #define KLOGTERMMOD() ((void)0) 309 310 #define KLOGSTART( pszRetType, pszProto, arg0) ((void)0) 311 #define KLOGSTART0(pszRetType) ((void)0) 312 #define KLOGSTART1(pszRetType, pszProto, a0) ((void)0) 313 #define KLOGSTART2(pszRetType, pszProto, a0,a1) ((void)0) 314 #define KLOGSTART3(pszRetType, pszProto, a0,a1,a2) ((void)0) 315 #define KLOGSTART4(pszRetType, pszProto, a0,a1,a2,a3) ((void)0) 316 #define KLOGSTART5(pszRetType, pszProto, a0,a1,a2,a3,a4) ((void)0) 317 #define KLOGSTART6(pszRetType, pszProto, a0,a1,a2,a3,a4,a5) ((void)0) 318 #define KLOGSTART7(pszRetType, pszProto, a0,a1,a2,a3,a4,a5,a6) ((void)0) 319 #define KLOGSTART8(pszRetType, pszProto, a0,a1,a2,a3,a4,a5,a6,a7) ((void)0) 320 321 #define KLOGENTRY( pszRetType, pszProto, arg0) ((void)0) 322 #define KLOGENTRY0(pszRetType) ((void)0) 323 #define KLOGENTRY1(pszRetType, pszProto, a0) ((void)0) 324 #define KLOGENTRY2(pszRetType, pszProto, a0,a1) ((void)0) 325 #define KLOGENTRY3(pszRetType, pszProto, a0,a1,a2) ((void)0) 326 #define KLOGENTRY4(pszRetType, pszProto, a0,a1,a2,a3) ((void)0) 327 #define KLOGENTRY5(pszRetType, pszProto, a0,a1,a2,a3,a4) ((void)0) 328 #define KLOGENTRY6(pszRetType, pszProto, a0,a1,a2,a3,a4,a5) ((void)0) 329 #define KLOGENTRY7(pszRetType, pszProto, a0,a1,a2,a3,a4,a5,a6) ((void)0) 330 #define KLOGENTRY8(pszRetType, pszProto, a0,a1,a2,a3,a4,a5,a6,a7) ((void)0) 331 332 #define KLOGEXIT(uValue) ((void)0) 333 #define KLOGEXITVOID() ((void)0) 334 335 #define KLOGSTOP(uValue) ((void)0) 336 #define KLOGSTOPVOID() ((void)0) 337 338 #define kprintf(a) ((void)0) 339 #define dprintf(a) ((void)0) 340 #endif 341 342 343 /******************************************************************************* 344 * Global Variables * 345 *******************************************************************************/ 346 extern HKLOGMOD KLOGMODHANDLE; /* Define this on the behalf of the kKL user. */ 219 347 220 348 #ifdef __cplusplus
Note:
See TracChangeset
for help on using the changeset viewer.