package darwin unix_offset_syscall :: proc(number: System_Call_Number) -> uintptr { return uintptr(number) + uintptr(0x2000000) } System_Call_Number :: enum uintptr { /* 0 syscall */ exit = 1, fork = 2, read = 3, write = 4, open = 5, close = 6, wait4 = 7, /* 8 old creat */ link = 9, unlink = 10, /* 11 old execv */ chdir = 12, fchdir = 13, mknod = 14, chmod = 15, chown = 16, /* 17 old break */ getfsstat = 18, /* 19 old lseek */ getpid = 20, /* 21 old mount */ /* 22 old umount */ setuid = 23, getuid = 24, geteuid = 25, ptrace = 26, recvmsg = 27, sendmsg = 28, recvfrom = 29, accept = 30, getpeername = 31, getsockname = 32, access = 33, chflags = 34, fchflags = 35, sync = 36, kill = 37, /* 38 old stat */ getppid = 39, /* 40 old lstat */ dup = 41, pipe = 42, getegid = 43, /* 44 old profil */ /* 45 old ktrace */ sigaction = 46, getgid = 47, sigprocmask = 48, getlogin = 49, setlogin = 50, acct = 51, sigpending = 52, sigaltstack = 53, ioctl = 54, reboot = 55, revoke = 56, symlink = 57, readlink = 58, execve = 59, umask = 60, chroot = 61, /* 62 old fstat */ /* 63 used internally and reserved */ /* getpagesize = 64, invalid */ msync = 65, vfork = 66, /* 67 old vread */ /* 68 old vwrite */ /* 69 old sbrk */ /* 70 old sstk */ /* 71 old mmap */ /* 72 old vadvise */ munmap = 73, mprotect = 74, madvise = 75, /* 76 old vhangup */ /* 77 old vlimit */ mincore = 78, getgroups = 79, setgroups = 80, getpgrp = 81, setpgid = 82, setitimer = 83, /* 84 old wait */ swapon = 85, getitimer = 86, /* 87 old gethostname */ /* 88 old sethostname */ getdtablesize = 89, dup2 = 90, /* 91 old getdopt */ fcntl = 92, select = 93, /* 94 old setdopt */ fsync = 95, setpriority = 96, socket = 97, connect = 98, /* 99 old accept */ getpriority = 100, /* 101 old send */ /* 102 old recv */ /* 103 old sigreturn */ bind = 104, setsockopt = 105, listen = 106, /* 107 old vtimes */ /* 108 old sigvec */ /* 109 old sigblock */ /* 110 old sigsetmask */ sigsuspend = 111, /* 112 old sigstack */ /* 113 old recvmsg */ /* 114 old sendmsg */ /* 115 old vtrace */ gettimeofday = 116, getrusage = 117, getsockopt = 118, /* 119 old resuba */ readv = 120, writev = 121, settimeofday = 122, fchown = 123, fchmod = 124, /* 125 old recvfrom */ setreuid = 126, setregid = 127, rename = 128, /* 129 old truncate */ /* 130 old ftruncate */ flock = 131, mkfifo = 132, sendto = 133, shutdown = 134, socketpair = 135, mkdir = 136, rmdir = 137, utimes = 138, futimes = 139, adjtime = 140, /* 141 old getpeername */ gethostuuid = 142, /* 143 old sethostid */ /* 144 old getrlimit */ /* 145 old setrlimit */ /* 146 old killpg */ setsid = 147, /* 148 old setquota */ /* 149 old qquota */ /* 150 old getsockname */ getpgid = 151, setprivexec = 152, pread = 153, pwrite = 154, nfssvc = 155, /* 156 old getdirentries */ statfs = 157, fstatfs = 158, unmount = 159, /* 160 old async_daemon */ getfh = 161, /* 162 old getdomainname */ /* 163 old setdomainname */ /* 164 */ quotactl = 165, /* 166 old exportfs */ mount = 167, /* 168 old ustat */ csops = 169, csops_audittoken = 170, /* 171 old wait3 */ /* 172 old rpause */ waitid = 173, /* 174 old getdents */ /* 175 old gc_control */ /* 176 old add_profil */ kdebug_typefilter = 177, kdebug_trace_string = 178, kdebug_trace64 = 179, kdebug_trace = 180, setgid = 181, setegid = 182, seteuid = 183, sigreturn = 184, /* 185 old chud */ thread_selfcounts = 186, fdatasync = 187, stat = 188, fstat = 189, lstat = 190, pathconf = 191, fpathconf = 192, /* 193 old getfsstat */ getrlimit = 194, setrlimit = 195, getdirentries = 196, mmap = 197, /* 198 old __syscall */ lseek = 199, truncate = 200, ftruncate = 201, sysctl = 202, mlock = 203, munlock = 204, undelete = 205, /* 206 old ATsocket */ /* 207 old ATgetmsg */ /* 208 old ATputmsg */ /* 209 old ATsndreq */ /* 210 old ATsndrsp */ /* 211 old ATgetreq */ /* 212 old ATgetrsp */ /* 213 Reserved for AppleTalk */ /* 214 */ /* 215 */ open_dprotected_np = 216, fsgetpath_ext = 217, /* 218 old lstatv */ /* 219 old fstatv */ getattrlist = 220, setattrlist = 221, getdirentriesattr = 222, exchangedata = 223, /* 224 old checkuseraccess or fsgetpath */ searchfs = 225, delete = 226, copyfile = 227, fgetattrlist = 228, fsetattrlist = 229, poll = 230, /* 231 old watchevent */ /* 232 old waitevent */ /* 233 old modwatch */ getxattr = 234, fgetxattr = 235, setxattr = 236, fsetxattr = 237, removexattr = 238, fremovexattr = 239, listxattr = 240, flistxattr = 241, fsctl = 242, initgroups = 243, posix_spawn = 244, ffsctl = 245, /* 246 */ nfsclnt = 247, fhopen = 248, /* 249 */ minherit = 250, semsys = 251, msgsys = 252, shmsys = 253, semctl = 254, semget = 255, semop = 256, /* 257 old semconfig */ msgctl = 258, msgget = 259, msgsnd = 260, msgrcv = 261, shmat = 262, shmctl = 263, shmdt = 264, shmget = 265, shm_open = 266, shm_unlink = 267, sem_open = 268, sem_close = 269, sem_unlink = 270, sem_wait = 271, sem_trywait = 272, sem_post = 273, sysctlbyname = 274, /* 275 old sem_init */ /* 276 old sem_destroy */ open_extended = 277, umask_extended = 278, stat_extended = 279, lstat_extended = 280, fstat_extended = 281, chmod_extended = 282, fchmod_extended = 283, access_extended = 284, settid = 285, gettid = 286, setsgroups = 287, getsgroups = 288, setwgroups = 289, getwgroups = 290, mkfifo_extended = 291, mkdir_extended = 292, identitysvc = 293, shared_region_check_np = 294, /* 295 old shared_region_map_np */ vm_pressure_monitor = 296, psynch_rw_longrdlock = 297, psynch_rw_yieldwrlock = 298, psynch_rw_downgrade = 299, psynch_rw_upgrade = 300, psynch_mutexwait = 301, psynch_mutexdrop = 302, psynch_cvbroad = 303, psynch_cvsignal = 304, psynch_cvwait = 305, psynch_rw_rdlock = 306, psynch_rw_wrlock = 307, psynch_rw_unlock = 308, psynch_rw_unlock2 = 309, getsid = 310, settid_with_pid = 311, psynch_cvclrprepost = 312, aio_fsync = 313, aio_return = 314, aio_suspend = 315, aio_cancel = 316, aio_error = 317, aio_read = 318, aio_write = 319, lio_listio = 320, /* 321 old __pthread_cond_wait */ iopolicysys = 322, process_policy = 323, mlockall = 324, munlockall = 325, /* 326 */ issetugid = 327, __pthread_kill = 328, __pthread_sigmask = 329, __sigwait = 330, __disable_threadsignal = 331, __pthread_markcancel = 332, __pthread_canceled = 333, __semwait_signal = 334, /* 335 old utrace */ proc_info = 336, sendfile = 337, stat64 = 338, fstat64 = 339, lstat64 = 340, stat64_extended = 341, lstat64_extended = 342, fstat64_extended = 343, getdirentries64 = 344, statfs64 = 345, fstatfs64 = 346, getfsstat64 = 347, __pthread_chdir = 348, __pthread_fchdir = 349, audit = 350, auditon = 351, /* 352 */ getauid = 353, setauid = 354, /* 355 old getaudit */ /* 356 old setaudit */ getaudit_addr = 357, setaudit_addr = 358, auditctl = 359, bsdthread_create = 360, bsdthread_terminate = 361, kqueue = 362, kevent = 363, lchown = 364, /* 365 old stack_snapshot */ bsdthread_register = 366, workq_open = 367, workq_kernreturn = 368, kevent64 = 369, __old_semwait_signal = 370, __old_semwait_signal_nocancel = 371, thread_selfid = 372, ledger = 373, kevent_qos = 374, kevent_id = 375, /* 376 */ /* 377 */ /* 378 */ /* 379 */ __mac_execve = 380, __mac_syscall = 381, __mac_get_file = 382, __mac_set_file = 383, __mac_get_link = 384, __mac_set_link = 385, __mac_get_proc = 386, __mac_set_proc = 387, __mac_get_fd = 388, __mac_set_fd = 389, __mac_get_pid = 390, /* 391 */ /* 392 */ /* 393 */ pselect = 394, pselect_nocancel = 395, read_nocancel = 396, write_nocancel = 397, open_nocancel = 398, close_nocancel = 399, wait4_nocancel = 400, recvmsg_nocancel = 401, sendmsg_nocancel = 402, recvfrom_nocancel = 403, accept_nocancel = 404, msync_nocancel = 405, fcntl_nocancel = 406, select_nocancel = 407, fsync_nocancel = 408, connect_nocancel = 409, sigsuspend_nocancel = 410, readv_nocancel = 411, writev_nocancel = 412, sendto_nocancel = 413, pread_nocancel = 414, pwrite_nocancel = 415, waitid_nocancel = 416, poll_nocancel = 417, msgsnd_nocancel = 418, msgrcv_nocancel = 419, sem_wait_nocancel = 420, aio_suspend_nocancel = 421, __sigwait_nocancel = 422, __semwait_signal_nocancel = 423, __mac_mount = 424, __mac_get_mount = 425, __mac_getfsstat = 426, fsgetpath = 427, audit_session_self = 428, audit_session_join = 429, fileport_makeport = 430, fileport_makefd = 431, audit_session_port = 432, pid_suspend = 433, pid_resume = 434, pid_hibernate = 435, pid_shutdown_sockets = 436, /* 437 old shared_region_slide_np */ shared_region_map_and_slide_np = 438, kas_info = 439, memorystatus_control = 440, guarded_open_np = 441, guarded_close_np = 442, guarded_kqueue_np = 443, change_fdguard_np = 444, usrctl = 445, proc_rlimit_control = 446, connectx = 447, disconnectx = 448, peeloff = 449, socket_delegate = 450, telemetry = 451, proc_uuid_policy = 452, memorystatus_get_level = 453, system_override = 454, vfs_purge = 455, sfi_ctl = 456, sfi_pidctl = 457, coalition = 458, coalition_info = 459, necp_match_policy = 460, getattrlistbulk = 461, clonefileat = 462, openat = 463, openat_nocancel = 464, renameat = 465, faccessat = 466, fchmodat = 467, fchownat = 468, fstatat = 469, fstatat64 = 470, linkat = 471, unlinkat = 472, readlinkat = 473, symlinkat = 474, mkdirat = 475, getattrlistat = 476, proc_trace_log = 477, bsdthread_ctl = 478, openbyid_np = 479, recvmsg_x = 480, sendmsg_x = 481, thread_selfusage = 482, csrctl = 483, guarded_open_dprotected_np = 484, guarded_write_np = 485, guarded_pwrite_np = 486, guarded_writev_np = 487, renameatx_np = 488, mremap_encrypted = 489, netagent_trigger = 490, stack_snapshot_with_config = 491, microstackshot = 492, grab_pgo_data = 493, persona = 494, /* 495 */ mach_eventlink_signal = 496, mach_eventlink_wait_until = 497, mach_eventlink_signal_wait_until = 498, work_interval_ctl = 499, getentropy = 500, necp_open = 501, necp_client_action = 502, nexus_open = 503, // for those who are intressted http://newosxbook.com/bonus/vol1ch16.html nexus_register = 504, nexus_deregister = 505, nexus_create = 506, nexus_destroy = 507, nexus_get_opt = 508, nexus_set_opt = 509, channel_open = 510, channel_get_info = 511, channel_sync = 512, channel_get_opt = 513, channel_set_opt = 514, ulock_wait = 515, ulock_wake = 516, fclonefileat = 517, fs_snapshot = 518, register_uexc_handler = 519, terminate_with_payload = 520, abort_with_payload = 521, necp_session_open = 522, necp_session_action = 523, setattrlistat = 524, net_qos_guideline = 525, fmount = 526, ntp_adjtime = 527, ntp_gettime = 528, os_fault_with_payload = 529, kqueue_workloop_ctl = 530, mach_bridge_remote_time = 531, coalition_ledger = 532, log_data = 533, memorystatus_available_memory = 534, objc_bp_assist_cfg_np = 535, shared_region_map_and_slide_2_np = 536, pivot_root = 537, task_inspect_for_pid = 538, task_read_for_pid = 539, preadv = 540, pwritev = 541, preadv_nocancel = 542, pwritev_nocancel = 543, ulock_wait2 = 544, proc_info_extended_id = 545, tracker_action = 546, debug_syscall_reject = 547, MAXSYSCALL = 548, /* invalid = 63, */ }