syscall.h was chosen as the header to declare it, since its intended usage is alongside syscalls as a fallback for operations the direct syscall does not support.
@@ -1,3 +1,5 @@
+#include "syscall.h"
+
void __procfdname(char *buf, unsigned fd)
{
unsigned i, j;
@@ -244,4 +244,6 @@ hidden long __syscall_ret(unsigned long), __syscall(syscall_arg_t, ...),
#define __sys_open_cp(...) __SYSCALL_DISP(__sys_open_cp,,__VA_ARGS__)
#define sys_open_cp(...) __syscall_ret(__sys_open_cp(__VA_ARGS__))
+void __procfdname(char [static 15+3*sizeof(int)], unsigned);
#endif
@@ -7,8 +7,6 @@
#include <string.h>
#include "syscall.h"
-void __procfdname(char *, unsigned);
-
char *realpath(const char *restrict filename, char *restrict resolved)
int fd;
@@ -4,8 +4,6 @@
#include <fcntl.h>
int fexecve(int fd, char *const argv[], char *const envp[])
int r = __syscall(SYS_execveat, fd, "", argv, envp, AT_EMPTY_PATH);
@@ -3,8 +3,6 @@
int fchmod(int fd, mode_t mode)
int ret = __syscall(SYS_fchmod, fd, mode);
#include <errno.h>
int fchmodat(int fd, const char *path, mode_t mode, int flag)
if (!flag) return syscall(SYS_fchmodat, fd, path, mode, flag);
#include "libc.h"
int fstat(int fd, struct stat *st)
int ret = __syscall(SYS_fstat, fd, st);
int fchdir(int fd)
int ret = __syscall(SYS_fchdir, fd);
int fchown(int fd, uid_t uid, gid_t gid)
int ret = __syscall(SYS_fchown, fd, uid, gid);
@@ -1,8 +1,7 @@
#include <unistd.h>
#include <sys/stat.h>
int ttyname_r(int fd, char *name, size_t size)