1 1ac60148 2006-01-27 devnull #include <u.h>
2 1ac60148 2006-01-27 devnull #include <libc.h>
3 1ac60148 2006-01-27 devnull #include <fcall.h>
4 1ac60148 2006-01-27 devnull #include <9pclient.h>
5 1ac60148 2006-01-27 devnull #include "fsimpl.h"
8 1ac60148 2006-01-27 devnull fsaccess(CFsys *fsys, char *name, int mode)
10 1ac60148 2006-01-27 devnull CFid *fid;
12 1ac60148 2006-01-27 devnull static char omode[] = {
18 1ac60148 2006-01-27 devnull OEXEC, /* only approximate */
20 1ac60148 2006-01-27 devnull ORDWR /* only approximate */
23 1ac60148 2006-01-27 devnull if(mode == AEXIST){
24 1ac60148 2006-01-27 devnull db = fsdirstat(fsys, name);
25 1ac60148 2006-01-27 devnull free(db);
26 1ac60148 2006-01-27 devnull if(db != nil)
27 1ac60148 2006-01-27 devnull return 0;
28 1ac60148 2006-01-27 devnull return -1;
30 1ac60148 2006-01-27 devnull fid = fsopen(fsys, name, omode[mode&7]);
31 1ac60148 2006-01-27 devnull if(fid != nil){
32 1ac60148 2006-01-27 devnull fsclose(fid);
33 1ac60148 2006-01-27 devnull return 0;
35 1ac60148 2006-01-27 devnull return -1;