xref: /plan9-contrib/sys/src/ape/lib/ap/plan9/chmod.c (revision 96cbc34f1b36a29efdcfd47b10e70703a690febc)
1 #include "lib.h"
2 #include <errno.h>
3 #include <stdlib.h>
4 #include "sys9.h"
5 #include "dir.h"
6 
7 int
8 chmod(const char *path, mode_t mode)
9 {
10 	Dir d;
11 
12 	_nulldir(&d);
13 	d.mode = mode & 0777;
14 	if(_dirwstat(path, &d) < 0){
15 		_syserrno();
16 		return -1;
17 	}
18 	return 0;
19 }
20 
21 int
22 fchmod(int fd, mode_t mode)
23 {
24 	Dir d;
25 
26 	_nulldir(&d);
27 	d.mode = mode & 0777;
28 	if(_dirfwstat(fd, &d) < 0){
29 		_syserrno();
30 		return -1;
31 	}
32 	return 0;
33 }
34