summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common/renameat.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2009-07-20 13:36:52 -0400
committerMike Frysinger <vapier@gentoo.org>2009-07-20 13:36:52 -0400
commitfd72e3042517f3c95ab2d707e1074f4d393b5f9a (patch)
tree37928d802bfb8cfd55ea49dcb16fe03091093e65 /libc/sysdeps/linux/common/renameat.c
parent91f91bcb3abda3780347d681c3bef6201b9ca60f (diff)
first pass at implementing *at funcs
Tested basic functionality with coreutils and things seem to work. At least gives us a basis to jump from. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'libc/sysdeps/linux/common/renameat.c')
-rw-r--r--libc/sysdeps/linux/common/renameat.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common/renameat.c b/libc/sysdeps/linux/common/renameat.c
new file mode 100644
index 000000000..a898f7b86
--- /dev/null
+++ b/libc/sysdeps/linux/common/renameat.c
@@ -0,0 +1,16 @@
+/*
+ * renameat() for uClibc
+ *
+ * Copyright (C) 2009 Analog Devices Inc.
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+
+#include <sys/syscall.h>
+#include <stdio.h>
+
+#ifdef __NR_renameat
+_syscall4(int, renameat, int, oldfd, const char *, old, int, newfd, const char *, new)
+#else
+/* should add emulation with rename() and /proc/self/fd/ ... */
+#endif