1219b2ee8SDavid du Colombier #include <u.h>
2219b2ee8SDavid du Colombier #include <libc.h>
3219b2ee8SDavid du Colombier #include <auth.h>
4*9a747e4fSDavid du Colombier #include "authlocal.h"
5219b2ee8SDavid du Colombier
6219b2ee8SDavid du Colombier int
amount(int fd,char * mntpt,int flags,char * aname)7*9a747e4fSDavid du Colombier amount(int fd, char *mntpt, int flags, char *aname)
8219b2ee8SDavid du Colombier {
9*9a747e4fSDavid du Colombier int rv, afd;
10*9a747e4fSDavid du Colombier AuthInfo *ai;
11*9a747e4fSDavid du Colombier
12*9a747e4fSDavid du Colombier afd = fauth(fd, aname);
13*9a747e4fSDavid du Colombier if(afd >= 0){
14*9a747e4fSDavid du Colombier ai = auth_proxy(afd, amount_getkey, "proto=p9any role=client");
15*9a747e4fSDavid du Colombier if(ai != nil)
16*9a747e4fSDavid du Colombier auth_freeAI(ai);
17*9a747e4fSDavid du Colombier }
18*9a747e4fSDavid du Colombier rv = mount(fd, afd, mntpt, flags, aname);
19*9a747e4fSDavid du Colombier if(afd >= 0)
20*9a747e4fSDavid du Colombier close(afd);
21*9a747e4fSDavid du Colombier return rv;
22219b2ee8SDavid du Colombier }
23