37 #define LLL_ERR (1 << 0)
38 #define LLL_WARN (1 << 1)
39 #define LLL_NOTICE (1 << 2)
40 #define LLL_INFO (1 << 3)
41 #define LLL_DEBUG (1 << 4)
42 #define LLL_PARSER (1 << 5)
43 #define LLL_HEADER (1 << 6)
44 #define LLL_EXT (1 << 7)
45 #define LLL_CLIENT (1 << 8)
46 #define LLL_LATENCY (1 << 9)
47 #define LLL_USER (1 << 10)
48 #define LLL_THREAD (1 << 11)
50 #define LLL_COUNT (12)
61 LWS_VISIBLE LWS_EXTERN
int
64 #if defined(LWS_PLAT_OPTEE) && !defined(LWS_WITH_NETWORK)
65 #define _lws_log(aaa, ...) SMSG(__VA_ARGS__)
67 LWS_VISIBLE LWS_EXTERN
void _lws_log(
int filter,
const char *format, ...) LWS_FORMAT(2);
68 LWS_VISIBLE LWS_EXTERN
void _lws_logv(
int filter, const
char *format, va_list vl);
79 #if defined(LWS_WITH_NO_LOGS)
80 #define _LWS_LINIT (LLL_ERR | LLL_USER)
82 #define _LWS_LINIT ((1 << LLL_COUNT) - 1)
85 #if defined(LWS_WITH_NO_LOGS)
86 #define _LWS_LINIT (LLL_ERR | LLL_USER)
88 #define _LWS_LINIT (LLL_ERR | LLL_USER | LLL_WARN | LLL_NOTICE)
101 #if defined(LWS_LOGGING_BITFIELD_SET)
102 #define _LWS_LBS (LWS_LOGGING_BITFIELD_SET)
107 #if defined(LWS_LOGGING_BITFIELD_CLEAR)
108 #define _LWS_LBC (LWS_LOGGING_BITFIELD_CLEAR)
116 #define _LWS_ENABLED_LOGS (((_LWS_LINIT) | (_LWS_LBS)) & ~(_LWS_LBC))
123 #if (_LWS_ENABLED_LOGS & LLL_ERR)
124 #define lwsl_err(...) _lws_log(LLL_ERR, __VA_ARGS__)
126 #define lwsl_err(...) do {} while(0)
129 #if (_LWS_ENABLED_LOGS & LLL_WARN)
130 #define lwsl_warn(...) _lws_log(LLL_WARN, __VA_ARGS__)
132 #define lwsl_warn(...) do {} while(0)
135 #if (_LWS_ENABLED_LOGS & LLL_NOTICE)
136 #define lwsl_notice(...) _lws_log(LLL_NOTICE, __VA_ARGS__)
138 #define lwsl_notice(...) do {} while(0)
141 #if (_LWS_ENABLED_LOGS & LLL_INFO)
142 #define lwsl_info(...) _lws_log(LLL_INFO, __VA_ARGS__)
144 #define lwsl_info(...) do {} while(0)
147 #if (_LWS_ENABLED_LOGS & LLL_DEBUG)
148 #define lwsl_debug(...) _lws_log(LLL_DEBUG, __VA_ARGS__)
150 #define lwsl_debug(...) do {} while(0)
153 #if (_LWS_ENABLED_LOGS & LLL_PARSER)
154 #define lwsl_parser(...) _lws_log(LLL_PARSER, __VA_ARGS__)
156 #define lwsl_parser(...) do {} while(0)
159 #if (_LWS_ENABLED_LOGS & LLL_HEADER)
160 #define lwsl_header(...) _lws_log(LLL_HEADER, __VA_ARGS__)
162 #define lwsl_header(...) do {} while(0)
165 #if (_LWS_ENABLED_LOGS & LLL_EXT)
166 #define lwsl_ext(...) _lws_log(LLL_EXT, __VA_ARGS__)
168 #define lwsl_ext(...) do {} while(0)
171 #if (_LWS_ENABLED_LOGS & LLL_CLIENT)
172 #define lwsl_client(...) _lws_log(LLL_CLIENT, __VA_ARGS__)
174 #define lwsl_client(...) do {} while(0)
177 #if (_LWS_ENABLED_LOGS & LLL_LATENCY)
178 #define lwsl_latency(...) _lws_log(LLL_LATENCY, __VA_ARGS__)
180 #define lwsl_latency(...) do {} while(0)
183 #if (_LWS_ENABLED_LOGS & LLL_THREAD)
184 #define lwsl_thread(...) _lws_log(LLL_THREAD, __VA_ARGS__)
186 #define lwsl_thread(...) do {} while(0)
189 #if (_LWS_ENABLED_LOGS & LLL_USER)
190 #define lwsl_user(...) _lws_log(LLL_USER, __VA_ARGS__)
192 #define lwsl_user(...) do {} while(0)
196 #define lwsl_hexdump_err(...) lwsl_hexdump_level(LLL_ERR, __VA_ARGS__)
197 #define lwsl_hexdump_warn(...) lwsl_hexdump_level(LLL_WARN, __VA_ARGS__)
198 #define lwsl_hexdump_notice(...) lwsl_hexdump_level(LLL_NOTICE, __VA_ARGS__)
199 #define lwsl_hexdump_info(...) lwsl_hexdump_level(LLL_INFO, __VA_ARGS__)
200 #define lwsl_hexdump_debug(...) lwsl_hexdump_level(LLL_DEBUG, __VA_ARGS__)
212 LWS_VISIBLE LWS_EXTERN
void
225 LWS_VISIBLE LWS_EXTERN
void
231 static LWS_INLINE
int lws_is_be(
void) {
232 const int probe = ~0xff;
234 return *(
const char *)&probe;
248 LWS_VISIBLE LWS_EXTERN
void
250 void (*log_emit_function)(
int level,
const char *line));
261 LWS_VISIBLE LWS_EXTERN
void
277 LWS_VISIBLE LWS_EXTERN
void
291 LWS_VISIBLE LWS_EXTERN
void
303 LWS_VISIBLE LWS_EXTERN
int
308 LWS_VISIBLE LWS_EXTERN
const char *
309 lws_wsi_tag(
struct lws *wsi);
LWS_VISIBLE LWS_EXTERN void lwsl_hexdump_level(int level, const void *vbuf, size_t len)
LWS_VISIBLE LWS_EXTERN void lws_set_log_level(int level, void(*log_emit_function)(int level, const char *line))
LWS_VISIBLE LWS_EXTERN int lwsl_visible(int level)
LWS_VISIBLE LWS_EXTERN int lwsl_timestamp(int level, char *p, size_t len)
LWS_VISIBLE LWS_EXTERN void lwsl_emit_stderr_notimestamp(int level, const char *line)
LWS_VISIBLE LWS_EXTERN void lwsl_hexdump(const void *buf, size_t len)
LWS_VISIBLE LWS_EXTERN void lwsl_emit_stderr(int level, const char *line)
LWS_VISIBLE LWS_EXTERN void lwsl_emit_syslog(int level, const char *line)