summaryrefslogtreecommitdiff
path: root/lib/libc/unistd
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/unistd')
-rw-r--r--lib/libc/unistd/_Fork.c8
-rw-r--r--lib/libc/unistd/_exit.c4
-rw-r--r--lib/libc/unistd/access.c4
-rw-r--r--lib/libc/unistd/alarm.c4
-rw-r--r--lib/libc/unistd/chdir.c4
-rw-r--r--lib/libc/unistd/chown.c6
-rw-r--r--lib/libc/unistd/close.c4
-rw-r--r--lib/libc/unistd/dup.c4
-rw-r--r--lib/libc/unistd/dup2.c4
-rw-r--r--lib/libc/unistd/dup3.c4
-rw-r--r--lib/libc/unistd/execl.c6
-rw-r--r--lib/libc/unistd/execlp.c5
-rw-r--r--lib/libc/unistd/execv.c6
-rw-r--r--lib/libc/unistd/execve.c4
-rw-r--r--lib/libc/unistd/execvp.c12
-rw-r--r--lib/libc/unistd/faccessat.c4
-rw-r--r--lib/libc/unistd/fchdir.c4
-rw-r--r--lib/libc/unistd/fchown.c6
-rw-r--r--lib/libc/unistd/fchownat.c6
-rw-r--r--lib/libc/unistd/fdatasync.c4
-rw-r--r--lib/libc/unistd/fork.c2
-rw-r--r--lib/libc/unistd/fsync.c4
-rw-r--r--lib/libc/unistd/ftruncate.c6
-rw-r--r--lib/libc/unistd/getcwd.c6
-rw-r--r--lib/libc/unistd/getegid.c6
-rw-r--r--lib/libc/unistd/getentropy.c3
-rw-r--r--lib/libc/unistd/geteuid.c6
-rw-r--r--lib/libc/unistd/getgid.c6
-rw-r--r--lib/libc/unistd/getgroups.c6
-rw-r--r--lib/libc/unistd/gethostid.c1
-rw-r--r--lib/libc/unistd/gethostname.c3
-rw-r--r--lib/libc/unistd/getlogin.c1
-rw-r--r--lib/libc/unistd/getlogin_r.c3
-rw-r--r--lib/libc/unistd/getopt.c7
-rw-r--r--lib/libc/unistd/getpgid.c6
-rw-r--r--lib/libc/unistd/getpid.c6
-rw-r--r--lib/libc/unistd/getppid.c6
-rw-r--r--lib/libc/unistd/getresgid.c6
-rw-r--r--lib/libc/unistd/getresuid.c6
-rw-r--r--lib/libc/unistd/getsid.c6
-rw-r--r--lib/libc/unistd/getuid.c6
-rw-r--r--lib/libc/unistd/isatty.c10
-rw-r--r--lib/libc/unistd/lchown.c6
-rw-r--r--lib/libc/unistd/link.c6
-rw-r--r--lib/libc/unistd/linkat.c6
-rw-r--r--lib/libc/unistd/lockf.c3
-rw-r--r--lib/libc/unistd/lseek.c6
-rw-r--r--lib/libc/unistd/nice.c3
-rw-r--r--lib/libc/unistd/pause.c4
-rw-r--r--lib/libc/unistd/pipe.c4
-rw-r--r--lib/libc/unistd/pipe2.c4
-rw-r--r--lib/libc/unistd/posix_close.c6
-rw-r--r--lib/libc/unistd/pread.c4
-rw-r--r--lib/libc/unistd/pwrite.c4
-rw-r--r--lib/libc/unistd/read.c6
-rw-r--r--lib/libc/unistd/readlink.c6
-rw-r--r--lib/libc/unistd/readlinkat.c6
-rw-r--r--lib/libc/unistd/rmdir.c4
-rw-r--r--lib/libc/unistd/setegid.c6
-rw-r--r--lib/libc/unistd/seteuid.c6
-rw-r--r--lib/libc/unistd/setgid.c6
-rw-r--r--lib/libc/unistd/setpgid.c6
-rw-r--r--lib/libc/unistd/setregid.c6
-rw-r--r--lib/libc/unistd/setresgid.c6
-rw-r--r--lib/libc/unistd/setresuid.c6
-rw-r--r--lib/libc/unistd/setreuid.c6
-rw-r--r--lib/libc/unistd/setsid.c6
-rw-r--r--lib/libc/unistd/setuid.c6
-rw-r--r--lib/libc/unistd/sleep.c4
-rw-r--r--lib/libc/unistd/swab.c2
-rw-r--r--lib/libc/unistd/symlink.c4
-rw-r--r--lib/libc/unistd/symlinkat.c4
-rw-r--r--lib/libc/unistd/sync.c4
-rw-r--r--lib/libc/unistd/truncate.c6
-rw-r--r--lib/libc/unistd/unlink.c4
-rw-r--r--lib/libc/unistd/unlinkat.c4
-rw-r--r--lib/libc/unistd/write.c6
77 files changed, 253 insertions, 138 deletions
diff --git a/lib/libc/unistd/_Fork.c b/lib/libc/unistd/_Fork.c
index 080dd880..5ad326da 100644
--- a/lib/libc/unistd/_Fork.c
+++ b/lib/libc/unistd/_Fork.c
@@ -1,6 +1,8 @@
-#include <unistd.h>
-#include <syscall.h>
-#include <linux/signal.h>
+#include "asm/unistd_64.h" // for __NR_clone
+
+#include <signal.h> // for SIGCHLD
+#include <syscall.h> // for __syscall_2, syscall
+#include <unistd.h> // for _Fork, pid_t
pid_t _Fork(void)
{
diff --git a/lib/libc/unistd/_exit.c b/lib/libc/unistd/_exit.c
index ffd502c4..f45312d3 100644
--- a/lib/libc/unistd/_exit.c
+++ b/lib/libc/unistd/_exit.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_exit
+
+#include <syscall.h> // for __syscall, __syscall_1
void _exit(int status)
{
diff --git a/lib/libc/unistd/access.c b/lib/libc/unistd/access.c
index 7735d8c4..17b910b4 100644
--- a/lib/libc/unistd/access.c
+++ b/lib/libc/unistd/access.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_access
+
+#include <syscall.h> // for __syscall_2, syscall
int access(const char *path, int amode)
{
diff --git a/lib/libc/unistd/alarm.c b/lib/libc/unistd/alarm.c
index 5d171cc7..a1d61698 100644
--- a/lib/libc/unistd/alarm.c
+++ b/lib/libc/unistd/alarm.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_alarm
+
+#include <syscall.h> // for __syscall_1, syscall
unsigned alarm(unsigned seconds)
{
diff --git a/lib/libc/unistd/chdir.c b/lib/libc/unistd/chdir.c
index 5c66cc0c..42f108ae 100644
--- a/lib/libc/unistd/chdir.c
+++ b/lib/libc/unistd/chdir.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_chdir
+
+#include <syscall.h> // for __syscall_1, syscall
int chdir(const char *path)
{
diff --git a/lib/libc/unistd/chown.c b/lib/libc/unistd/chown.c
index fa7e0e7b..50ce565e 100644
--- a/lib/libc/unistd/chown.c
+++ b/lib/libc/unistd/chown.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_chown
+
+#include <syscall.h> // for __syscall_3, syscall
+#include <unistd.h> // for chown, gid_t, uid_t
int chown(const char *path, uid_t owner, gid_t group)
{
diff --git a/lib/libc/unistd/close.c b/lib/libc/unistd/close.c
index 57e45c33..fe55533e 100644
--- a/lib/libc/unistd/close.c
+++ b/lib/libc/unistd/close.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_close
+
+#include <syscall.h> // for __syscall_1, syscall
int close(int fildes)
{
diff --git a/lib/libc/unistd/dup.c b/lib/libc/unistd/dup.c
index 764c16f6..9342a6a4 100644
--- a/lib/libc/unistd/dup.c
+++ b/lib/libc/unistd/dup.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_dup
+
+#include <syscall.h> // for __syscall_1, syscall
int dup(int fildes)
{
diff --git a/lib/libc/unistd/dup2.c b/lib/libc/unistd/dup2.c
index ce1125ac..f810424b 100644
--- a/lib/libc/unistd/dup2.c
+++ b/lib/libc/unistd/dup2.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_dup2
+
+#include <syscall.h> // for __syscall_2, syscall
int dup2(int fildes, int fildes2)
{
diff --git a/lib/libc/unistd/dup3.c b/lib/libc/unistd/dup3.c
index aa9c0fab..bb9c6381 100644
--- a/lib/libc/unistd/dup3.c
+++ b/lib/libc/unistd/dup3.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_dup3
+
+#include <syscall.h> // for __syscall_3, syscall
int dup3(int fildes, int fildes2, int flag)
{
diff --git a/lib/libc/unistd/execl.c b/lib/libc/unistd/execl.c
index 5dc7bc74..568d49a2 100644
--- a/lib/libc/unistd/execl.c
+++ b/lib/libc/unistd/execl.c
@@ -1,6 +1,6 @@
-#include <stdarg.h>
-#include <stddef.h>
-#include <unistd.h>
+#include <stdarg.h> // for va_arg, va_end, va_start, va_list
+#include <stddef.h> // for NULL
+#include <unistd.h> // for execvp, execl
int execl(const char *path, const char *argv0, ...)
{
diff --git a/lib/libc/unistd/execlp.c b/lib/libc/unistd/execlp.c
index db044d50..6857970f 100644
--- a/lib/libc/unistd/execlp.c
+++ b/lib/libc/unistd/execlp.c
@@ -1,5 +1,6 @@
-#include <stdarg.h>
-#include <unistd.h>
+#include <stdarg.h> // for va_arg, va_end, va_start, va_list
+#include <stddef.h> // for NULL
+#include <unistd.h> // for execve, execlp
int execlp(const char *path, const char *argv0, ...)
{
diff --git a/lib/libc/unistd/execv.c b/lib/libc/unistd/execv.c
index 60ee6d87..99793833 100644
--- a/lib/libc/unistd/execv.c
+++ b/lib/libc/unistd/execv.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_execve
+
+#include <syscall.h> // for __syscall_3, syscall
+#include <unistd.h> // for execv
extern char **environ;
diff --git a/lib/libc/unistd/execve.c b/lib/libc/unistd/execve.c
index 43226d98..a91776f3 100644
--- a/lib/libc/unistd/execve.c
+++ b/lib/libc/unistd/execve.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_execve
+
+#include <syscall.h> // for __syscall_3, syscall
int execve(const char *file, char *const argv[], char *const envp[])
{
diff --git a/lib/libc/unistd/execvp.c b/lib/libc/unistd/execvp.c
index c678ed36..88cde91e 100644
--- a/lib/libc/unistd/execvp.c
+++ b/lib/libc/unistd/execvp.c
@@ -1,9 +1,9 @@
-#include <errno.h>
-#include <limits.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
+#include <errno.h> // for errno, ENAMETOOLONG, ENOENT
+#include <limits.h> // for PATH_MAX
+#include <stdio.h> // for NULL, snprintf
+#include <stdlib.h> // for getenv
+#include <string.h> // for strchr, strlen, strstr
+#include <unistd.h> // for execv, execvp
extern char **environ;
diff --git a/lib/libc/unistd/faccessat.c b/lib/libc/unistd/faccessat.c
index 61680aea..3087db1c 100644
--- a/lib/libc/unistd/faccessat.c
+++ b/lib/libc/unistd/faccessat.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_faccessat
+
+#include <syscall.h> // for __syscall_4, syscall
int faccessat(int fd, const char *path, int amode, int flag)
{
diff --git a/lib/libc/unistd/fchdir.c b/lib/libc/unistd/fchdir.c
index 9c0ed172..b2147b31 100644
--- a/lib/libc/unistd/fchdir.c
+++ b/lib/libc/unistd/fchdir.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_fchdir
+
+#include <syscall.h> // for __syscall_1, syscall
int fchdir(int fildes)
{
diff --git a/lib/libc/unistd/fchown.c b/lib/libc/unistd/fchown.c
index ba0ff964..29d5b969 100644
--- a/lib/libc/unistd/fchown.c
+++ b/lib/libc/unistd/fchown.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_fchown
+
+#include <syscall.h> // for __syscall_3, syscall
+#include <unistd.h> // for fchown, gid_t, uid_t
int fchown(int fildes, uid_t owner, gid_t group)
{
diff --git a/lib/libc/unistd/fchownat.c b/lib/libc/unistd/fchownat.c
index 3e08472b..c501ca65 100644
--- a/lib/libc/unistd/fchownat.c
+++ b/lib/libc/unistd/fchownat.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_fchownat
+
+#include <syscall.h> // for __syscall_5, syscall
+#include <unistd.h> // for fchownat, gid_t, uid_t
int fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag)
{
diff --git a/lib/libc/unistd/fdatasync.c b/lib/libc/unistd/fdatasync.c
index e65c79f0..50a91225 100644
--- a/lib/libc/unistd/fdatasync.c
+++ b/lib/libc/unistd/fdatasync.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_fdatasync
+
+#include <syscall.h> // for __syscall_1, syscall
int fdatasync(int fildes)
{
diff --git a/lib/libc/unistd/fork.c b/lib/libc/unistd/fork.c
index 38657406..dae69860 100644
--- a/lib/libc/unistd/fork.c
+++ b/lib/libc/unistd/fork.c
@@ -1,4 +1,4 @@
-#include <unistd.h>
+#include <unistd.h> // for _Fork, fork, pid_t
pid_t fork(void)
{
diff --git a/lib/libc/unistd/fsync.c b/lib/libc/unistd/fsync.c
index e92e1cc1..e821dc3e 100644
--- a/lib/libc/unistd/fsync.c
+++ b/lib/libc/unistd/fsync.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_fsync
+
+#include <syscall.h> // for __syscall_1, syscall
int fsync(int fildes)
{
diff --git a/lib/libc/unistd/ftruncate.c b/lib/libc/unistd/ftruncate.c
index f032ed1b..fc42046b 100644
--- a/lib/libc/unistd/ftruncate.c
+++ b/lib/libc/unistd/ftruncate.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_ftruncate
+
+#include <syscall.h> // for __syscall_2, syscall
+#include <unistd.h> // for ftruncate, off_t
int ftruncate(int fildes, off_t length)
{
diff --git a/lib/libc/unistd/getcwd.c b/lib/libc/unistd/getcwd.c
index 5494f6e3..54fa5ca9 100644
--- a/lib/libc/unistd/getcwd.c
+++ b/lib/libc/unistd/getcwd.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_getcwd
+
+#include <syscall.h> // for __syscall_2, syscall
+#include <unistd.h> // for getcwd, size_t
char *getcwd(char *buf, size_t size)
{
diff --git a/lib/libc/unistd/getegid.c b/lib/libc/unistd/getegid.c
index b50e5839..696523e2 100644
--- a/lib/libc/unistd/getegid.c
+++ b/lib/libc/unistd/getegid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_getegid
+
+#include <syscall.h> // for __syscall_0, syscall
+#include <unistd.h> // for getegid, gid_t
gid_t getegid(void)
{
diff --git a/lib/libc/unistd/getentropy.c b/lib/libc/unistd/getentropy.c
index 3a651ba5..feab9328 100644
--- a/lib/libc/unistd/getentropy.c
+++ b/lib/libc/unistd/getentropy.c
@@ -1,5 +1,4 @@
-#include <unistd.h>
-#include <syscall.h>
+#include <unistd.h> // for getentropy, size_t
int getentropy(void *buffer, size_t length)
{
diff --git a/lib/libc/unistd/geteuid.c b/lib/libc/unistd/geteuid.c
index aee26a42..a66c159c 100644
--- a/lib/libc/unistd/geteuid.c
+++ b/lib/libc/unistd/geteuid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_geteuid
+
+#include <syscall.h> // for __syscall_0, syscall
+#include <unistd.h> // for geteuid, gid_t
gid_t geteuid(void)
{
diff --git a/lib/libc/unistd/getgid.c b/lib/libc/unistd/getgid.c
index 7d19d58e..1c206911 100644
--- a/lib/libc/unistd/getgid.c
+++ b/lib/libc/unistd/getgid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_getgid
+
+#include <syscall.h> // for __syscall_0, syscall
+#include <unistd.h> // for getgid, gid_t
gid_t getgid(void)
{
diff --git a/lib/libc/unistd/getgroups.c b/lib/libc/unistd/getgroups.c
index fb1346e5..dbb9abb3 100644
--- a/lib/libc/unistd/getgroups.c
+++ b/lib/libc/unistd/getgroups.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_getgroups
+
+#include <syscall.h> // for __syscall_2, syscall
+#include <unistd.h> // for getgroups, gid_t
int getgroups(int gidsetsize, gid_t grouplist[])
{
diff --git a/lib/libc/unistd/gethostid.c b/lib/libc/unistd/gethostid.c
index e3079534..37f325b6 100644
--- a/lib/libc/unistd/gethostid.c
+++ b/lib/libc/unistd/gethostid.c
@@ -1,4 +1,3 @@
-#include <syscall.h>
long gethostid(void)
{
diff --git a/lib/libc/unistd/gethostname.c b/lib/libc/unistd/gethostname.c
index 5bd303f5..caa870da 100644
--- a/lib/libc/unistd/gethostname.c
+++ b/lib/libc/unistd/gethostname.c
@@ -1,5 +1,4 @@
-#include <unistd.h>
-#include <syscall.h>
+#include <unistd.h> // for gethostname, size_t
int gethostname(char *name, size_t namelen)
{
diff --git a/lib/libc/unistd/getlogin.c b/lib/libc/unistd/getlogin.c
index 04355db1..921a00d6 100644
--- a/lib/libc/unistd/getlogin.c
+++ b/lib/libc/unistd/getlogin.c
@@ -1,4 +1,3 @@
-#include <syscall.h>
char *getlogin(void)
{
diff --git a/lib/libc/unistd/getlogin_r.c b/lib/libc/unistd/getlogin_r.c
index 70ae5ddd..018453fb 100644
--- a/lib/libc/unistd/getlogin_r.c
+++ b/lib/libc/unistd/getlogin_r.c
@@ -1,5 +1,4 @@
-#include <unistd.h>
-#include <syscall.h>
+#include <unistd.h> // for getlogin_r, size_t
int getlogin_r(char *name, size_t namesize)
{
diff --git a/lib/libc/unistd/getopt.c b/lib/libc/unistd/getopt.c
index 8ef18d37..0a3b38cb 100644
--- a/lib/libc/unistd/getopt.c
+++ b/lib/libc/unistd/getopt.c
@@ -1,7 +1,6 @@
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/uio.h>
+#include <string.h> // for strlen
+#include <sys/uio.h> // for iovec, writev
+#include <unistd.h> // for STDERR_FILENO, getopt, optarg, opterr, optind
char *optarg;
int optind = 1, opterr = 1, optopt;
diff --git a/lib/libc/unistd/getpgid.c b/lib/libc/unistd/getpgid.c
index aed55bb9..d78396aa 100644
--- a/lib/libc/unistd/getpgid.c
+++ b/lib/libc/unistd/getpgid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_getpgid
+
+#include <syscall.h> // for __syscall_1, syscall
+#include <unistd.h> // for pid_t, getpgid
pid_t getpgid(pid_t pid)
{
diff --git a/lib/libc/unistd/getpid.c b/lib/libc/unistd/getpid.c
index 46562867..57ea18c6 100644
--- a/lib/libc/unistd/getpid.c
+++ b/lib/libc/unistd/getpid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_getpid
+
+#include <syscall.h> // for __syscall_0, syscall
+#include <unistd.h> // for getpid, pid_t
pid_t getpid(void)
{
diff --git a/lib/libc/unistd/getppid.c b/lib/libc/unistd/getppid.c
index 16bf101e..bf994995 100644
--- a/lib/libc/unistd/getppid.c
+++ b/lib/libc/unistd/getppid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_getppid
+
+#include <syscall.h> // for __syscall_0, syscall
+#include <unistd.h> // for getppid, pid_t
pid_t getppid(void)
{
diff --git a/lib/libc/unistd/getresgid.c b/lib/libc/unistd/getresgid.c
index ccdbabaa..60c818cc 100644
--- a/lib/libc/unistd/getresgid.c
+++ b/lib/libc/unistd/getresgid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_getresgid
+
+#include <syscall.h> // for __syscall_3, syscall
+#include <unistd.h> // for gid_t, getresgid
int getresgid(gid_t *restrict rgid, gid_t *restrict egid, gid_t *restrict sgid)
{
diff --git a/lib/libc/unistd/getresuid.c b/lib/libc/unistd/getresuid.c
index a9a405ae..7d26f610 100644
--- a/lib/libc/unistd/getresuid.c
+++ b/lib/libc/unistd/getresuid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_getresuid
+
+#include <syscall.h> // for __syscall_3, syscall
+#include <unistd.h> // for uid_t, getresuid
int getresuid(uid_t *restrict ruid, uid_t *restrict euid, uid_t *restrict suid)
{
diff --git a/lib/libc/unistd/getsid.c b/lib/libc/unistd/getsid.c
index e0a06780..46518105 100644
--- a/lib/libc/unistd/getsid.c
+++ b/lib/libc/unistd/getsid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_getsid
+
+#include <syscall.h> // for __syscall_1, syscall
+#include <unistd.h> // for pid_t, getsid
pid_t getsid(pid_t pid)
{
diff --git a/lib/libc/unistd/getuid.c b/lib/libc/unistd/getuid.c
index 9223ae6f..67289d54 100644
--- a/lib/libc/unistd/getuid.c
+++ b/lib/libc/unistd/getuid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_getuid
+
+#include <syscall.h> // for __syscall_0, syscall
+#include <unistd.h> // for getuid, uid_t
uid_t getuid(void)
{
diff --git a/lib/libc/unistd/isatty.c b/lib/libc/unistd/isatty.c
index afb15460..c253e14a 100644
--- a/lib/libc/unistd/isatty.c
+++ b/lib/libc/unistd/isatty.c
@@ -1,7 +1,9 @@
-#include <termios.h>
-#include <unistd.h>
-#include <syscall.h>
-#include <asm-generic/ioctls.h>
+#include "asm/unistd_64.h" // for __NR_ioctl
+
+#include <asm-generic/ioctls.h> // for TIOCGWINSZ
+#include <syscall.h> // for __syscall_3, syscall
+#include <termios.h> // for winsize
+#include <unistd.h> // for isatty
int isatty(int fildes)
{
diff --git a/lib/libc/unistd/lchown.c b/lib/libc/unistd/lchown.c
index a18be4c6..ea5f4700 100644
--- a/lib/libc/unistd/lchown.c
+++ b/lib/libc/unistd/lchown.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_lchown
+
+#include <syscall.h> // for __syscall_3, syscall
+#include <unistd.h> // for gid_t, lchown, uid_t
int lchown(const char *path, uid_t owner, gid_t group)
{
diff --git a/lib/libc/unistd/link.c b/lib/libc/unistd/link.c
index 07204ed0..9b00d16c 100644
--- a/lib/libc/unistd/link.c
+++ b/lib/libc/unistd/link.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_link
+
+#include <syscall.h> // for __syscall_2, syscall
+#include <unistd.h> // for link
int link(const char *path1, const char *path2)
{
diff --git a/lib/libc/unistd/linkat.c b/lib/libc/unistd/linkat.c
index 72dca11e..378bbb4d 100644
--- a/lib/libc/unistd/linkat.c
+++ b/lib/libc/unistd/linkat.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_linkat
+
+#include <syscall.h> // for __syscall_5, syscall
+#include <unistd.h> // for linkat
int linkat(int fd1, const char *path1, int fd2, const char *path2, int flag)
{
diff --git a/lib/libc/unistd/lockf.c b/lib/libc/unistd/lockf.c
index 6f109c55..824f1cef 100644
--- a/lib/libc/unistd/lockf.c
+++ b/lib/libc/unistd/lockf.c
@@ -1,5 +1,4 @@
-#include <unistd.h>
-#include <syscall.h>
+#include <unistd.h> // for lockf, off_t
int lockf(int fildes, int function, off_t size)
{
diff --git a/lib/libc/unistd/lseek.c b/lib/libc/unistd/lseek.c
index d8b41f88..fb574f7b 100644
--- a/lib/libc/unistd/lseek.c
+++ b/lib/libc/unistd/lseek.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_lseek
+
+#include <syscall.h> // for __syscall_3, syscall
+#include <unistd.h> // for off_t, lseek
off_t lseek(int fildes, off_t offset, int whence)
{
diff --git a/lib/libc/unistd/nice.c b/lib/libc/unistd/nice.c
index 6da984df..78dccbb0 100644
--- a/lib/libc/unistd/nice.c
+++ b/lib/libc/unistd/nice.c
@@ -1,5 +1,4 @@
-#include <unistd.h>
-#include <syscall.h>
+#include <unistd.h> // for nice
int nice(int incr)
{
diff --git a/lib/libc/unistd/pause.c b/lib/libc/unistd/pause.c
index bd959bc5..98ff98d4 100644
--- a/lib/libc/unistd/pause.c
+++ b/lib/libc/unistd/pause.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_pause
+
+#include <syscall.h> // for __syscall_0, syscall
int pause(void)
{
diff --git a/lib/libc/unistd/pipe.c b/lib/libc/unistd/pipe.c
index 4f8e0e98..3c1509d0 100644
--- a/lib/libc/unistd/pipe.c
+++ b/lib/libc/unistd/pipe.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_pipe
+
+#include <syscall.h> // for __syscall_1, syscall
int pipe(int fildes[2])
{
diff --git a/lib/libc/unistd/pipe2.c b/lib/libc/unistd/pipe2.c
index a28aecdd..5ac36338 100644
--- a/lib/libc/unistd/pipe2.c
+++ b/lib/libc/unistd/pipe2.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_pipe2
+
+#include <syscall.h> // for __syscall_2, syscall
int pipe2(int fildes[2], int flag)
{
diff --git a/lib/libc/unistd/posix_close.c b/lib/libc/unistd/posix_close.c
index 78ec692e..95c7686f 100644
--- a/lib/libc/unistd/posix_close.c
+++ b/lib/libc/unistd/posix_close.c
@@ -1,5 +1,7 @@
-#include <libc.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_close
+
+#include <libc.h> // for __unused
+#include <syscall.h> // for __syscall_1, syscall
int posix_close(int fildes, int __unused flag)
{
diff --git a/lib/libc/unistd/pread.c b/lib/libc/unistd/pread.c
index ad8e71b0..0e7aaaff 100644
--- a/lib/libc/unistd/pread.c
+++ b/lib/libc/unistd/pread.c
@@ -1,5 +1,5 @@
-#include <unistd.h>
-#include <syscall.h>
+#include <syscall.h> // for __NR_pread, __syscall_4, syscall
+#include <unistd.h> // for off_t, pread, size_t, ssize_t
ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset)
{
diff --git a/lib/libc/unistd/pwrite.c b/lib/libc/unistd/pwrite.c
index 8a2eadbe..8c2e66f0 100644
--- a/lib/libc/unistd/pwrite.c
+++ b/lib/libc/unistd/pwrite.c
@@ -1,5 +1,5 @@
-#include <unistd.h>
-#include <syscall.h>
+#include <syscall.h> // for __NR_pwrite, __syscall_4, syscall
+#include <unistd.h> // for off_t, pwrite, size_t, ssize_t
ssize_t pwrite(int fildes, const void *buf, size_t nbyte, off_t offset)
{
diff --git a/lib/libc/unistd/read.c b/lib/libc/unistd/read.c
index 54c29586..cd9d4bf4 100644
--- a/lib/libc/unistd/read.c
+++ b/lib/libc/unistd/read.c
@@ -1,5 +1,7 @@
-#include <syscall.h>
-#include <unistd.h>
+#include "asm/unistd_64.h" // for __NR_read
+
+#include <syscall.h> // for __syscall_3, syscall
+#include <unistd.h> // for read, size_t, ssize_t
ssize_t read(int fildes, void *buf, size_t nbyte)
{
diff --git a/lib/libc/unistd/readlink.c b/lib/libc/unistd/readlink.c
index 8587f526..e8d97d80 100644
--- a/lib/libc/unistd/readlink.c
+++ b/lib/libc/unistd/readlink.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_readlink
+
+#include <syscall.h> // for __syscall_3, syscall
+#include <unistd.h> // for readlink, size_t, ssize_t
ssize_t readlink(const char *restrict path, char *restrict buf, size_t bufsize)
{
diff --git a/lib/libc/unistd/readlinkat.c b/lib/libc/unistd/readlinkat.c
index d2a87b2b..0276f676 100644
--- a/lib/libc/unistd/readlinkat.c
+++ b/lib/libc/unistd/readlinkat.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_readlinkat
+
+#include <syscall.h> // for __syscall_4, syscall
+#include <unistd.h> // for readlinkat, size_t, ssize_t
ssize_t readlinkat(int fd, const char *restrict path, char *restrict buf,
size_t bufsize)
diff --git a/lib/libc/unistd/rmdir.c b/lib/libc/unistd/rmdir.c
index 5aab225c..70519c85 100644
--- a/lib/libc/unistd/rmdir.c
+++ b/lib/libc/unistd/rmdir.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_rmdir
+
+#include <syscall.h> // for __syscall_1, syscall
int rmdir(const char *path)
{
diff --git a/lib/libc/unistd/setegid.c b/lib/libc/unistd/setegid.c
index 7fd9adb6..50fa2a52 100644
--- a/lib/libc/unistd/setegid.c
+++ b/lib/libc/unistd/setegid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_setresgid
+
+#include <syscall.h> // for __syscall_3, syscall
+#include <unistd.h> // for gid_t, setegid
int setegid(gid_t gid)
{
diff --git a/lib/libc/unistd/seteuid.c b/lib/libc/unistd/seteuid.c
index 6d86bee5..48fb8b3d 100644
--- a/lib/libc/unistd/seteuid.c
+++ b/lib/libc/unistd/seteuid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_setresuid
+
+#include <syscall.h> // for __syscall_3, syscall
+#include <unistd.h> // for seteuid, uid_t
int seteuid(uid_t uid)
{
diff --git a/lib/libc/unistd/setgid.c b/lib/libc/unistd/setgid.c
index aa07c330..edf5619a 100644
--- a/lib/libc/unistd/setgid.c
+++ b/lib/libc/unistd/setgid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_setgid
+
+#include <syscall.h> // for __syscall_1, syscall
+#include <unistd.h> // for gid_t, setgid
int setgid(gid_t gid)
{
diff --git a/lib/libc/unistd/setpgid.c b/lib/libc/unistd/setpgid.c
index e4fd6efd..87f50e8f 100644
--- a/lib/libc/unistd/setpgid.c
+++ b/lib/libc/unistd/setpgid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_setpgid
+
+#include <syscall.h> // for __syscall_2, syscall
+#include <unistd.h> // for pid_t, setpgid
int setpgid(pid_t pid, pid_t pgid)
{
diff --git a/lib/libc/unistd/setregid.c b/lib/libc/unistd/setregid.c
index 633f22a6..a4d61d8c 100644
--- a/lib/libc/unistd/setregid.c
+++ b/lib/libc/unistd/setregid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_setregid
+
+#include <syscall.h> // for __syscall_2, syscall
+#include <unistd.h> // for gid_t, setregid
int setregid(gid_t rgid, gid_t egid)
{
diff --git a/lib/libc/unistd/setresgid.c b/lib/libc/unistd/setresgid.c
index 6de609fa..3f288103 100644
--- a/lib/libc/unistd/setresgid.c
+++ b/lib/libc/unistd/setresgid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_setresgid
+
+#include <syscall.h> // for __syscall_3, syscall
+#include <unistd.h> // for gid_t, setresgid
int setresgid(gid_t rgid, gid_t egid, gid_t sgid)
{
diff --git a/lib/libc/unistd/setresuid.c b/lib/libc/unistd/setresuid.c
index 1fd74baa..4c01b523 100644
--- a/lib/libc/unistd/setresuid.c
+++ b/lib/libc/unistd/setresuid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_setresuid
+
+#include <syscall.h> // for __syscall_3, syscall
+#include <unistd.h> // for uid_t, setresuid
int setresuid(uid_t ruid, uid_t euid, uid_t suid)
{
diff --git a/lib/libc/unistd/setreuid.c b/lib/libc/unistd/setreuid.c
index 5f277ba3..f41caa3c 100644
--- a/lib/libc/unistd/setreuid.c
+++ b/lib/libc/unistd/setreuid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_setreuid
+
+#include <syscall.h> // for __syscall_2, syscall
+#include <unistd.h> // for uid_t, setreuid
int setreuid(uid_t ruid, uid_t euid)
{
diff --git a/lib/libc/unistd/setsid.c b/lib/libc/unistd/setsid.c
index 16b812e0..bd81b08a 100644
--- a/lib/libc/unistd/setsid.c
+++ b/lib/libc/unistd/setsid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_setsid
+
+#include <syscall.h> // for __syscall_0, syscall
+#include <unistd.h> // for pid_t, setsid
pid_t setsid(void)
{
diff --git a/lib/libc/unistd/setuid.c b/lib/libc/unistd/setuid.c
index ab8ff73f..18d9cdc2 100644
--- a/lib/libc/unistd/setuid.c
+++ b/lib/libc/unistd/setuid.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_setuid
+
+#include <syscall.h> // for __syscall_1, syscall
+#include <unistd.h> // for setuid, uid_t
int setuid(uid_t uid)
{
diff --git a/lib/libc/unistd/sleep.c b/lib/libc/unistd/sleep.c
index b2aef854..2b63a9ed 100644
--- a/lib/libc/unistd/sleep.c
+++ b/lib/libc/unistd/sleep.c
@@ -1,5 +1,5 @@
-#include <time.h>
-#include <unistd.h>
+#include <time.h> // for nanosleep, timespec
+#include <unistd.h> // for sleep
unsigned sleep(unsigned seconds)
{
diff --git a/lib/libc/unistd/swab.c b/lib/libc/unistd/swab.c
index 5e4e7e3b..b1a47c03 100644
--- a/lib/libc/unistd/swab.c
+++ b/lib/libc/unistd/swab.c
@@ -1,4 +1,4 @@
-#include <unistd.h>
+#include <unistd.h> // for ssize_t, swab
void swab(const void *restrict src, void *restrict dest, ssize_t nbytes)
{
diff --git a/lib/libc/unistd/symlink.c b/lib/libc/unistd/symlink.c
index 0b84148e..29f10c07 100644
--- a/lib/libc/unistd/symlink.c
+++ b/lib/libc/unistd/symlink.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_symlink
+
+#include <syscall.h> // for __syscall_2, syscall
int symlink(const char *path1, const char *path2)
{
diff --git a/lib/libc/unistd/symlinkat.c b/lib/libc/unistd/symlinkat.c
index d4dd2ee0..e5d8135e 100644
--- a/lib/libc/unistd/symlinkat.c
+++ b/lib/libc/unistd/symlinkat.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_symlinkat
+
+#include <syscall.h> // for __syscall_3, syscall
int symlinkat(const char *path1, int fd, const char *path2)
diff --git a/lib/libc/unistd/sync.c b/lib/libc/unistd/sync.c
index e655213b..47818ce9 100644
--- a/lib/libc/unistd/sync.c
+++ b/lib/libc/unistd/sync.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_sync
+
+#include <syscall.h> // for __syscall_0, syscall
void sync(void)
{
diff --git a/lib/libc/unistd/truncate.c b/lib/libc/unistd/truncate.c
index 2611d40a..21570da5 100644
--- a/lib/libc/unistd/truncate.c
+++ b/lib/libc/unistd/truncate.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_truncate
+
+#include <syscall.h> // for __syscall_2, syscall
+#include <unistd.h> // for off_t, truncate
int truncate(const char *path, off_t length)
{
diff --git a/lib/libc/unistd/unlink.c b/lib/libc/unistd/unlink.c
index 1d3859f9..6c699ac8 100644
--- a/lib/libc/unistd/unlink.c
+++ b/lib/libc/unistd/unlink.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_unlink
+
+#include <syscall.h> // for __syscall_1, syscall
int unlink(const char *path)
{
diff --git a/lib/libc/unistd/unlinkat.c b/lib/libc/unistd/unlinkat.c
index 837105a1..4a6162ae 100644
--- a/lib/libc/unistd/unlinkat.c
+++ b/lib/libc/unistd/unlinkat.c
@@ -1,4 +1,6 @@
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_unlinkat
+
+#include <syscall.h> // for __syscall_3, syscall
int unlinkat(int fd, const char *path, int flag)
{
diff --git a/lib/libc/unistd/write.c b/lib/libc/unistd/write.c
index c7bd5dbc..b0b22403 100644
--- a/lib/libc/unistd/write.c
+++ b/lib/libc/unistd/write.c
@@ -1,5 +1,7 @@
-#include <unistd.h>
-#include <syscall.h>
+#include "asm/unistd_64.h" // for __NR_write
+
+#include <syscall.h> // for __syscall_3, syscall
+#include <unistd.h> // for size_t, ssize_t, write
ssize_t write(int fd, const void *buf, size_t count)
{