Lines Matching refs:cmsg

231 #define TYP (cdef[cmsg->par[cmsg->p]].typ)
232 #define OFF (((u8 *)cmsg) + cdef[cmsg->par[cmsg->p]].off)
234 static void jumpcstruct(_cmsg *cmsg)
237 for (cmsg->p++, layer = 1; layer;) {
238 /* $$$$$ assert (cmsg->p); */
239 cmsg->p++;
464 #define NAME (pnames[cmsg->par[cmsg->p]])
466 static _cdebbuf *protocol_message_2_pars(_cdebbuf *cdb, _cmsg *cmsg, int level)
468 if (!cmsg->par)
471 for (; TYP != _CEND; cmsg->p++) {
483 cdb = bufprint(cdb, "%-*s = 0x%x\n", slen, NAME, *(u8 *) (cmsg->m + cmsg->l));
484 cmsg->l++;
487 cdb = bufprint(cdb, "%-*s = 0x%x\n", slen, NAME, *(u16 *) (cmsg->m + cmsg->l));
488 cmsg->l += 2;
491 cdb = bufprint(cdb, "%-*s = 0x%lx\n", slen, NAME, *(u32 *) (cmsg->m + cmsg->l));
492 cmsg->l += 4;
496 if (cmsg->m[cmsg->l] == '\0')
499 cdb = printstruct(cdb, cmsg->m + cmsg->l);
501 if (cmsg->m[cmsg->l] != 0xff)
502 cmsg->l += 1 + cmsg->m[cmsg->l];
504 cmsg->l += 3 + *(u16 *) (cmsg->m + cmsg->l + 1);
510 if (cmsg->m[cmsg->l] == '\0') {
512 cmsg->l++;
513 jumpcstruct(cmsg);
516 unsigned _l = cmsg->l;
518 cmsg->l = (cmsg->m + _l)[0] == 255 ? cmsg->l + 3 : cmsg->l + 1;
519 cmsg->p++;
520 cdb = protocol_message_2_pars(cdb, cmsg, level + 1);
587 _cmsg *cmsg;
593 cmsg = g_cmsg;
595 cmsg = kmalloc(sizeof(_cmsg), GFP_ATOMIC);
596 if (unlikely(!cmsg)) {
600 cmsg->m = msg;
601 cmsg->l = 8;
602 cmsg->p = 0;
603 byteTRcpy(cmsg->m + 4, &cmsg->Command);
604 byteTRcpy(cmsg->m + 5, &cmsg->Subcommand);
605 cmsg->par = capi_cmd2par(cmsg->Command, cmsg->Subcommand);
608 capi_cmd2str(cmsg->Command, cmsg->Subcommand),
613 cdb = protocol_message_2_pars(cdb, cmsg, 1);
614 if (unlikely(cmsg != g_cmsg))
615 kfree(cmsg);
659 _cdebbuf *capi_cmsg2str(_cmsg *cmsg)