6 void catch(void*, char*);
16 amount0(int fd, char *mntpt, int flags, char *aname, char *keyspec)
21 afd = fauth(fd, aname);
23 ai = auth_proxy(afd, amount_getkey, "proto=p9any role=client %s", keyspec);
27 fprint(2, "%s: auth_proxy: %r\n", argv0);
29 rv = mount(fd, afd, mntpt, flags, aname);
36 main(int argc, char *argv[])
54 keyspec = EARGF(usage());
74 if((flag&MAFTER)&&(flag&MBEFORE))
77 fd = open(argv[0], ORDWR);
81 fprint(2, "%s: can't open %s: %r\n", argv0, argv[0]);
86 rv = open("#c/user", OWRITE);
87 if(rv < 0 || write(rv, "none", 4) != 4){
90 fprint(2, "%s: can't become none: %r\n", argv0);
97 rv = mount(fd, -1, argv[1], flag, spec);
99 rv = amount0(fd, argv[1], flag, spec, keyspec);
103 fprint(2, "%s: mount %s: %r\n", argv0, argv[1]);
110 catch(void *, char *m)
112 fprint(2, "%s: %s\n", argv0, m);
119 fprint(2, "usage: mount [-a|-b] [-cCnNq] [-k keypattern] /srv/service dir [spec]\n");