Lines Matching refs:cdb
385 static _cdebbuf *bufprint(_cdebbuf *cdb, char *fmt, ...) in bufprint() argument
390 if (!cdb) in bufprint()
393 r = cdb->size - cdb->pos; in bufprint()
394 n = vsnprintf(cdb->p, r, fmt, f); in bufprint()
398 size_t ns = 2 * cdb->size; in bufprint()
401 while ((ns - cdb->pos) <= n) in bufprint()
405 cdebbuf_free(cdb); in bufprint()
408 memcpy(nb, cdb->buf, cdb->pos); in bufprint()
409 kfree(cdb->buf); in bufprint()
410 nb[cdb->pos] = 0; in bufprint()
411 cdb->buf = nb; in bufprint()
412 cdb->p = cdb->buf + cdb->pos; in bufprint()
413 cdb->size = ns; in bufprint()
415 r = cdb->size - cdb->pos; in bufprint()
416 n = vsnprintf(cdb->p, r, fmt, f); in bufprint()
419 cdb->p += n; in bufprint()
420 cdb->pos += n; in bufprint()
421 return cdb; in bufprint()
424 static _cdebbuf *printstructlen(_cdebbuf *cdb, u8 *m, unsigned len) in printstructlen() argument
428 if (!cdb) in printstructlen()
433 cdb = bufprint(cdb, ">"); in printstructlen()
434 cdb = bufprint(cdb, "%c", *m); in printstructlen()
438 cdb = bufprint(cdb, "<%02x", *m); in printstructlen()
440 cdb = bufprint(cdb, " %02x", *m); in printstructlen()
444 cdb = bufprint(cdb, ">"); in printstructlen()
445 return cdb; in printstructlen()
448 static _cdebbuf *printstruct(_cdebbuf *cdb, u8 *m) in printstruct() argument
459 cdb = printstructlen(cdb, m, len); in printstruct()
460 return cdb; in printstruct()
466 static _cdebbuf *protocol_message_2_pars(_cdebbuf *cdb, _cmsg *cmsg, int level) in protocol_message_2_pars() argument
475 if (!cdb) in protocol_message_2_pars()
477 cdb = bufprint(cdb, " "); in protocol_message_2_pars()
479 cdb = bufprint(cdb, " "); in protocol_message_2_pars()
483 cdb = bufprint(cdb, "%-*s = 0x%x\n", slen, NAME, *(u8 *) (cmsg->m + cmsg->l)); in protocol_message_2_pars()
487 cdb = bufprint(cdb, "%-*s = 0x%x\n", slen, NAME, *(u16 *) (cmsg->m + cmsg->l)); in protocol_message_2_pars()
491 cdb = bufprint(cdb, "%-*s = 0x%lx\n", slen, NAME, *(u32 *) (cmsg->m + cmsg->l)); in protocol_message_2_pars()
495 cdb = bufprint(cdb, "%-*s = ", slen, NAME); in protocol_message_2_pars()
497 cdb = bufprint(cdb, "default"); in protocol_message_2_pars()
499 cdb = printstruct(cdb, cmsg->m + cmsg->l); in protocol_message_2_pars()
500 cdb = bufprint(cdb, "\n"); in protocol_message_2_pars()
511 cdb = bufprint(cdb, "%-*s = default\n", slen, NAME); in protocol_message_2_pars()
517 cdb = bufprint(cdb, "%-*s\n", slen, name); in protocol_message_2_pars()
520 cdb = protocol_message_2_pars(cdb, cmsg, level + 1); in protocol_message_2_pars()
525 return cdb; in protocol_message_2_pars()
535 _cdebbuf *cdb; in cdebbuf_alloc() local
538 cdb = g_debbuf; in cdebbuf_alloc()
541 cdb = kmalloc(sizeof(_cdebbuf), GFP_ATOMIC); in cdebbuf_alloc()
542 if (!cdb) in cdebbuf_alloc()
544 cdb->buf = kmalloc(CDEBUG_SIZE, GFP_ATOMIC); in cdebbuf_alloc()
545 if (!cdb->buf) { in cdebbuf_alloc()
546 kfree(cdb); in cdebbuf_alloc()
549 cdb->size = CDEBUG_SIZE; in cdebbuf_alloc()
551 cdb->buf[0] = 0; in cdebbuf_alloc()
552 cdb->p = cdb->buf; in cdebbuf_alloc()
553 cdb->pos = 0; in cdebbuf_alloc()
554 return cdb; in cdebbuf_alloc()
562 void cdebbuf_free(_cdebbuf *cdb) in cdebbuf_free() argument
564 if (likely(cdb == g_debbuf)) { in cdebbuf_free()
568 if (likely(cdb)) in cdebbuf_free()
569 kfree(cdb->buf); in cdebbuf_free()
570 kfree(cdb); in cdebbuf_free()
586 _cdebbuf *cdb; in capi_message2str() local
589 cdb = cdebbuf_alloc(); in capi_message2str()
590 if (unlikely(!cdb)) in capi_message2str()
592 if (likely(cdb == g_debbuf)) in capi_message2str()
597 cdebbuf_free(cdb); in capi_message2str()
607 cdb = bufprint(cdb, "%-26s ID=%03d #0x%04x LEN=%04d\n", in capi_message2str()
613 cdb = protocol_message_2_pars(cdb, cmsg, 1); in capi_message2str()
616 return cdb; in capi_message2str()
664 void cdebbuf_free(_cdebbuf *cdb) in cdebbuf_free() argument