1 /*
2  * Geario - A cross-platform abstraction library with asynchronous I/O.
3  *
4  * Copyright (C) 2021-2022 Kerisy.com
5  *
6  * Website: https://www.kerisy.com
7  *
8  * Licensed under the Apache-2.0 License.
9  *
10  */
11 
12 module geario.system.syscall.os.OSX;
13 
14 version(OSX):
15 
16 enum SYS_syscall = 0;
17 enum SYS_exit = 1;
18 enum SYS_fork = 2;
19 enum SYS_read = 3;
20 enum SYS_write = 4;
21 enum SYS_open = 5;
22 enum SYS_close = 6;
23 enum SYS_wait4 = 7;
24                         /* 8  old creat */
25 enum SYS_link = 9;
26 enum SYS_unlink = 10;
27                         /* 11  old execv */
28 enum SYS_chdir = 12;
29 enum SYS_fchdir = 13;
30 enum SYS_mknod = 14;
31 enum SYS_chmod = 15;
32 enum SYS_chown = 16;
33                         /* 17  old break */
34 enum SYS_getfsstat = 18;
35                         /* 19  old lseek */
36 enum SYS_getpid = 20;
37                         /* 21  old mount */
38                         /* 22  old umount */
39 enum SYS_setuid = 23;
40 enum SYS_getuid = 24;
41 enum SYS_geteuid = 25;
42 enum SYS_ptrace = 26;
43 enum SYS_recvmsg = 27;
44 enum SYS_sendmsg = 28;
45 enum SYS_recvfrom = 29;
46 enum SYS_accept = 30;
47 enum SYS_getpeername = 31;
48 enum SYS_getsockname = 32;
49 enum SYS_access = 33;
50 enum SYS_chflags = 34;
51 enum SYS_fchflags = 35;
52 enum SYS_sync = 36;
53 enum SYS_kill = 37;
54                         /* 38  old stat */
55 enum SYS_getppid = 39;
56                         /* 40  old lstat */
57 enum SYS_dup = 41;
58 enum SYS_pipe = 42;
59 enum SYS_getegid = 43;
60                         /* 44  old profil */
61                         /* 45  old ktrace */
62 enum SYS_sigaction = 46;
63 enum SYS_getgid = 47;
64 enum SYS_sigprocmask = 48;
65 enum SYS_getlogin = 49;
66 enum SYS_setlogin = 50;
67 enum SYS_acct = 51;
68 enum SYS_sigpending = 52;
69 enum SYS_sigaltstack = 53;
70 enum SYS_ioctl = 54;
71 enum SYS_reboot = 55;
72 enum SYS_revoke = 56;
73 enum SYS_symlink = 57;
74 enum SYS_readlink = 58;
75 enum SYS_execve = 59;
76 enum SYS_umask = 60;
77 enum SYS_chroot = 61;
78                         /* 62  old fstat */
79                         /* 63  used internally and reserved */
80                         /* 64  old getpagesize */
81 enum SYS_msync = 65;
82 enum SYS_vfork = 66;
83                         /* 67  old vread */
84                         /* 68  old vwrite */
85                         /* 69  old sbrk */
86                         /* 70  old sstk */
87                         /* 71  old mmap */
88                         /* 72  old vadvise */
89 enum SYS_munmap = 73;
90 enum SYS_mprotect = 74;
91 enum SYS_madvise = 75;
92                         /* 76  old vhangup */
93                         /* 77  old vlimit */
94 enum SYS_mincore = 78;
95 enum SYS_getgroups = 79;
96 enum SYS_setgroups = 80;
97 enum SYS_getpgrp = 81;
98 enum SYS_setpgid = 82;
99 enum SYS_setitimer = 83;
100                         /* 84  old wait */
101 enum SYS_swapon = 85;
102 enum SYS_getitimer = 86;
103                         /* 87  old gethostname */
104                         /* 88  old sethostname */
105 enum SYS_getdtablesize = 89;
106 enum SYS_dup2 = 90;
107                         /* 91  old getdopt */
108 enum SYS_fcntl = 92;
109 enum SYS_select = 93;
110                         /* 94  old setdopt */
111 enum SYS_fsync = 95;
112 enum SYS_setpriority = 96;
113 enum SYS_socket = 97;
114 enum SYS_connect = 98;
115                         /* 99  old accept */
116 enum SYS_getpriority = 100;
117                         /* 101  old send */
118                         /* 102  old recv */
119                         /* 103  old sigreturn */
120 enum SYS_bind = 104;
121 enum SYS_setsockopt = 105;
122 enum SYS_listen = 106;
123                         /* 107  old vtimes */
124                         /* 108  old sigvec */
125                         /* 109  old sigblock */
126                         /* 110  old sigsetmask */
127 enum SYS_sigsuspend = 111;
128                         /* 112  old sigstack */
129                         /* 113  old recvmsg */
130                         /* 114  old sendmsg */
131                         /* 115  old vtrace */
132 enum SYS_gettimeofday = 116;
133 enum SYS_getrusage = 117;
134 enum SYS_getsockopt = 118;
135                         /* 119  old resuba */
136 enum SYS_readv = 120;
137 enum SYS_writev = 121;
138 enum SYS_settimeofday = 122;
139 enum SYS_fchown = 123;
140 enum SYS_fchmod = 124;
141                         /* 125  old recvfrom */
142 enum SYS_setreuid = 126;
143 enum SYS_setregid = 127;
144 enum SYS_rename = 128;
145                         /* 129  old truncate */
146                         /* 130  old ftruncate */
147 enum SYS_flock = 131;
148 enum SYS_mkfifo = 132;
149 enum SYS_sendto = 133;
150 enum SYS_shutdown = 134;
151 enum SYS_socketpair = 135;
152 enum SYS_mkdir = 136;
153 enum SYS_rmdir = 137;
154 enum SYS_utimes = 138;
155 enum SYS_futimes = 139;
156 enum SYS_adjtime = 140;
157                         /* 141  old getpeername */
158 enum SYS_gethostuuid = 142;
159                         /* 143  old sethostid */
160                         /* 144  old getrlimit */
161                         /* 145  old setrlimit */
162                         /* 146  old killpg */
163 enum SYS_setsid = 147;
164                         /* 148  old setquota */
165                         /* 149  old qquota */
166                         /* 150  old getsockname */
167 enum SYS_getpgid = 151;
168 enum SYS_setprivexec = 152;
169 enum SYS_pread = 153;
170 enum SYS_pwrite = 154;
171 enum SYS_nfssvc = 155;
172                         /* 156  old getdirentries */
173 enum SYS_statfs = 157;
174 enum SYS_fstatfs = 158;
175 enum SYS_unmount = 159;
176                         /* 160  old async_daemon */
177 enum SYS_getfh = 161;
178                         /* 162  old getdomainname */
179                         /* 163  old setdomainname */
180                         /* 164  */
181 enum SYS_quotactl = 165;
182                         /* 166  old exportfs */
183 enum SYS_mount = 167;
184                         /* 168  old ustat */
185 enum SYS_csops = 169;
186 enum SYS_csops_audittoken = 170;
187                         /* 171  old wait3 */
188                         /* 172  old rpause */
189 enum SYS_waitid = 173;
190                         /* 174  old getdents */
191                         /* 175  old gc_control */
192                         /* 176  old add_profil */
193 enum SYS_kdebug_typefilter = 177;
194 enum SYS_kdebug_trace_string = 178;
195 enum SYS_kdebug_trace64 = 179;
196 enum SYS_kdebug_trace = 180;
197 enum SYS_setgid = 181;
198 enum SYS_setegid = 182;
199 enum SYS_seteuid = 183;
200 enum SYS_sigreturn = 184;
201                         /* 185  old chud */
202 enum SYS_thread_selfcounts = 186;
203 enum SYS_fdatasync = 187;
204 enum SYS_stat = 188;
205 enum SYS_fstat = 189;
206 enum SYS_lstat = 190;
207 enum SYS_pathconf = 191;
208 enum SYS_fpathconf = 192;
209                         /* 193  old getfsstat */
210 enum SYS_getrlimit = 194;
211 enum SYS_setrlimit = 195;
212 enum SYS_getdirentries = 196;
213 enum SYS_mmap = 197;
214                         /* 198  old __syscall */
215 enum SYS_lseek = 199;
216 enum SYS_truncate = 200;
217 enum SYS_ftruncate = 201;
218 enum SYS_sysctl = 202;
219 enum SYS_mlock = 203;
220 enum SYS_munlock = 204;
221 enum SYS_undelete = 205;
222                         /* 206  old ATsocket */
223                         /* 207  old ATgetmsg */
224                         /* 208  old ATputmsg */
225                         /* 209  old ATsndreq */
226                         /* 210  old ATsndrsp */
227                         /* 211  old ATgetreq */
228                         /* 212  old ATgetrsp */
229                         /* 213  Reserved for AppleTalk */
230                         /* 214  */
231                         /* 215  */
232 enum SYS_open_dprotected_np = 216;
233                         /* 217  old statv */
234                         /* 218  old lstatv */
235                         /* 219  old fstatv */
236 enum SYS_getattrlist = 220;
237 enum SYS_setattrlist = 221;
238 enum SYS_getdirentriesattr = 222;
239 enum SYS_exchangedata = 223;
240                         /* 224  old checkuseraccess or fsgetpath */
241 enum SYS_searchfs = 225;
242 enum SYS_delete = 226;
243 enum SYS_copyfile = 227;
244 enum SYS_fgetattrlist = 228;
245 enum SYS_fsetattrlist = 229;
246 enum SYS_poll = 230;
247 enum SYS_watchevent = 231;
248 enum SYS_waitevent = 232;
249 enum SYS_modwatch = 233;
250 enum SYS_getxattr = 234;
251 enum SYS_fgetxattr = 235;
252 enum SYS_setxattr = 236;
253 enum SYS_fsetxattr = 237;
254 enum SYS_removexattr = 238;
255 enum SYS_fremovexattr = 239;
256 enum SYS_listxattr = 240;
257 enum SYS_flistxattr = 241;
258 enum SYS_fsctl = 242;
259 enum SYS_initgroups = 243;
260 enum SYS_posix_spawn = 244;
261 enum SYS_ffsctl = 245;
262                         /* 246  */
263 enum SYS_nfsclnt = 247;
264 enum SYS_fhopen = 248;
265                         /* 249  */
266 enum SYS_minherit = 250;
267 enum SYS_semsys = 251;
268 enum SYS_msgsys = 252;
269 enum SYS_shmsys = 253;
270 enum SYS_semctl = 254;
271 enum SYS_semget = 255;
272 enum SYS_semop = 256;
273                         /* 257  old semconfig */
274 enum SYS_msgctl = 258;
275 enum SYS_msgget = 259;
276 enum SYS_msgsnd = 260;
277 enum SYS_msgrcv = 261;
278 enum SYS_shmat = 262;
279 enum SYS_shmctl = 263;
280 enum SYS_shmdt = 264;
281 enum SYS_shmget = 265;
282 enum SYS_shm_open = 266;
283 enum SYS_shm_unlink = 267;
284 enum SYS_sem_open = 268;
285 enum SYS_sem_close = 269;
286 enum SYS_sem_unlink = 270;
287 enum SYS_sem_wait = 271;
288 enum SYS_sem_trywait = 272;
289 enum SYS_sem_post = 273;
290 enum SYS_sysctlbyname = 274;
291                         /* 275  old sem_init */
292                         /* 276  old sem_destroy */
293 enum SYS_open_extended = 277;
294 enum SYS_umask_extended = 278;
295 enum SYS_stat_extended = 279;
296 enum SYS_lstat_extended = 280;
297 enum SYS_fstat_extended = 281;
298 enum SYS_chmod_extended = 282;
299 enum SYS_fchmod_extended = 283;
300 enum SYS_access_extended = 284;
301 enum SYS_settid = 285;
302 enum SYS_gettid = 286;
303 enum SYS_setsgroups = 287;
304 enum SYS_getsgroups = 288;
305 enum SYS_setwgroups = 289;
306 enum SYS_getwgroups = 290;
307 enum SYS_mkfifo_extended = 291;
308 enum SYS_mkdir_extended = 292;
309 enum SYS_identitysvc = 293;
310 enum SYS_shared_region_check_np = 294;
311                         /* 295  old shared_region_map_np */
312 enum SYS_vm_pressure_monitor = 296;
313 enum SYS_psynch_rw_longrdlock = 297;
314 enum SYS_psynch_rw_yieldwrlock = 298;
315 enum SYS_psynch_rw_downgrade = 299;
316 enum SYS_psynch_rw_upgrade = 300;
317 enum SYS_psynch_mutexwait = 301;
318 enum SYS_psynch_mutexdrop = 302;
319 enum SYS_psynch_cvbroad = 303;
320 enum SYS_psynch_cvsignal = 304;
321 enum SYS_psynch_cvwait = 305;
322 enum SYS_psynch_rw_rdlock = 306;
323 enum SYS_psynch_rw_wrlock = 307;
324 enum SYS_psynch_rw_unlock = 308;
325 enum SYS_psynch_rw_unlock2 = 309;
326 enum SYS_getsid = 310;
327 enum SYS_settid_with_pid = 311;
328 enum SYS_psynch_cvclrprepost = 312;
329 enum SYS_aio_fsync = 313;
330 enum SYS_aio_return = 314;
331 enum SYS_aio_suspend = 315;
332 enum SYS_aio_cancel = 316;
333 enum SYS_aio_error = 317;
334 enum SYS_aio_read = 318;
335 enum SYS_aio_write = 319;
336 enum SYS_lio_listio = 320;
337                         /* 321  old __pthread_cond_wait */
338 enum SYS_iopolicysys = 322;
339 enum SYS_process_policy = 323;
340 enum SYS_mlockall = 324;
341 enum SYS_munlockall = 325;
342                         /* 326  */
343 enum SYS_issetugid = 327;
344 enum SYS___pthread_kill = 328;
345 enum SYS___pthread_sigmask = 329;
346 enum SYS___sigwait = 330;
347 enum SYS___disable_threadsignal = 331;
348 enum SYS___pthread_markcancel = 332;
349 enum SYS___pthread_canceled = 333;
350 enum SYS___semwait_signal = 334;
351                         /* 335  old utrace */
352 enum SYS_proc_info = 336;
353 enum SYS_sendfile = 337;
354 enum SYS_stat64 = 338;
355 enum SYS_fstat64 = 339;
356 enum SYS_lstat64 = 340;
357 enum SYS_stat64_extended = 341;
358 enum SYS_lstat64_extended = 342;
359 enum SYS_fstat64_extended = 343;
360 enum SYS_getdirentries64 = 344;
361 enum SYS_statfs64 = 345;
362 enum SYS_fstatfs64 = 346;
363 enum SYS_getfsstat64 = 347;
364 enum SYS___pthread_chdir = 348;
365 enum SYS___pthread_fchdir = 349;
366 enum SYS_audit = 350;
367 enum SYS_auditon = 351;
368                         /* 352  */
369 enum SYS_getauid = 353;
370 enum SYS_setauid = 354;
371                         /* 355  old getaudit */
372                         /* 356  old setaudit */
373 enum SYS_getaudit_addr = 357;
374 enum SYS_setaudit_addr = 358;
375 enum SYS_auditctl = 359;
376 enum SYS_bsdthread_create = 360;
377 enum SYS_bsdthread_terminate = 361;
378 enum SYS_kqueue = 362;
379 enum SYS_kevent = 363;
380 enum SYS_lchown = 364;
381                         /* 365  old stack_snapshot */
382 enum SYS_bsdthread_register = 366;
383 enum SYS_workq_open = 367;
384 enum SYS_workq_kernreturn = 368;
385 enum SYS_kevent64 = 369;
386 enum SYS___old_semwait_signal = 370;
387 enum SYS___old_semwait_signal_nocancel = 371;
388 enum SYS_thread_selfid = 372;
389 enum SYS_ledger = 373;
390 enum SYS_kevent_qos = 374;
391 enum SYS_kevent_id = 375;
392                         /* 376  */
393                         /* 377  */
394                         /* 378  */
395                         /* 379  */
396 enum SYS___mac_execve = 380;
397 enum SYS___mac_syscall = 381;
398 enum SYS___mac_get_file = 382;
399 enum SYS___mac_set_file = 383;
400 enum SYS___mac_get_link = 384;
401 enum SYS___mac_set_link = 385;
402 enum SYS___mac_get_proc = 386;
403 enum SYS___mac_set_proc = 387;
404 enum SYS___mac_get_fd = 388;
405 enum SYS___mac_set_fd = 389;
406 enum SYS___mac_get_pid = 390;
407                         /* 391  */
408                         /* 392  */
409                         /* 393  */
410 enum SYS_pselect = 394;
411 enum SYS_pselect_nocancel = 395;
412 enum SYS_read_nocancel = 396;
413 enum SYS_write_nocancel = 397;
414 enum SYS_open_nocancel = 398;
415 enum SYS_close_nocancel = 399;
416 enum SYS_wait4_nocancel = 400;
417 enum SYS_recvmsg_nocancel = 401;
418 enum SYS_sendmsg_nocancel = 402;
419 enum SYS_recvfrom_nocancel = 403;
420 enum SYS_accept_nocancel = 404;
421 enum SYS_msync_nocancel = 405;
422 enum SYS_fcntl_nocancel = 406;
423 enum SYS_select_nocancel = 407;
424 enum SYS_fsync_nocancel = 408;
425 enum SYS_connect_nocancel = 409;
426 enum SYS_sigsuspend_nocancel = 410;
427 enum SYS_readv_nocancel = 411;
428 enum SYS_writev_nocancel = 412;
429 enum SYS_sendto_nocancel = 413;
430 enum SYS_pread_nocancel = 414;
431 enum SYS_pwrite_nocancel = 415;
432 enum SYS_waitid_nocancel = 416;
433 enum SYS_poll_nocancel = 417;
434 enum SYS_msgsnd_nocancel = 418;
435 enum SYS_msgrcv_nocancel = 419;
436 enum SYS_sem_wait_nocancel = 420;
437 enum SYS_aio_suspend_nocancel = 421;
438 enum SYS___sigwait_nocancel = 422;
439 enum SYS___semwait_signal_nocancel = 423;
440 enum SYS___mac_mount = 424;
441 enum SYS___mac_get_mount = 425;
442 enum SYS___mac_getfsstat = 426;
443 enum SYS_fsgetpath = 427;
444 enum SYS_audit_session_self = 428;
445 enum SYS_audit_session_join = 429;
446 enum SYS_fileport_makeport = 430;
447 enum SYS_fileport_makefd = 431;
448 enum SYS_audit_session_port = 432;
449 enum SYS_pid_suspend = 433;
450 enum SYS_pid_resume = 434;
451 enum SYS_pid_hibernate = 435;
452 enum SYS_pid_shutdown_sockets = 436;
453                         /* 437  old shared_region_slide_np */
454 enum SYS_shared_region_map_and_slide_np = 438;
455 enum SYS_kas_info = 439;
456 enum SYS_memorystatus_control = 440;
457 enum SYS_guarded_open_np = 441;
458 enum SYS_guarded_close_np = 442;
459 enum SYS_guarded_kqueue_np = 443;
460 enum SYS_change_fdguard_np = 444;
461 enum SYS_usrctl = 445;
462 enum SYS_proc_rlimit_control = 446;
463 enum SYS_connectx = 447;
464 enum SYS_disconnectx = 448;
465 enum SYS_peeloff = 449;
466 enum SYS_socket_delegate = 450;
467 enum SYS_telemetry = 451;
468 enum SYS_proc_uuid_policy = 452;
469 enum SYS_memorystatus_get_level = 453;
470 enum SYS_system_override = 454;
471 enum SYS_vfs_purge = 455;
472 enum SYS_sfi_ctl = 456;
473 enum SYS_sfi_pidctl = 457;
474 enum SYS_coalition = 458;
475 enum SYS_coalition_info = 459;
476 enum SYS_necp_match_policy = 460;
477 enum SYS_getattrlistbulk = 461;
478 enum SYS_clonefileat = 462;
479 enum SYS_openat = 463;
480 enum SYS_openat_nocancel = 464;
481 enum SYS_renameat = 465;
482 enum SYS_faccessat = 466;
483 enum SYS_fchmodat = 467;
484 enum SYS_fchownat = 468;
485 enum SYS_fstatat = 469;
486 enum SYS_fstatat64 = 470;
487 enum SYS_linkat = 471;
488 enum SYS_unlinkat = 472;
489 enum SYS_readlinkat = 473;
490 enum SYS_symlinkat = 474;
491 enum SYS_mkdirat = 475;
492 enum SYS_getattrlistat = 476;
493 enum SYS_proc_trace_log = 477;
494 enum SYS_bsdthread_ctl = 478;
495 enum SYS_openbyid_np = 479;
496 enum SYS_recvmsg_x = 480;
497 enum SYS_sendmsg_x = 481;
498 enum SYS_thread_selfusage = 482;
499 enum SYS_csrctl = 483;
500 enum SYS_guarded_open_dprotected_np = 484;
501 enum SYS_guarded_write_np = 485;
502 enum SYS_guarded_pwrite_np = 486;
503 enum SYS_guarded_writev_np = 487;
504 enum SYS_renameatx_np = 488;
505 enum SYS_mremap_encrypted = 489;
506 enum SYS_netagent_trigger = 490;
507 enum SYS_stack_snapshot_with_config = 491;
508 enum SYS_microstackshot = 492;
509 enum SYS_grab_pgo_data = 493;
510 enum SYS_persona = 494;
511                         /* 495  */
512                         /* 496  */
513                         /* 497  */
514                         /* 498  */
515 enum SYS_work_interval_ctl = 499;
516 enum SYS_getentropy = 500;
517 enum SYS_necp_open = 501;
518 enum SYS_necp_client_action = 502;
519 enum SYS___nexus_open = 503;
520 enum SYS___nexus_register = 504;
521 enum SYS___nexus_deregister = 505;
522 enum SYS___nexus_create = 506;
523 enum SYS___nexus_destroy = 507;
524 enum SYS___nexus_get_opt = 508;
525 enum SYS___nexus_set_opt = 509;
526 enum SYS___channel_open = 510;
527 enum SYS___channel_get_info = 511;
528 enum SYS___channel_sync = 512;
529 enum SYS___channel_get_opt = 513;
530 enum SYS___channel_set_opt = 514;
531 enum SYS_ulock_wait = 515;
532 enum SYS_ulock_wake = 516;
533 enum SYS_fclonefileat = 517;
534 enum SYS_fs_snapshot = 518;
535                         /* 519  */
536 enum SYS_terminate_with_payload = 520;
537 enum SYS_abort_with_payload = 521;
538 enum SYS_necp_session_open = 522;
539 enum SYS_necp_session_action = 523;
540 enum SYS_setattrlistat = 524;
541 enum SYS_net_qos_guideline = 525;
542 enum SYS_fmount = 526;
543 enum SYS_ntp_adjtime = 527;
544 enum SYS_ntp_gettime = 528;
545 enum SYS_os_fault_with_payload = 529;
546 enum SYS_MAXSYSCALL = 530;
547 enum SYS_invalid = 63;
548