20#ifndef WINPR_WLOG_PRIVATE_H
21#define WINPR_WLOG_PRIVATE_H
23#include <winpr/wlog.h>
25#define WLOG_MAX_PREFIX_SIZE 512
27typedef BOOL (*WLOG_APPENDER_OPEN_FN)(wLog* log, wLogAppender* appender);
28typedef BOOL (*WLOG_APPENDER_CLOSE_FN)(wLog* log, wLogAppender* appender);
29typedef BOOL (*WLOG_APPENDER_WRITE_MESSAGE_FN)(wLog* log, wLogAppender* appender,
31typedef BOOL (*WLOG_APPENDER_WRITE_DATA_MESSAGE_FN)(wLog* log, wLogAppender* appender,
33typedef BOOL (*WLOG_APPENDER_WRITE_IMAGE_MESSAGE_FN)(wLog* log, wLogAppender* appender,
35typedef BOOL (*WLOG_APPENDER_WRITE_PACKET_MESSAGE_FN)(wLog* log, wLogAppender* appender,
37typedef BOOL (*WLOG_APPENDER_SET)(wLogAppender* appender,
const char* setting,
void* value);
38typedef void (*WLOG_APPENDER_FREE)(wLogAppender* appender);
47 void* TextMessageContext;
48 void* DataMessageContext;
49 void* ImageMessageContext;
50 void* PacketMessageContext;
51 WLOG_APPENDER_OPEN_FN Open;
52 WLOG_APPENDER_CLOSE_FN Close;
53 WLOG_APPENDER_WRITE_MESSAGE_FN WriteMessage;
54 WLOG_APPENDER_WRITE_DATA_MESSAGE_FN WriteDataMessage;
55 WLOG_APPENDER_WRITE_IMAGE_MESSAGE_FN WriteImageMessage;
56 WLOG_APPENDER_WRITE_PACKET_MESSAGE_FN WritePacketMessage;
57 WLOG_APPENDER_FREE Free;
58 WLOG_APPENDER_SET Set;
71 wLogAppender* Appender;
78 const char* (*custom)(
void*);
82WINPR_LOCAL
extern const char* WLOG_LEVELS[7];
83WINPR_LOCAL BOOL WLog_Layout_GetMessagePrefix(wLog* log, wLogLayout* layout,