Subversion Repositories planix.SVN

Rev

Blame | Last modification | View Log | RSS feed

#include <u.h>
#include <libc.h>
#include <bio.h>
#include <disk.h>

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);
}