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