Arm64 Syscalls
Common macOS Syscalls
read(syscall number 3)Description: Reads data from a file descriptor.
Arguments:
x0: File descriptor.x1: Buffer to store the read data.x2: Number of bytes to read.
Return Value: Number of bytes read or a negative error code.
.global _start .section .bss buffer: .skip 100 .section .text _start: mov x16, #3 // Syscall number for read mov x0, #0 // File descriptor (stdin) ldr x1, =buffer // Pointer to the buffer mov x2, #100 // Number of bytes to read svc #0 // Invoke the syscall mov x16, #1 // Syscall number for exit mov x0, #0 // Exit code 0 svc #0 // Invoke the syscallwrite(syscall number 4)Description: Writes data to a file descriptor.
Arguments:
x0: File descriptor.x1: Buffer containing the data to write.x2: Number of bytes to write.
Return Value: Number of bytes written or a negative error code.
.global _start ; Declare the entry point of the program .align 2 ; Align the next data to a 4-byte boundary _start: ; Write system call (syscall number 4 in X16, parameters in X0, X1, X2) mov X0, #1 ; File descriptor 1 (stdout) adr X1, helloworld ; Load the address of the "Hello, World!" string into X1 mov X2, #14 ; The length of the string (14 bytes) mov X16, #4 ; Syscall number for 'write' (4 in X16 for AArch64) svc #0x80 ; Make the system call (writes to stdout) ; Exit system call (syscall number 1 in X16, exit code in X0) mov X0, #0 ; Exit code 0 (success) mov X16, #1 ; Syscall number for 'exit' (1 in X16) svc #0x80 ; Make the system call (exits the program) ; Data section helloworld: .ascii "Hello, World!\n" ; The string to printopen(syscall number 5)Description: Opens a file.
Arguments:
x0: Path to the file.x1: Flags.x2: Mode (optional, used when creating a file).
Return Value: File descriptor or a negative error code.
.global _start .section .data path: .asciz "/path/to/file" .section .text _start: mov x16, #5 // Syscall number for open ldr x0, =path // Path to the file mov x1, #0 // Flags (O_RDONLY) mov x2, #0 // Mode (not used) svc #0 // Invoke the syscall mov x16, #1 // Syscall number for exit mov x0, #0 // Exit code 0 svc #0 // Invoke the syscallclose(syscall number 6)Description: Closes a file descriptor.
Arguments:
x0: File descriptor.
Return Value: 0 on success or a negative error code.
.global _start .section .text _start: mov x16, #6 // Syscall number for close mov x0, #3 // File descriptor svc #0 // Invoke the syscall mov x16, #1 // Syscall number for exit mov x0, #0 // Exit code 0 svc #0 // Invoke the syscallexit(syscall number 1)Description: Terminates the calling process.
Arguments:
x0: Exit status.
Return Value: Does not return.
.global _start .section .text _start: mov x16, #1 // Syscall number for exit mov x0, #0 // Exit code 0 svc #0 // Invoke the syscall
These examples demonstrate how to use the macOS syscall convention on Arm64 to perform basic operations such as reading, writing, opening, closing files, and exiting a program. For a complete list of syscalls, refer to the macOS kernel documentation.
Here is a table format of the system calls along with an explanation of each syscall:
x16 | Syscall | Explanation | Registers Used & Types |
|---|---|---|---|
1 | __exit | Exits the current process with a given exit status. |
|
2 | fork | Creates a new child process by duplicating the calling process. |
|
3 | read | Reads data from a file descriptor into a buffer. |
|
4 | write | Writes data from a buffer to a file descriptor. |
|
5 | __open | Opens a file or device and returns a file descriptor. |
|
6 | close | Closes an open file descriptor. |
|
7 | __wait4 | Waits for a child process to change state. |
|
9 | _kernelrpc_mach_vm_allocate_trap | Allocates memory in the virtual memory space of a task (kernel trap). |
|
9 | link | Creates a new hard link to an existing file. |
|
10 | __unlink | Deletes a file by removing its directory entry. |
|
11 | _kernelrpc_mach_vm_deallocate_trap | Deallocates a range of memory in the virtual memory space of a task (kernel trap). |
|
12 | chdir | Changes the current working directory of the process. |
|
13 | _kernelrpc_mach_vm_protect_trap | Changes the protection of a range of memory in the virtual memory space (kernel trap). |
|
13 | fchdir | Changes the current working directory of the process using a file descriptor. |
|
14 | _kernelrpc_mach_vm_map_trap | Maps a region of memory into a task's virtual memory space (kernel trap). |
|
14 | mknod | Creates a new file system node (file, device, or named pipe). |
|
15 | __chmod | Changes the permissions of a file or directory. |
|
15 | _kernelrpc_mach_port_allocate_trap | Allocates a new Mach port (kernel trap). |
|
16 | _kernelrpc_mach_port_destroy_trap | Destroys a Mach port (kernel trap). |
|
16 | chown | Changes the ownership of a file or directory. |
|
17 | _kernelrpc_mach_port_deallocate_trap | Deallocates a Mach port (kernel trap). |
|
18 | _kernelrpc_mach_port_mod_refs_trap | Modifies the reference count of a Mach port (kernel trap). |
|
19 | _kernelrpc_mach_port_move_member_trap | Moves a Mach port to a new member (kernel trap). |
|
20 | _kernelrpc_mach_port_insert_right_trap | Inserts a right to a Mach port (kernel trap). |
|
21 | _kernelrpc_mach_port_insert_member_trap | Inserts a member to a Mach port (kernel trap). |
|
22 | _kernelrpc_mach_port_extract_member_trap | Extracts a member from a Mach port (kernel trap). |
|
23 | _kernelrpc_mach_port_construct_trap | Constructs a new Mach port (kernel trap). |
|
23 | setuid | Sets the user ID (UID) of the calling process. |
|
24 | _kernelrpc_mach_port_destruct_trap | Destructs a Mach port (kernel trap). |
|
24 | getuid | Retrieves the user ID (UID) of the calling process. |
|
25 | geteuid | Retrieves the effective user ID (EUID) of the calling process. |
|
25 | mach_reply_port | Retrieves the reply port for a Mach message. |
|
26 | thread_self_trap | Returns the thread's self-reference (kernel trap). |
|
27 | __recvmsg | Receives a message from a socket. |
|
27 | task_self_trap | Returns the task's self-reference (kernel trap). |
|
28 | __sendmsg | Sends a message over a socket. |
|
28 | host_self_trap | Retrieves the host's self-reference (kernel trap). |
|
29 | __recvfrom | Receives data from a socket. |
|
30 | __accept | Accepts a connection on a socket. |
|
30 | mach_msg_trap | Receives a Mach message (kernel trap). |
|
31 | __getpeername | Retrieves the peer address for a socket. |
|
31 | mach_msg_overwrite_trap | Receives a Mach message with overwrite capability (kernel trap). |
|
32 | __getsockname | Retrieves the socket address of a socket. |
|
32 | semaphore_signal_trap | Signals a semaphore (kernel trap). |
|
33 | access | Checks the accessibility of a file or directory. |
|
33 | semaphore_signal_all_trap | Signals all semaphores (kernel trap). |
|
34 | chflags | Changes file flags for a file. |
|
34 | semaphore_signal_thread_trap | Signals a semaphore for a thread (kernel trap). |
|
35 | fchflags | Changes file flags for a file referenced by a file descriptor. |
|
35 | semaphore_wait_trap | Waits for a semaphore (kernel trap). |
|
36 | semaphore_wait_signal_trap | Waits for a semaphore and signals upon completion (kernel trap). |
|
36 | sync | Synchronizes file system changes with disk. |
|
37 | __kill | Sends a signal to a process or thread. |
|
37 | semaphore_timedwait_trap | Waits for a semaphore with a timeout (kernel trap). |
|
38 | semaphore_timedwait_signal_trap | Waits for a semaphore and signals upon completion with timeout (kernel trap). |
|
39 | getppid | Retrieves the parent process ID (PID) of the calling process. |
|
40 | _kernelrpc_mach_port_guard_trap | Guards a Mach port (kernel trap). |
|
41 | _kernelrpc_mach_port_unguard_trap | Unguards a Mach port (kernel trap). |
|
43 | getegid | Retrieves the effective group ID (EGID) of the calling process. |
|
43 | task_name_for_pid | Retrieves the task name for a given PID (kernel trap). |
|
44 | task_for_pid | Retrieves the task for a given PID (kernel trap). |
|
45 | pid_for_task | Retrieves the PID for a given task (kernel trap). |
|
46 | __sigaction | Modifies the signal action for a given signal. |
|
47 | getgid | Retrieves the group ID (GID) of the calling process. |
|
47 | macx_swapon | Enables swapping in macOS (mac-specific syscall). |
|
48 | macx_swapoff | Disables swapping in macOS (mac-specific syscall). |
|
48 | sigprocmask | Sets or retrieves the signal mask of the calling process. |
|
49 | __getlogin | Retrieves the login name of the calling process. |
|
50 | __setlogin | Sets the login name of the calling process. |
|
50 | macx_triggers | A macOS-specific syscall for triggering system events. |
|
51 | acct | Turns process accounting on or off. |
|
51 | macx_backing_store_suspend | Suspends the backing store (macOS-specific). |
|
52 | macx_backing_store_recovery | Recovers the backing store (macOS-specific). |
|
52 | sigpending | Checks for pending signals in the calling process. |
|
53 | __sigaltstack | Sets or gets the alternate signal stack for the calling process. |
|
54 | __ioctl | Performs input/output control operations. |
|
55 | reboot | Reboots the system. |
|
56 | revoke | Revokes access to a file descriptor or file. |
|
57 | symlink | Creates a symbolic link to a file. |
|
58 | readlink | Reads the value of a symbolic link. |
|
58 | swtch_pri | Switches the process with priority (macOS-specific). |
|
59 | execve | Executes a program in the current process space. |
|
59 | swtch | Switches the current thread or process (macOS-specific). |
|
60 | syscall_thread_switch | Switches the current thread (macOS-specific). |
|
60 | umask | Sets the file mode creation mask. |
|
61 | chroot | Changes the root directory for the calling process. |
|
61 | clock_sleep_trap | Suspends the process for a specific duration (kernel trap). |
|
65 | __msync | Synchronizes a file with disk to ensure all changes are written. |
|
73 | __munmap | Unmaps a region of memory previously mapped by |
|
74 | __mprotect | Changes the memory protection of a region of memory. |
|
75 | madvise | Provides advice to the kernel about how memory is used by the calling process. |
|
78 | mincore | Checks whether pages of a memory region are in memory. |
|
79 | getgroups | Retrieves the list of group IDs for the calling process. |
|
80 | setgroups | Sets the list of group IDs for the calling process. |
|
81 | getpgrp | Retrieves the process group ID (PGID) of the calling process. |
|
82 | setpgid | Sets the process group ID for the calling process. |
|
83 | setitimer | Sets a timer to deliver signals after a specified time interval. |
|
85 | swapon | Activates a swap device to allow virtual memory paging. |
|
86 | getitimer | Retrieves the current value of a timer set by |
|
88 | mach_timebase_info | Retrieves the timebase for |
|
89 | getdtablesize | Retrieves the maximum number of file descriptors for the process. |
|
89 | mach_wait_until | Suspends execution until a specified time (kernel trap). |
|
90 | dup2 | Duplicates one file descriptor to another, closing the second descriptor. |
|
90 | mk_timer_create | Creates a new timer (macOS-specific). |
|
91 | mk_timer_destroy | Destroys a timer (macOS-specific). |
|
92 | __fcntl | Performs a file control operation on a file descriptor. |
|
92 | mk_timer_arm | Arms a timer for execution (macOS-specific). |
|
93 | __select | Waits for one or more file descriptors to become ready for I/O. |
|
93 | mk_timer_cancel | Cancels a previously set timer (macOS-specific). |
|
95 | fsync | Forces a file descriptor to synchronize with the underlying storage device. |
|
96 | __setpriority | Sets the scheduling priority for the calling process or thread. |
|
97 | socket | Creates a new socket for communication between processes. |
|
98 | __connect | Initiates a connection on a socket. |
|
100 | getpriority | Retrieves the scheduling priority for a process or thread. |
|
104 | __bind | Binds a socket to an address. |
|
105 | setsockopt | Sets options for a socket, such as timeout or buffer size. |
|
106 | __listen | Marks a socket as a passive listening socket. |
|
111 | __sigsuspend | Waits for a signal to be delivered to the calling process. |
|
117 | getrusage | Retrieves resource usage information for the calling process. |
|
118 | getsockopt | Retrieves options set on a socket. |
|
120 | readv | Reads data from multiple buffers into a file descriptor. |
|
121 | writev | Writes data from multiple buffers to a file descriptor. |
|
122 | __settimeofday | Sets the system time and date. |
|
123 | fchown | Changes the ownership of a file referred to by a file descriptor. |
|
124 | __fchmod | Changes the permissions of a file referred to by a file descriptor. |
|
126 | __setreuid | Sets the real and effective user IDs. |
|
127 | __setregid | Sets the real and effective group IDs. |
|
128 | __rename | Renames a file or directory. |
|
131 | flock | Applies or removes an advisory lock on an open file. |
|
132 | mkfifo | Creates a named FIFO (First-In-First-Out) special file. |
|
133 | __sendto | Sends data to a socket or a peer endpoint. |
|
134 | shutdown | Shuts down one or both directions of communication on a socket. |
|
135 | __socketpair | Creates a pair of connected sockets for inter-process communication. |
|
136 | mkdir | Creates a new directory. |
|
137 | __rmdir | Removes an empty directory. |
|
138 | utimes | Changes the access and modification times of a file. |
|
139 | futimes | Changes the access and modification times of a file referred to by a file descriptor. |
|
140 | adjtime | Adjusts the system clock by a specified amount. |
|
142 | __gethostuuid | Retrieves a unique identifier for the host. |
|
147 | setsid | Creates a new session and sets the process group. |
|
148 | setquota | Sets the disk usage quota for a user or group. |
|
149 | quota | Retrieves the disk usage quota for a user or group. |
|
151 | getpgid | Retrieves the process group ID (PGID) of a process. |
|
152 | setprivexec | Sets the privileges for a specific process (macOS-specific). |
|
153 | pread | Reads data from a file descriptor at a specified offset. |
|
154 | pwrite | Writes data to a file descriptor at a specified offset. |
|
155 | nfssvc | Makes an NFS (Network File System) call. |
|
159 | unmount | Unmounts a file system. |
|
161 | getfh | Retrieves the file handle for a file. |
|
165 | quotactl | Controls disk quotas. |
|
167 | mount | Mounts a file system. |
|
169 | csops | Executes a control operation on a process (macOS-specific). |
|
170 | csops_audittoken | Retrieves the audit token for a process (macOS-specific). |
|
173 | waitid | Waits for a specific child process to change state. |
|
178 | __kdebug_trace_string | Sends a string to the kernel for debugging purposes (macOS-specific). |
|
179 | __kdebug_trace64 | Sends a 64-bit trace for debugging purposes (macOS-specific). |
|
180 | __kdebug_trace | Sends a trace for debugging purposes (macOS-specific). |
|
181 | setgid | Sets the group ID (GID) of the calling process. |
|
182 | setegid | Sets the effective group ID (EGID) of the calling process. |
|
183 | seteuid | Sets the effective user ID (EUID) of the calling process. |
|
184 | __sigreturn | Returns from a signal handler and restores signal state. |
|
185 | __chud | Provides various debugging and system tracing operations (macOS-specific). |
|
187 | fdatasync | Flushes file data to disk, but not metadata. |
|
191 | pathconf | Retrieves configurable file system parameters for a given file. |
|
192 | fpathconf | Retrieves configurable file system parameters for a file descriptor. |
|
194 | __getrlimit | Retrieves the resource limits for the calling process. |
|
195 | __setrlimit | Sets the resource limits for the calling process. |
|
196 | getdirentries | Retrieves the directory entries for a directory. |
|
197 | __mmap | Maps a file or memory region into the process’s address space. |
|
199 | __lseek | Moves the file descriptor’s offset pointer. |
|
200 | truncate | Truncates a file to a specified length. |
|
201 | ftruncate | Truncates a file referred to by a file descriptor. |
|
202 | __sysctl | Performs a system control operation, such as querying kernel parameters. |
|
203 | mlock | Locks a region of memory to prevent it from being swapped out. |
|
204 | munlock | Unlocks a previously locked memory region. |
|
205 | undelete | Restores a deleted file (macOS-specific). |
|
216 | __open_dprotected_np | Opens a file with additional protections (macOS-specific). |
|
220 | __getattrlist | Retrieves the attributes of a file or directory (macOS-specific). |
|
221 | __setattrlist | Sets the attributes of a file or directory (macOS-specific). |
|
222 | getdirentriesattr | Retrieves directory entries along with extended attributes (macOS-specific). |
|
223 | exchangedata | Exchanges data between two files (macOS-specific). |
|
225 | searchfs | Searches the file system for files (macOS-specific). |
|
226 | __delete | Deletes a file or directory (macOS-specific). |
|
227 | __copyfile | Copies a file (macOS-specific). |
|
228 | fgetattrlist | Retrieves file attributes for a file descriptor (macOS-specific). |
|
229 | fsetattrlist | Sets file attributes for a file descriptor (macOS-specific). |
|
230 | poll | Waits for events on file descriptors (similar to |
|
231 | watchevent | Watches for specific file system events (macOS-specific). |
|
232 | waitevent | Waits for specific events (macOS-specific). |
|
233 | modwatch | Modifies the file system watch settings (macOS-specific). |
|
234 | getxattr | Retrieves extended attributes of a file or directory. |
|
235 | fgetxattr | Retrieves extended attributes of a file referred to by a file descriptor. |
|
236 | setxattr | Sets extended attributes for a file or directory. |
|
237 | fsetxattr | Sets extended attributes for a file referred to by a file descriptor. |
|
238 | removexattr | Removes extended attributes from a file or directory. |
|
239 | fremovexattr | Removes extended attributes from a file referred to by a file descriptor. |
|
240 | listxattr | Lists the extended attributes of a file or directory. |
|
241 | flistxattr | Lists the extended attributes of a file referred to by a file descriptor. |
|
242 | fsctl | Performs file system control operations (macOS-specific). |
|
243 | __initgroups | Initializes the groups for a process (macOS-specific). |
|
244 | __posix_spawn | Spawns a new process (POSIX-compatible). |
|
245 | ffsctl | Performs file system specific control operations (macOS-specific). |
|
247 | nfsclnt | Makes an NFS (Network File System) client call. |
|
248 | fhopen | Opens a file using a file handle (macOS-specific). |
|
250 | minherit | Sets the memory inheritance attributes for a process (macOS-specific). |
|
251 | __semsys | Performs semaphore system operations (macOS-specific). |
|
252 | __msgsys | Performs message system operations (macOS-specific). |
|
253 | __shmsys | Performs shared memory system operations (macOS-specific). |
|
254 | __semctl | Performs semaphore control operations (macOS-specific). |
|
255 | semget | Creates a new semaphore set. |
|
256 | semop | Performs semaphore operations (wait/signal) on a semaphore set. |
|
258 | __msgctl | Performs message control operations (macOS-specific). |
|
259 | msgget | Creates or opens a message queue. |
|
260 | msgsnd | Sends a message to a message queue. |
|
261 | msgrcv | Receives a message from a message queue. |
|
262 | shmat | Attaches a shared memory segment to the process's address space. |
|
263 | __shmctl | Performs control operations on a shared memory segment (macOS-specific). |
|
264 | shmdt | Detaches a shared memory segment from the process's address space. |
|
265 | shmget | Creates a shared memory segment or accesses an existing one. |
|
266 | __shm_open | Opens a shared memory object (macOS-specific). |
|
267 | shm_unlink | Unlinks (removes) a shared memory object (macOS-specific). |
|
268 | __sem_open | Opens a named semaphore (macOS-specific). |
|
269 | sem_close | Closes a semaphore (opened by |
|
270 | sem_unlink | Unlinks a semaphore (removes it from the system). |
|
271 | sem_wait | Waits for a semaphore to become available. |
|
272 | sem_trywait | Attempts to wait for a semaphore without blocking. |
|
273 | sem_post | Signals a semaphore, waking up any waiting threads. |
|
274 | __sysctlbyname | Retrieves or sets a system parameter by its name (macOS-specific). |
|
277 | __open_extended | Opens a file with extended protections (macOS-specific). |
|
278 | __umask_extended | Sets the file creation mask with extended permissions (macOS-specific). |
|
279 | __stat_extended | Retrieves extended file information (macOS-specific). |
|
280 | __lstat_extended | Retrieves extended information for a symbolic link (macOS-specific). |
|
281 | __fstat_extended | Retrieves extended file status (macOS-specific). |
|
282 | __chmod_extended | Changes file permissions with extended attributes (macOS-specific). |
|
283 | __fchmod_extended | Changes file permissions for a file descriptor with extended attributes (macOS-specific). |
|
284 | __access_extended | Checks file access permissions with extended attributes (macOS-specific). |
|
285 | __settid | Sets the thread ID (macOS-specific). |
|
286 | __gettid | Retrieves the thread ID (macOS-specific). |
|
287 | __setsgroups | Sets supplementary groups for a process (macOS-specific). |
|
288 | __getsgroups | Retrieves supplementary groups for a process (macOS-specific). |
|
289 | __setwgroups | Sets the groups for a process (macOS-specific). |
|
290 | __getwgroups | Retrieves the "wide" groups for a process (macOS-specific). |
|
291 | __mkfifo_extended | Creates a FIFO (named pipe) with extended attributes (macOS-specific). |
|
292 | __mkdir_extended | Creates a directory with extended attributes (macOS-specific). |
|
293 | __identitysvc | Provides identity services (macOS-specific). |
|
294 | __shared_region_check_np | Checks the shared region of memory (macOS-specific). |
|
296 | vm_pressure_monitor | Monitors memory pressure in the virtual machine (macOS-specific). |
|
297 | __psynch_rw_longrdlock | Acquires a long read lock on a resource (macOS-specific). |
|
298 | __psynch_rw_yieldwrlock | Yields a write lock on a resource (macOS-specific). |
|
299 | __psynch_rw_downgrade | Downgrades a read-write lock to a read lock (macOS-specific). |
|
300 | __psynch_rw_upgrade | Upgrades a read lock to a read-write lock (macOS-specific). |
|
301 | __psynch_mutexwait | Waits for a mutex (macOS-specific). |
|
302 | __psynch_mutexdrop | Drops a mutex (macOS-specific). |
|
303 | __psynch_cvbroad | Broadcasts a condition variable (macOS-specific). |
|
304 | __psynch_cvsignal | Signals a condition variable (macOS-specific). |
|
305 | __psynch_cvwait | Waits for a condition variable (macOS-specific). |
|
306 | __psynch_rw_rdlock | Acquires a read lock on a resource (macOS-specific). |
|
307 | __psynch_rw_wrlock | Acquires a write lock on a resource (macOS-specific). |
|
308 | __psynch_rw_unlock | Unlocks a read-write lock on a resource (macOS-specific). |
|
309 | __psynch_rw_unlock2 | Unlocks a read-write lock on a resource (macOS-specific). |
|
310 | getsid | Retrieves the session ID for the calling process. |
|
311 | __settid_with_pid | Sets the thread ID with a given PID (macOS-specific). |
|
312 | __psynch_cvclrprepost | Clears a condition variable's pre-post state (macOS-specific). |
|
313 | aio_fsync | Performs an asynchronous file synchronization. |
|
314 | aio_return | Retrieves the result of an asynchronous I/O operation. |
|
315 | aio_suspend | Suspends the calling thread until one or more asynchronous I/O operations complete. |
|
316 | aio_cancel | Cancels an ongoing asynchronous I/O operation. |
|
317 | aio_error | Returns the error status for an asynchronous I/O operation. |
|
318 | aio_read | Performs an asynchronous read operation. |
|
319 | aio_write | Performs an asynchronous write operation. |
|
320 | lio_listio | Initiates a list of asynchronous I/O operations. |
|
322 | __iopolicysys | Performs a system operation related to I/O policies (macOS-specific). |
|
323 | __process_policy | Manages process policies (macOS-specific). |
|
324 | mlockall | Locks all pages in the process’s memory into RAM. |
|
325 | munlockall | Unlocks all pages previously locked into RAM. | |
327 | issetugid | Checks if the calling process is in a user group (macOS-specific). | |
328 | __pthread_kill | Sends a signal to a specific thread (macOS-specific). |
|
329 | __pthread_sigmask | Blocks or unblocks signals for a specific thread (macOS-specific). |
|
330 | __sigwait | Waits for a signal to be delivered to the calling process (macOS-specific). |
|
331 | __disable_threadsignal | Disables thread signals (macOS-specific). | |
332 | __pthread_markcancel | Marks a thread as canceled (macOS-specific). | |
333 | __pthread_canceled | Checks if a thread was canceled (macOS-specific). | |
334 | __semwait_signal | Waits for a semaphore to signal (macOS-specific). |
|
336 | __proc_info | Retrieves information about a process (macOS-specific). |
|
337 | sendfile | Sends a file over a socket or to another process. |
|
338 | stat | Retrieves file status information (e.g., size, timestamps). |
|
339 | fstat | Retrieves status information for a file referred to by a file descriptor. |
|
340 | lstat | Retrieves file status information for a symbolic link. |
|
341 | __stat64_extended | Retrieves extended file status information (macOS-specific). |
|
342 | __lstat64_extended | Retrieves extended information for a symbolic link (macOS-specific). |
|
343 | __fstat64_extended | Retrieves extended file status (macOS-specific). |
|
344 | __getdirentries64 | Retrieves the directory entries for a directory in a 64-bit environment. |
|
345 | statfs | Retrieves file system statistics (e.g., space available, file count). |
|
346 | fstatfs | Retrieves file system statistics for a file descriptor. |
|
347 | getfsstat | Retrieves the file system status for all mounted file systems. |
|
348 | __pthread_chdir | Changes the directory in a thread (macOS-specific). |
|
349 | __pthread_fchdir | Changes the directory using a file descriptor in a thread (macOS-specific). |
|
350 | audit | Begins an audit session for a process. |
|
351 | auditon | Configures audit session settings. |
|
353 | getauid | Retrieves the audit user ID for the current session. |
|
354 | setauid | Sets the audit user ID for the current session. |
|
357 | getaudit_addr | Retrieves the address for the current audit session. |
|
358 | setaudit_addr | Sets the address for the current audit session. |
|
359 | auditctl | Controls audit settings, such as enabling or disabling auditing. |
|
360 | __bsdthread_create | Creates a new BSD thread (macOS-specific). |
|
361 | __bsdthread_terminate | Terminates a BSD thread (macOS-specific). |
|
362 | kqueue | Creates a new event queue for monitoring events in the system. |
|
363 | kevent | Waits for and returns events from an event queue. |
|
364 | __lchown | Changes the ownership of a file or directory by path (macOS-specific). |
|
365 | __stack_snapshot | Creates a snapshot of the process's stack for debugging (macOS-specific). |
|
366 | __bsdthread_register | Registers a BSD thread (macOS-specific). |
|
367 | __workq_open | Opens a work queue (macOS-specific). |
|
368 | __workq_kernreturn | Performs a work queue operation at the kernel level (macOS-specific). |
|
369 | kevent64 | Creates a 64-bit event queue and handles larger event sets (macOS-specific). |
|
370 | __old_semwait_signal | Waits for a semaphore signal using an old syscall interface (macOS-specific). |
|
371 | ____old_semwait_signal_nocancel | Non-cancelable version of |
|
372 | __thread_selfid | Retrieves the unique thread ID (macOS-specific). |
|
373 | ledger | Manages a ledger, used for tracking resource usage (macOS-specific). |
|
374 | kevent_qos | Handles events with Quality of Service (QoS) in macOS (macOS-specific). |
|
380 | __mac_execve | Executes a program with macOS security checks (macOS-specific). |
|
381 | __mac_syscall | A system call wrapper for macOS security policies (macOS-specific). |
|
382 | __mac_get_file | Retrieves macOS security information for a file (macOS-specific). |
|
383 | __mac_set_file | Sets macOS security information for a file (macOS-specific). |
|
384 | __mac_get_link | Retrieves macOS security information for a symbolic link (macOS-specific). |
|
385 | __mac_set_link | Sets macOS security information for a symbolic link (macOS-specific). |
|
386 | __mac_get_proc | Retrieves macOS security information for a process (macOS-specific). |
|
387 | __mac_set_proc | Sets macOS security information for a process (macOS-specific). |
|
388 | __mac_get_fd | Retrieves macOS security information for a file descriptor (macOS-specific). |
|
389 | __mac_set_fd | Sets macOS security information for a file descriptor (macOS-specific). |
|
390 | __mac_get_pid | Retrieves macOS security information for a process by PID (macOS-specific). |
|
396 | __read_nocancel | Reads data from a file descriptor, non-cancelable version (macOS-specific). |
|
397 | __write_nocancel | Writes data to a file descriptor, non-cancelable version (macOS-specific). |
|
398 | __open_nocancel | Opens a file descriptor, non-cancelable version (macOS-specific). |
|
399 | __close_nocancel | Closes a file descriptor, non-cancelable version (macOS-specific). |
|
400 | __wait4_nocancel | Waits for a child process, non-cancelable version (macOS-specific). |
|
401 | __recvmsg_nocancel | Receives a message from a socket, non-cancelable version (macOS-specific). |
|
402 | __sendmsg_nocancel | Sends a message over a socket, non-cancelable version (macOS-specific). |
|
403 | __recvfrom_nocancel | Receives data from a socket, non-cancelable version (macOS-specific). |
|
404 | __accept_nocancel | Accepts a connection on a socket, non-cancelable version (macOS-specific). |
|
405 | __msync_nocancel | Synchronizes file data to disk, non-cancelable version (macOS-specific). |
|
406 | __fcntl_nocancel | Performs a file control operation, non-cancelable version (macOS-specific). |
|
407 | __select_nocancel | Waits for file descriptors to be ready for I/O, non-cancelable version (macOS-specific). |
|
408 | __fsync_nocancel | Forces file data to synchronize to disk, non-cancelable version (macOS-specific). |
|
409 | __connect_nocancel | Initiates a socket connection, non-cancelable version (macOS-specific). |
|
410 | __sigsuspend_nocancel | Waits for a signal to be delivered, non-cancelable version (macOS-specific). |
|
411 | __readv_nocancel | Reads data from multiple buffers, non-cancelable version (macOS-specific). |
|
412 | __writev_nocancel | Writes data from multiple buffers, non-cancelable version (macOS-specific). |
|
413 | __sendto_nocancel | Sends data to a socket, non-cancelable version (macOS-specific). |
|
414 | __pread_nocancel | Reads data from a file at a specified offset, non-cancelable version (macOS-specific). |
|
415 | __pwrite_nocancel | Writes data to a file at a specified offset, non-cancelable version (macOS-specific). |
|
416 | __waitid_nocancel | Waits for a child process to change state, non-cancelable version (macOS-specific). |
|
417 | __poll_nocancel | Waits for events on file descriptors, non-cancelable version (macOS-specific). |
|
418 | __msgsnd_nocancel | Sends a message to a message queue, non-cancelable version (macOS-specific). |
|
419 | __msgrcv_nocancel | Receives a message from a message queue, non-cancelable version (macOS-specific). |
|
420 | __sem_wait_nocancel | Waits for a semaphore, non-cancelable version (macOS-specific). |
|
421 | __aio_suspend_nocancel | Suspends asynchronous I/O operations, non-cancelable version (macOS-specific). |
|
422 | ____sigwait_nocancel | Waits for a signal to be delivered, non-cancelable version (macOS-specific). |
|
423 | __semwait_signal_nocancel | Waits for a semaphore to signal, non-cancelable version (macOS-specific). |
|
424 | __mac_mount | Performs a mount operation with macOS-specific security checks. |
|
425 | __mac_get_mount | Retrieves macOS-specific mount information. |
|
426 | __mac_getfsstat | Retrieves macOS-specific file system status. |
|
427 | __fsgetpath | Retrieves the file system path for a file (macOS-specific). |
|
428 | audit_session_self | Retrieves information about the current audit session (macOS-specific). |
|
429 | audit_session_join | Joins an existing audit session (macOS-specific). |
|
430 | fileport_makeport | Creates a file port for inter-process communication (macOS-specific). |
|
431 | fileport_makefd | Creates a file port from a file descriptor (macOS-specific). |
|
432 | audit_session_port | Retrieves the port for an audit session (macOS-specific). |
|
433 | pid_suspend | Suspends the execution of a process (macOS-specific). |
|
434 | pid_resume | Resumes the execution of a suspended process (macOS-specific). |
|
435 | pid_hibernate | Puts a process into hibernation mode (macOS-specific). |
|
436 | pid_shutdown_sockets | Shuts down sockets in a process (macOS-specific). |
|
438 | __shared_region_map_and_slide_np | Maps and slides a shared region in memory (macOS-specific). |
|
439 | kas_info | Retrieves information about the kernel address space (macOS-specific). |
|
440 | memorystatus_control | Controls memory status settings for processes (macOS-specific). |
|
441 | __guarded_open_np | Opens a file with guarded access (macOS-specific). |
|
442 | guarded_close_np | Closes a file with guarded access (macOS-specific). |
|
443 | guarded_kqueue_np | Performs a kqueue operation with guarded access (macOS-specific). |
|
444 | change_fdguard_np | Changes the file descriptor guard (macOS-specific). |
|
446 | proc_rlimit_control | Controls process resource limits (macOS-specific). |
|
447 | connectx | Establishes a connection over a socket using extended parameters (macOS-specific). |
|
448 | disconnectx | Disconnects from a socket using extended parameters (macOS-specific). |
|
449 | peeloff | Peels off a socket from a specific connection (macOS-specific). |
|
450 | socket_delegate | Delegates a socket for system-wide use (macOS-specific). |
|
451 | __telemetry | Performs telemetry-related operations (macOS-specific). |
|
452 | proc_uuid_policy | Manages process UUID policies (macOS-specific). |
|
453 | memorystatus_get_level | Retrieves the memory status level for a process (macOS-specific). |
|
454 | system_override | Overrides system settings (macOS-specific). |
|
455 | vfs_purge | Purges data from the virtual file system (macOS-specific). |
|
456 | __sfi_ctl | Controls the Secure File Integrity (SFI) system (macOS-specific). |
|
457 | __sfi_pidctl | Controls Secure File Integrity (SFI) for a specific PID (macOS-specific). |
|
458 | __coalition | Manages system resource coalitions (macOS-specific). |
|
459 | __coalition_info | Retrieves information about a system resource coalition (macOS-specific). |
|
460 | necp_match_policy | Matches network extension control policies (macOS-specific). |
|
461 | getattrlistbulk | Retrieves multiple file attributes in bulk (macOS-specific). |
|
463 | __openat | Opens a file relative to a directory file descriptor (macOS-specific). |
|
464 | __openat_nocancel | Opens a file relative to a directory file descriptor, non-cancelable (macOS-specific). |
|
465 | __renameat | Renames a file relative to a directory file descriptor (macOS-specific). |
|
466 | faccessat | Checks file access permissions relative to a directory file descriptor (macOS-specific). |
|
467 | fchmodat | Changes file permissions relative to a directory file descriptor (macOS-specific). |
|
468 | fchownat | Changes file ownership relative to a directory file descriptor (macOS-specific). |
|
470 | fstatat | Retrieves file status relative to a directory file descriptor (macOS-specific). |
|
471 | linkat | Creates a hard link relative to a directory file descriptor (macOS-specific). |
|
472 | __unlinkat | Deletes a file relative to a directory file descriptor (macOS-specific). |
|
473 | readlinkat | Reads a symbolic link relative to a directory file descriptor (macOS-specific). |
|
474 | symlinkat | Creates a symbolic link relative to a directory file descriptor (macOS-specific). |
|