https://justine.lol/cosmopolitan/functions.html honeybadger cosmopolitan libc your build-once run-anywhere c library * Intro * Download * Functions * Documentation * Tutorials * GitHub * License * >> justine's web page Can I Use a System Call? Cosmopolitan Libc wraps system calls to provide high-level access to binary kernel interfaces. Linux is the gold standard for our suppport. However, if your program works on Linux, then it might not work on other platforms depending on which functions you use. The following table should help illuminate the portability of functions. Function Linux FreeBSD OpenBSD NetBSD MacOS Windows Metal read best best best best best ok good write best best best best best ok good pread best best best best best ok zipos pwrite best best best best best ok zipos readv best best best best best ok best writev best best best best best ok best preadv 2009+ v2.1+ v2.1+ v2.1+ v2.1+ v2.1+ v2.1+ pwritev 2009+ v2.1+ v2.1+ v2.1+ v2.1+ v2.1+ v2.1+ close best best best best best slow best fstatat best best best best best smudged best fstat best best best best best spotty best statfs best best best best best best fault fstatfs best best best best best best fault _Exit best best best best best best reset _Exit1 best best rc=0 rc=0 rc=0 best reset fork best best slow best best slow fault vfork best best fork best fork fork fault clone best thread thread thread thread thread enosys futexes best sched_yield good sched_yield select millis n/a tls %fs %fs %fs %fs %gs %gs %fs arch_prctl best best restricted best restricted forbidden best fsgsbase finally works forbidden forbidden forbidden broken best fopenat best best best best best best zipos O_RDONLY fopenat best best best best best best todo O_RDWR fopenat best einval einval einval einval einval einval O_TMPFILE mmap best best best best best no cow best MAP_PRIVATE mmap best best best best best best best MAP_SHARED mmap fast+safe fast+safe safe safe safe faked safe MAP_STACK mmap best best ignored ignored ignored ignored ignored MAP_POPULATE mmap ignored best best best ignored ignored ignored MAP_CONCEAL poll best best best best best polling best select best best best best best polling fault pselect best best best best best polling fault ppoll best best best best non-atomic polling best lseek best best best best best best best pledge 2.6.23+ enosys best enosys enosys enosys fault unveil 5.13+ enosys best enosys enosys enosys fault msync best best best best best partial todo mprotect best best best best best best todo munmap best best best best best best best sigaction best best best best best best enosys ucontext_t sigprocmask best best best best best simulated no-op sigsuspend best best best best best simulated no-op sigpending best best best best best simulated no-op clock_gettime fastest good good good gettimeofday fastest enosys REALTIME clock_gettime fastest good good good rdtsc rdtsc enosys MONOTONIC clock_getres kinda good good ok faked rdtsc enosys ioctl best best best best best ok wip TCGETS ioctl best best best best best ok wip TCSETS ioctl best best best best best good wip TIOCGWINSZ ioctl best best best best best best wip FIOCLEX ioctl best best best best best best fault FIONBIO ioctl best best best best best best fault SIOCGIFCONF ioctl best best best best best best fault SIOCGIFADDR ioctl best best best best best best fault SIOCGIFNETMASK ioctl best best best best best best fault SIOCGIFBRDADDR ioctl best best best best best best fault SIOCGIFDSTADDR ioctl best best best best best best fault SIOCGIFFLAGS openpty v2.0+ v2.1+ v2.1+ v2.1+ v2.1+ enosys enosys ptsname v2.0+ v2.1+ hairy v2.1+ v2.1+ enosys enosys flock good good good good good good fault sync notest notest notest notest notest flush fault fsync notest notest notest notest notest flush fault fdatasync notest notest notest notest notest flush fault sync_ notest fdatasync fdatasync fdatasync fdatasync fdatasync fault file_range copy_ 5.9+ 13+ enosys enosys enosys enosys fault file_range sendfile best best enosys enosys best best enosys splice 5.9+ enosys enosys enosys enosys enosys fault closefrom 5.9+ best best enosys enosys enosys enosys close_range 5.9+ 13+ enosys enosys enosys enosys enosys fadvise best best enosys best enosys most enosys posix_fadvise best best enosys best enosys most enosys truncate best best best best best best fault ftruncate best best best best best best fault faccessat best best best best best best fault pipe best best best best best best fault pipe2 2008+ best best best non-atomic best fault socketpair best best best best best best fault getcwd best best best best best best fault chdir best best best best best hairy fault fchdir best best best best best hairy fault renameat best best best best best best fault mkdirat best best best best best best fault linkat best best best best best admin-only fault unlinkat best best best best best hairy fault readlinkat best best best best best best fault sched_yield best best best best select best no-op memfd_create best enosys enosys enosys enosys enosys fault sys_mremap best enosys enosys good enosys enosys enosys mincore best best enosys best best enosys fault madvise best best best best best some fault dup best best best best best best fault dup2 best best best best best best fault dup3 2008+ non-atomic best best non-atomic best fault fcntl best best best best best best fault F_DUPFD fcntl F_DUPFD_ 2008+ best best best best best fault CLOEXEC fcntl good good good good good best fault Advisory Locks (v2.1) fcntl best best best best best best fault F_GETFL fcntl best best best best best einval fault F_SETFL fcntl best best best best best best fault F_GETFD fcntl best best best best best best fault F_SETFD nanosleep best best best best micros millis enosys setitimer best best best best best kludge fault gettid best good good good good good fault getpid best best best best best best fault getppid best best best best best slow fault getrandom 2014+ sysctl getentropy sysctl getentropy SysFun036 rdrand umask best best best best best no-op fault issetugid best best best best best best zero setuid best best best best best no-op fault setgid best best best best best no-op fault setreuid best best best best best enosys fault setregid best best best best best enosys fault setresuid best best best faked faked enosys fault setresgid best best best faked faked enosys fault socket best best best best best best fault bind best best best best best good fault connect best best best best best good fault accept best best best best best good fault accept4 2009+ best best best non-atomic good fault sendto best best best best best good fault recvfrom best best best best best good fault sendmsg good ok ok ok ok ok fault recvmsg good ok ok ok ok ok fault shutdown best best best best good best fault getsockname best best best best best best fault getpeername best best best best best best fault getsockopt best narrow narrow narrow narrow narrow fault setsockopt best best best best best best fault SO_TYPE setsockopt best best best best best best fault SO_DEBUG setsockopt best best best best best best fault SO_ERROR setsockopt best best best best best best fault SO_BROADCAST setsockopt best best best best best n/a fault SO_REUSEADDR setsockopt superior best best best best best fault SO_REUSEPORT setsockopt best best best best best best fault SO_KEEPALIVE setsockopt best best best best best best fault SO_ACCEPTCONN setsockopt best best best best best best fault SO_DONTROUTE setsockopt best best best best best best fault SO_SNDBUF setsockopt best best best best best best fault SO_RCVBUF setsockopt best best best best best best fault SO_SNDLOWAT setsockopt best best best best best best fault SO_RCVLOWAT setsockopt best best best best best best fault TCP_NODELAY setsockopt best best best best best best fault TCP_CORK setsockopt best best enopro enopro enopro best enosys TCP_FASTOPEN setsockopt best enopro enopro enopro enopro enopro fault TCP_QUICKACK execve best best best best best kludge fault wait4 best best best best best messy fault kill best best best best best limited fault tkill best ok ok ok ok ok fault tgkill best enosys enosys enosys enosys enosys fault uname best best best best best best enosys fchmodat best best best best best enosys fault fchownat best best best best best enosys fault chroot works works works works works enosys fault mount notest notest notest notest notest enosys fault reboot notest notest notest notest notest notest fault utimensat 2008+ 1e-9 1e-9 1e-9 1e-6 1e-7 fault sched_ best none none broken none best fault setaffinity sched_ best none none broken none ugly fault getaffinity sched_ best good none good none none fault setscheduler sched_ best good none good none none fault getscheduler sched_setparam best good none good none none fault sched_getparam best good none good none none fault sched_get_ best best none best none none fault priority_max sched_get_ best best none best none none fault priority_min sched_rr_get_ best best none none none none fault interval epoll best enosys enosys enosys enosys wepoll fault clock cgt cgt cgt cgt getrusage gpt fault getrusage some best best best best some fault setrlimit best ok ok ok ok RLIMIT_AS fault opendir best best best best best best fault gethostname best best best best best best fault getlogin_r getenv sys sys sys sys sys enoent login_tty best best best best best enosys enosys Free Libre & Open Source github.com/jart/cosmopolitan Written by Justine Tunney [email protected]