diff options
author | Calvin Morrison <calvin@pobox.com> | 2023-04-05 14:13:39 -0400 |
---|---|---|
committer | Calvin Morrison <calvin@pobox.com> | 2023-04-05 14:13:39 -0400 |
commit | 835e373b3eeaabcd0621ed6798ab500f37982fae (patch) | |
tree | dfa16b0e2e1b4956b38f693220eac4e607802133 /goo/Trace.h |
Diffstat (limited to 'goo/Trace.h')
-rw-r--r-- | goo/Trace.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/goo/Trace.h b/goo/Trace.h new file mode 100644 index 0000000..9f53ac5 --- /dev/null +++ b/goo/Trace.h @@ -0,0 +1,43 @@ +//======================================================================== +// +// Trace.h +// +// Nested tracing. +// +// Copyright 2020 Glyph & Cog, LLC +// +//======================================================================== + +#ifndef TRACING_H +#define TRACING_H + +#include <aconf.h> + +#if ENABLE_TRACING + +// Enter a nesting level. +extern void traceBegin(void *nestHandle, const char *fmt, ...); + +// Exit a nesting level. +extern void traceEnd(void *nestHandle, const char *fmt, ...); + +// Mark a resource as allocated. +extern void traceAlloc(void *resourceHandle, const char *fmt, ...); + +// Mark a resource as freed. +extern void traceFree(void *resourceHandle, const char *fmt, ...); + +// Misc message. +extern void traceMessage(const char *fmt, ...); + +#else // ENABLE_TRACING + +static inline void traceBegin(void *nestHandle, const char *fmt, ...) {} +static inline void traceEnd(void *nestHandle, const char *fmt, ...) {} +static inline void traceAlloc(void *resourceHandle, const char *fmt, ...) {} +static inline void traceFree(void *nestHandle, const char *fmt, ...) {} +static inline void traceMessage(const char *fmt, ...) {} + +#endif // ENABLE_TRACING + +#endif // TRACING_H |