47 lines
1 KiB
C
47 lines
1 KiB
C
//
|
|
// 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_
|
|
|
|
|