]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/uclibc/lib/contrib/uclibc/libc/sysdeps/linux/common/chmod.c
update
[l4.git] / l4 / pkg / uclibc / lib / contrib / uclibc / libc / sysdeps / linux / common / chmod.c
1 /* vi: set sw=4 ts=4: */
2 /*
3  * chmod() for uClibc
4  *
5  * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
6  *
7  * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
8  */
9
10 #include <sys/syscall.h>
11 #include <sys/stat.h>
12 #include <unistd.h>
13
14 #if defined __NR_fchmodat && !defined __NR_chmod
15 # include <fcntl.h>
16 int chmod(const char *path, mode_t mode)
17 {
18         return fchmodat(AT_FDCWD, path, mode, 0);
19 }
20
21 #else
22 # define __NR___syscall_chmod __NR_chmod
23 static __inline__ _syscall2(int, __syscall_chmod, const char *, path, __kernel_mode_t, mode)
24
25 int chmod(const char *path, mode_t mode)
26 {
27         return __syscall_chmod(path, mode);
28 }
29 #endif
30 libc_hidden_def(chmod)