26 static Mux p_mux[] = {
34 static Field p_fields[] =
36 {"shelf", Fnum, Ominor, "shelf", },
37 {"slot", Fnum, Omajor, "slot", },
38 {"cmd", Fnum, Ocmd, "cmd", },
48 compile_cmp(aoe.name, f, p_fields);
51 for(m = p_mux; m->name; m++)
52 if(strcmp(f->s, m->name) == 0){
58 sysfatal("unknown aoe field: %s", f->s);
62 p_filter(Filter *f, Msg *m)
66 if(m->pe - m->ps < Hsize)
74 return NetS(h->major) == f->ulv;
76 return h->minor == f->ulv;
78 return h->cmd == f->ulv;
88 if(m->pe - m->ps < Hsize)
94 demux(p_mux, h->cmd, h->cmd, m, &dump);
96 m->p = seprint(m->p, m->e, "ver=%d flag=%4b err=%d %d.%d cmd=%ux tag=%ux",
97 h->verflags >> 4, h->verflags & 0xf, h->error, NetS(h->major),
98 h->minor, h->cmd, NetL(h->tag));