CX Framework
Cross-platform C utility framework
Loading...
Searching...
No Matches
logmembuf.h
Go to the documentation of this file.
1#pragma once
4
30
31#include <cx/log/log.h>
32
38typedef struct LogMembufData {
39 uint32 size;
40 uint32 cur;
41 char *buf;
43
44// ============================================================================
45// High Level Interface
46// ============================================================================
47
59_Ret_valid_
61
72LogDest* logmembufRegister(int maxlevel, _In_opt_ LogCategory* catfilter,
73 _In_ LogMembufData* membuf);
74
95LogDest* logmembufRegisterWithDefer(int maxlevel, _In_opt_ LogCategory* catfilter,
96 _In_ LogMembufData* membuf, _In_ LogDest* deferdest);
97
98// ============================================================================
99// Low Level Interface
100// ============================================================================
101//
102// These callbacks can be used directly with logRegisterDest() for custom
103// destination handling. Most users should use the high-level interface above.
104
116void logmembufMsgFunc(int level, _In_opt_ LogCategory* cat, int64 timestamp, _In_opt_ strref msg,
117 uint32 batchid, _In_opt_ void* userdata);
118
124void logmembufCloseFunc(_In_opt_ void* userdata);
125
struct LogDest LogDest
Opaque handle to a registered log destination.
Definition log.h:87
void logmembufMsgFunc(int level, LogCategory *cat, int64 timestamp, strref msg, uint32 batchid, void *userdata)
void logmembufCloseFunc(void *userdata)
LogMembufData * logmembufCreate(uint32 size)
LogDest * logmembufRegisterWithDefer(int maxlevel, LogCategory *catfilter, LogMembufData *membuf, LogDest *deferdest)
LogDest * logmembufRegister(int maxlevel, LogCategory *catfilter, LogMembufData *membuf)
Core logging system API.
uint32 size
Total buffer size in bytes.
Definition logmembuf.h:39
char * buf
Buffer storage.
Definition logmembuf.h:41
uint32 cur
Current write position (number of bytes written)
Definition logmembuf.h:40