Lines Matching refs:cx

322 lws_log_emit_cx_file(struct lws_log_cx *cx, int level, const char *line,
325 int fd = (int)(intptr_t)cx->stg;
337 lws_log_use_cx_file(struct lws_log_cx *cx, int _new)
341 if (_new > 0 && cx->refcount == 1) {
342 fd = open((const char *)cx->opaque,
346 (const char *)cx->opaque, errno);
347 cx->stg = (void *)(intptr_t)fd;
352 fd = (int)(intptr_t)cx->stg;
354 if (_new <= 0 && cx->refcount == 0 && fd >= 0) {
356 cx->stg = (void *)(intptr_t)-1;
366 __lws_logv(lws_log_cx_t *cx, lws_log_prepend_cx_t prep, void *obj,
384 if (!cx) {
385 lws_strncpy(p, "NULL log cx: ", sizeof(buf) - 1);
388 cx = &log_cx;
391 cxp = cx;
393 if (!(cx->lll_flags & (uint32_t)filter))
401 if (cx->lll_flags & LLLF_LOG_TIMESTAMP)
411 * top level cx also gets an opportunity to prepend
422 cxp = cx;
463 if (cx->lll_flags & LLLF_LOG_CONTEXT_AWARE)
464 cx->u.emit_cx(cx, filter, buf, lws_ptr_diff_size_t(p, buf));
466 cx->u.emit(filter, buf);
483 void _lws_log_cx(lws_log_cx_t *cx, lws_log_prepend_cx_t prep, void *obj,
488 if (!cx)
489 cx = &log_cx;
492 __lws_logv(cx, prep, obj, filter, _fun, format, ap);
511 int lwsl_visible_cx(lws_log_cx_t *cx, int level)
513 return !!(cx->lll_flags & (uint32_t)level);
517 lwsl_refcount_cx(lws_log_cx_t *cx, int _new)
520 volatile lws_log_cx_t *vcx = (volatile lws_log_cx_t *)cx;
523 if (!cx)
529 lws_pthread_mutex_init(&cx->refcount_lock);
534 lws_pthread_mutex_lock(&cx->refcount_lock);
538 cx->refcount++;
540 assert(cx->refcount);
541 cx->refcount--;
544 if (cx->refcount_cb)
545 cx->refcount_cb(cx, _new);
548 lws_pthread_mutex_unlock(&cx->refcount_lock);
553 lwsl_hexdump_level_cx(lws_log_cx_t *cx, lws_log_prepend_cx_t prep, void *obj,
559 if (!lwsl_visible_cx(cx, hexdump_level))
563 _lws_log_cx(cx, prep, obj, hexdump_level, NULL,
569 _lws_log_cx(cx, prep, obj, hexdump_level, NULL,
574 _lws_log_cx(cx, prep, obj, hexdump_level, NULL, "\n");
600 _lws_log_cx(cx, prep, obj, hexdump_level, NULL, "%s", line);
604 _lws_log_cx(cx, prep, obj, hexdump_level, NULL, "\n");