Lines Matching defs:cdb

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