10 t = va_arg(f->args, VtFcall*);
12 fmtprint(f, "<nil fcall>");
17 return fmtprint(f, "%c%d tag %ud", "TR"[t->type&1], t->type>>1, t->tag);
19 return fmtprint(f, "Rerror tag %ud error %s", t->tag, t->error);
21 return fmtprint(f, "Tping tag %ud", t->tag);
23 return fmtprint(f, "Rping tag %ud", t->tag);
25 return fmtprint(f, "Thello tag %ud vers %s uid %s strength %d crypto %d:%.*H codec %d:%.*H", t->tag,
26 t->version, t->uid, t->strength, t->ncrypto, t->ncrypto, t->crypto,
27 t->ncodec, t->ncodec, t->codec);
29 return fmtprint(f, "Rhello tag %ud sid %s rcrypto %d rcodec %d", t->tag, t->sid, t->rcrypto, t->rcodec);
31 return fmtprint(f, "Tgoodbye tag %ud", t->tag);
33 return fmtprint(f, "Rgoodbye tag %ud", t->tag);
35 return fmtprint(f, "Tauth0 tag %ud auth %.*H", t->tag, t->nauth, t->auth);
37 return fmtprint(f, "Rauth0 tag %ud auth %.*H", t->tag, t->nauth, t->auth);
39 return fmtprint(f, "Tauth1 tag %ud auth %.*H", t->tag, t->nauth, t->auth);
41 return fmtprint(f, "Rauth1 tag %ud auth %.*H", t->tag, t->nauth, t->auth);
43 return fmtprint(f, "Tread tag %ud score %V dtype %d count %d", t->tag, t->score, t->dtype, t->count);
45 return fmtprint(f, "Rread tag %ud count %d", t->tag, packetsize(t->data));
47 return fmtprint(f, "Twrite tag %ud dtype %d count %d", t->tag, t->dtype, packetsize(t->data));
49 return fmtprint(f, "Rwrite tag %ud score %V", t->tag, t->score);
51 return fmtprint(f, "Tsync tag %ud", t->tag);
53 return fmtprint(f, "Rsync tag %ud", t->tag);