UK_PROVIDED_SYSCALLS-$(CONFIG_LIBVFSCORE) += mkdir-2
UK_PROVIDED_SYSCALLS-$(CONFIG_LIBVFSCORE) += umount2-2
UK_PROVIDED_SYSCALLS-$(CONFIG_LIBVFSCORE) += pipe2-2
+UK_PROVIDED_SYSCALLS-$(CONFIG_LIBVFSCORE) += symlink-2
UK_TRACEPOINT(trace_vfs_symlink_ret, "");
UK_TRACEPOINT(trace_vfs_symlink_err, "errno=%d", int);
-int symlink(const char *oldpath, const char *newpath)
+UK_SYSCALL_R_DEFINE(int, symlink, const char*, oldpath, const char*, newpath)
{
int error;
error = ENOENT;
if (oldpath == NULL || newpath == NULL) {
- errno = ENOENT;
trace_vfs_symlink_err(error);
- return (-1);
+ return (-ENOENT);
}
error = sys_symlink(oldpath, newpath);
if (error) {
- errno = error;
trace_vfs_symlink_err(error);
- return (-1);
+ return (-error);
}
trace_vfs_symlink_ret();