FreeRDP
Loading...
Searching...
No Matches
libwinpr/utils/wlog/wlog.h
1
20#ifndef WINPR_WLOG_PRIVATE_H
21#define WINPR_WLOG_PRIVATE_H
22
23#include <winpr/wlog.h>
24
25#define WLOG_MAX_PREFIX_SIZE 512
26
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,
30 const wLogMessage* message);
31typedef BOOL (*WLOG_APPENDER_WRITE_DATA_MESSAGE_FN)(wLog* log, wLogAppender* appender,
32 const wLogMessage* message);
33typedef BOOL (*WLOG_APPENDER_WRITE_IMAGE_MESSAGE_FN)(wLog* log, wLogAppender* appender,
34 const wLogMessage* message);
35typedef BOOL (*WLOG_APPENDER_WRITE_PACKET_MESSAGE_FN)(wLog* log, wLogAppender* appender,
36 const wLogMessage* message);
37typedef BOOL (*WLOG_APPENDER_SET)(wLogAppender* appender, const char* setting, void* value);
38typedef void (*WLOG_APPENDER_FREE)(wLogAppender* appender);
39
41{
42 DWORD Type;
43 BOOL active;
44 wLogLayout* Layout;
46 BOOL recursive;
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;
59};
60
61struct s_wLog
62{
63 LPSTR Name;
64 LONG FilterLevel;
65 DWORD Level;
66
67 BOOL IsRoot;
68 BOOL inherit;
69 LPSTR* Names;
70 size_t NameCount;
71 wLogAppender* Appender;
72
73 wLog* Parent;
74 wLog** Children;
75 DWORD ChildrenCount;
76 DWORD ChildrenSize;
78 const char* (*custom)(void*);
79 void* context;
80};
81
82WINPR_LOCAL extern const char* WLOG_LEVELS[7];
83WINPR_LOCAL BOOL WLog_Layout_GetMessagePrefix(wLog* log, wLogLayout* layout,
84 const wLogMessage* message, char* prefix,
85 size_t prefixlen);
86
87#include "Layout.h"
88#include "Appender.h"
89
90#endif /* WINPR_WLOG_PRIVATE_H */