// // tracelog.h // // Copyright (c) 1996 FORE Systems, Inc. // All rights reserved. // // THIS SOURCE CODE CONTAINS CONFIDENTIAL INFORMATION THAT IS OWNED BY FORE // SYSTEMS, INC. AND MAY NOT BE COPIED, DISCLOSED OR OTHERWISE USED WITHOUT // THE EXPRESS WRITTEN CONSENT OF FORE SYSTEMS, INC. // #ifndef _FORE_TRACELOG_H_ #define _FORE_TRACELOG_H_ #define MAX_TRACELOG_PARAMS 8 #define TL_GET_PARAM_COUNT(eid) ((eid)&0xF) #define TL_GET_EVENT(eid) ((eid)>>4) #define TL_BUILD_EVENT_ID(ev,p) (((ev)<<4)|((p)&0xF)) typedef struct _TraceEntry { unsigned long EventId; unsigned long Time; unsigned long Params[MAX_TRACELOG_PARAMS]; } TRACEENTRY, *PTRACEENTRY; typedef struct _TraceLog { unsigned char *Storage; unsigned long StorageSizeBytes; PTRACEENTRY First; PTRACEENTRY Last; PTRACEENTRY Current; } TRACELOG, *PTRACELOG; extern void InitTraceLog(PTRACELOG TraceLog, unsigned char *Storage, unsigned long StorageSizeBytes); extern void TraceLogWrite(PTRACELOG TraceLog, unsigned long EventId, ...); #endif // _FORE_TRACELOG_H_