40 lines · 651 B · C
RawDownload
#include <u.h>#include <libc.h>#include <bio.h>#include <disk.h> static voidenm(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 voidusage(void){	fprint(2, "usage: protodump [-r root] proto\n");	exits("usage");} voidmain(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);}