#include #include #include #include static void enm(char *new, char *old, Dir *d, void*) { print("%s %s%s%s%luo %s %s %s\n", new, (d->mode&DMDIR)?"d":"", (d->mode&DMAPPEND)?"a":"", (d->mode&DMEXCL)?"l":"", (d->mode&~(DMDIR|DMAPPEND|DMEXCL)), d->uid, d->gid, old); } static void usage(void) { fprint(2, "usage: protodump [-r root] proto\n"); exits("usage"); } void main(int argc, char **argv) { char *root; root = "/"; ARGBEGIN{ case 'r': root = EARGF(usage()); break; }ARGEND if(argc != 1) usage(); if(revrdproto(argv[0], root, enm, nil, nil) < 0) sysfatal("rdproto: %r"); exits(nil); }