9.23 rename

#define RENAME_NOREPLACE 1
int rename(int sourcedirfd, const char *sourcepath, size_t sourcelen,
       int targetirfd, const char *targetpath, size_t targetlen, int flags);

This syscalls renames a file in an atomic operation, it is only available in between files in the same mountpoint. If targetpath exists, it will be replaced, RENAME_NOREPLACE may be passed in flags for making the call fail in said case instead of replacing silently.

The syscall return the new fd on success and -1 on failure. The errno codes set on failure are: