Subversion Repositories planix.SVN

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
68 7u83 1
#include <u.h>
2
#include <libc.h>
3
#include <fcall.h>
4
#include <9pclient.h>
5
 
6
#include "fsimpl.h"
7
 
8
int
9
fsaccess(CFsys *fsys, char *name, int mode)
10
{
11
	CFid *fid;
12
	Dir *db;
13
	static char omode[] = {
14
		0,
15
		OEXEC,
16
		OWRITE,
17
		ORDWR,
18
		OREAD,
19
		OEXEC,	/* only approximate */
20
		ORDWR,
21
		ORDWR	/* only approximate */
22
	};
23
 
24
	if(mode == AEXIST){
25
		db = fsdirstat(fsys, name);
26
		free(db);
27
		if(db != nil)
28
			return 0;
29
		return -1;
30
	}
31
	fid = fsopen(fsys, name, omode[mode&7]);
32
	if(fid != nil){
33
		fsclose(fid);
34
		return 0;
35
	}
36
	return -1;
37
}