macOS — System Calls
- FD_CLR(2), FD_COPY(2), FD_ISSET(2), FD_SET(2), FD_ZERO(2), select(2) — synchronous I/O multiplexing
- _exit(2) — terminate the calling process
- accept(2) — accept a connection on a socket
- access(2), faccessat(2) — check accessibility of a file
- acct(2) — enable or disable process accounting
- adjtime(2) — correct the time to allow synchronization of the system clock
- aio_cancel(2) — cancel an outstanding asynchronous I/O operation (REALTIME)
- aio_error(2) — retrieve error status of asynchronous I/O operation (REALTIME)
- aio_read(2) — asynchronous read from a file (REALTIME)
- aio_return(2) — retrieve return status of asynchronous I/O operation (REALTIME)
- aio_suspend(2) — suspend until asynchronous I/O operations or timeout complete (REALTIME)
- aio_write(2) — asynchronous write to a file (REALTIME)
- audit(2) — commit BSM audit record to audit log
- auditctl(2) — configure system audit parameters
- auditon(2) — configure system audit parameters
- bind(2) — bind a name to a socket
- brk(2), sbrk(2) — change data segment size
- chdir(2), fchdir(2) — change current working directory
- chflags(2), fchflags(2) — set file flags
- chmod(2), fchmod(2), fchmodat(2) — change mode of file
- chown(2), fchown(2), lchown(2), fchownat(2) — change owner and group of a file
- chroot(2) — change root directory
- clonefile(2) — create copy on write clones of files
- close(2) — delete a descriptor
- connect(2) — initiate a connection on a socket
- connectx(2) — initiate a connection on a socket
- creat(2) — create a new file
- disconnectx(2) — disconnects a connection on a socket
- dup(2), dup2(2) — duplicate an existing file descriptor
- exchangedata(2) — atomically exchange data between two files
- execve(2) — execute a file
- fcntl(2) — file control
- fhopen(2) — open a file by file handle
- flock(2) — apply or remove an advisory lock on an open file
- fork(2) — create a new process
- fpathconf(2), pathconf(2) — get configurable pathname variables
- fs_snapshot_create(2) — create read only snapshot of a mounted filesystem
- fsgetpath(2) — get the path associated with filesystem node identifier (inode number/link id/object id)
- fstat(2), fstat64(2), lstat(2), lstat64(2), stat(2), stat64(2), fstatat(2) — get file status
- fsync(2) — synchronize a file's in-core state with that on disk
- ftruncate(2), truncate(2) — truncate or extend a file to a specified length
- futimens(2), utimensat(2) — set file access and modification times
- futimes(2), utimes(2) — set file access and modification times
- getattrlist(2), fgetattrlist(2), getattrlistat(2) — get file system attributes
- getattrlistbulk(2) — get file system attributes for multiple directory entries
- getaudit_addr(2), getaudit(NOW DEPRECATED)(2) — retrieve audit session state
- getauid(2) — retrieve audit user ID
- getdirentries(2) — get directory entries in a filesystem independent format
- getdirentriesattr(2), getdirentriesattr(NOW DEPRECATED)(2) — get file system attributes for multiple directory entries
- getdtablesize(2) — get descriptor table size
- getegid(2), getgid(2) — get group process identification
- getentropy(2) — get entropy
- geteuid(2), getuid(2) — get user identification
- getfh(2) — get file handle
- getfsstat(2) — get list of all mounted file systems
- getgroups(2) — get group access list
- gethostuuid(2) — return a unique identifier for the current machine
- getitimer(2), setitimer(2) — get/set value of interval timer
- getlogin(2), setlogin(2) — get/set login name
- getpeername(2) — get address of connected peer
- getpgid(2), getpgrp(2) — get process group
- getpid(2), getppid(2) — get parent or calling process identification
- getpriority(2), setpriority(2) — get/set program scheduling priority
- getrlimit(2), setrlimit(2) — control maximum system resource consumption
- getrusage(2) — get information about resource utilization
- getsid(2) — get process session
- getsockname(2) — get socket name
- getsockopt(2), setsockopt(2) — get and set options on sockets
- gettimeofday(2), settimeofday(2) — get/set date and time
- getxattr(2), fgetxattr(2) — get an extended attribute value
- i386_get_ldt(2), i386_set_ldt(2) — manage i386 per-process Local Descriptor Table entries
- intro(2) — introduction to system calls and error numbers
- ioctl(2) — control device
- issetugid(2) — is current process tainted by uid or gid changes
- kill(2) — send signal to a process
- killpg(2) — send signal to a process group
- kqueue(2), kevent(2), kevent64(2) — and kevent_qos kernel event notification mechanism
- link(2), linkat(2) — make a hard file link
- listen(2) — listen for connections on a socket
- listxattr(2), flistxattr(2) — list extended attribute names
- lseek(2) — reposition read/write file offset
- madvise(2), posix_madvise(2) — give advice about use of memory
- mincore(2) — determine residency of memory pages
- minherit(2) — control the inheritance of pages
- mkdir(2), mkdirat(2) — make a directory file
- mkfifo(2), mkfifoat(2) — make a fifo file
- mknod(2), mknodat(2) — make a special file node
- mlock(2), munlock(2) — lock (unlock) physical pages in memory
- mmap(2) — allocate memory, or map files or devices into memory
- mount(2), fmount(2), unmount(2) — mount or dismount a filesystem
- mprotect(2) — control the protection of pages
- msync(2) — synchronize a mapped region
- munmap(2) — remove a mapping
- nanosleep(2) — suspend thread execution for an interval measured in nanoseconds
- nfsclnt(2) — NFS client services
- nfssvc(2) — NFS services
- open(2), openat(2) — open or create a file for reading or writing
- pipe(2) — create descriptor pair for interprocess communication
- poll(2) — synchronous I/O multiplexing
- posix_spawn(2), posix_spawn posix_spawnp(2) — spawn a process
- pread(2), read(2), preadv(2), readv(2) — read input
- pselect(2) — synchronous I/O multiplexing a la POSIX.1g
- pthread_kill(2) — send a signal to a specified thread
- pthread_setugid_np(2) — Set the per-thread userid and single groupid
- pthread_sigmask(2) — examine and/or change a thread's signal mask
- ptrace(2) — process tracing and debugging
- pwrite(2), write(2), pwritev(2), writev(2) — write output
- quotactl(2) — manipulate filesystem quotas
- readlink(2), readlinkat(2), freadlink(2) — read value of a symbolic link
- reboot(2) — reboot system or halt processor
- recv(2), recvfrom(2), recvmsg(2) — receive a message from a socket
- removexattr(2), fremovexattr(2) — remove an extended attribute value
- rename(2), renameat(2), renamex_np(2), renameatx_np(2) — change the name of a file
- revoke(2) — revoke file access
- rmdir(2) — remove a directory file
- searchfs(2) — search a volume quickly
- sem_close(2) — close a named semaphore
- sem_open(2) — initialize and open a named semaphore
- sem_post(2) — unlock a semaphore
- sem_trywait(2), sem_wait(2) — lock a semaphore
- sem_unlink(2) — remove a named semaphore
- semctl(2) — control operations on a semaphore set
- semget(2) — obtain a semaphore id
- semop(2) — atomic array of operations on a semaphore set
- send(2), sendmsg(2), sendto(2) — send a message from a socket
- sendfile(2) — send a file to a socket
- setattrlist(2), fsetattrlist(2), setattrlistat(2) — set file system attributes
- setaudit_addr(2), setaudit(NOW DEPRECATED)(2) — set audit session state
- setauid(2) — set audit indentifier
- setegid(2), seteuid(2), setgid(2), setuid(2) — set user and group ID
- setgroups(2) — set group access list
- setpgid(2), setpgrp(2) — set process group
- setregid(2) — set real and effective group ID
- setreuid(2) — set real and effective user IDs
- setsid(2) — create session and set process group ID
- setxattr(2), fsetxattr(2) — set an extended attribute value
- shm_open(2) — open a shared memory object
- shm_unlink(2) — remove shared memory object
- shmat(2), shmdt(2) — map/unmap shared memory
- shmctl(2) — shared memory control operations
- shmget(2) — get shared memory area identifier
- shutdown(2) — shut down part of a full-duplex connection
- sigaction(2) — software signal facilities
- sigaltstack(2) — set and/or get signal stack context
- sigblock(2) — block signals
- sigpause(2) — atomically release blocked signals and wait for interrupt
- sigpending(2) — get pending signals
- sigprocmask(2) — manipulate current signal mask
- sigsetmask(2) — set current signal mask
- sigstack(2) — set and/or get signal stack context
- sigsuspend(2) — atomically release blocked signals and wait for interrupt
- sigvec(2) — software signal facilities
- sigwait(2) — select a set of signals
- socket(2) — create an endpoint for communication
- socketpair(2) — create a pair of connected sockets
- statfs(2), statfs64(2), fstatfs(2), fstatfs64(2) — get file system statistics
- symlink(2), symlinkat(2) — make symbolic link to a file
- sync(2) — synchronize disk block in-core status with that on disk
- umask(2) — set file creation mode mask
- undelete(2) — attempt to recover a deleted file
- unlink(2), unlinkat(2) — remove directory entry
- vfork(2) — deprecated system call to create a new process
- wait(2), wait3(2), wait4(2), waitpid(2) — wait for process termination