; N.B.: makesyscalls.sh and createsyscalls.pl must be updated to account
; for any new argument types.
+; If you add a new syscall number to the end of this file, you need to
+; increment the value of NUM_SYSENT in bsd/sys/sysent.h.
+
#include <sys/appleapiopts.h>
#include <sys/param.h>
#include <sys/systm.h>
41 AUE_DUP ALL { int dup(u_int fd); }
42 AUE_PIPE ALL { int pipe(void); }
43 AUE_GETEGID ALL { int getegid(void); }
-44 AUE_PROFILE ALL { int profil(short *bufbase, size_t bufsize, u_long pcoffset, u_int pcscale); }
+44 AUE_NULL ALL { int nosys(void); } { old profil }
45 AUE_NULL ALL { int nosys(void); } { old ktrace }
46 AUE_SIGACTION ALL { int sigaction(int signum, struct __sigaction *nsa, struct sigaction *osa) NO_SYSCALL_STUB; }
47 AUE_GETGID ALL { int getgid(void); }
139 AUE_FUTIMES ALL { int futimes(int fd, struct timeval *tptr); }
140 AUE_ADJTIME ALL { int adjtime(struct timeval *delta, struct timeval *olddelta); }
141 AUE_NULL ALL { int nosys(void); } { old getpeername }
-142 AUE_SYSCTL ALL { int gethostuuid(unsigned char *uuid_buf, const struct timespec *timeoutp); }
+142 AUE_SYSCTL ALL { int gethostuuid(unsigned char *uuid_buf, const struct timespec *timeoutp, int spi) NO_SYSCALL_STUB; }
143 AUE_NULL ALL { int nosys(void); } { old sethostid }
144 AUE_NULL ALL { int nosys(void); } { old getrlimit }
145 AUE_NULL ALL { int nosys(void); } { old setrlimit }
167 AUE_MOUNT ALL { int mount(char *type, char *path, int flags, caddr_t data); }
168 AUE_NULL ALL { int nosys(void); } { old ustat }
169 AUE_CSOPS ALL { int csops(pid_t pid, uint32_t ops, user_addr_t useraddr, user_size_t usersize); }
-170 AUE_NULL HN { int nosys(void); } { old table }
+170 AUE_CSOPS ALL { int csops_audittoken(pid_t pid, uint32_t ops, user_addr_t useraddr, user_size_t usersize, user_addr_t uaudittoken); }
171 AUE_NULL ALL { int nosys(void); } { old wait3 }
172 AUE_NULL ALL { int nosys(void); } { old rpause }
173 AUE_WAITID ALL { int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options); }
174 AUE_NULL ALL { int nosys(void); } { old getdents }
175 AUE_NULL ALL { int nosys(void); } { old gc_control }
-176 AUE_ADDPROFILE ALL { int add_profil(short *bufbase, size_t bufsize, u_long pcoffset, u_int pcscale); }
+176 AUE_NULL ALL { int nosys(void); } { old add_profil }
177 AUE_NULL ALL { int nosys(void); }
178 AUE_NULL ALL { int nosys(void); }
179 AUE_NULL ALL { int nosys(void); }
204 AUE_MUNLOCK ALL { int munlock(caddr_t addr, size_t len); }
205 AUE_UNDELETE ALL { int undelete(user_addr_t path); }
-#if NETAT
-206 AUE_ATSOCKET ALL { int ATsocket(int proto); }
-207 AUE_ATGETMSG UALL { int ATgetmsg(int fd, void *ctlptr, void *datptr, int *flags); }
-208 AUE_ATPUTMSG UALL { int ATputmsg(int fd, void *ctlptr, void *datptr, int flags); }
-209 AUE_ATPSNDREQ UALL { int ATPsndreq(int fd, unsigned char *buf, int len, int nowait); }
-210 AUE_ATPSNDRSP UALL { int ATPsndrsp(int fd, unsigned char *respbuff, int resplen, int datalen); }
-211 AUE_ATPGETREQ UALL { int ATPgetreq(int fd, unsigned char *buf, int buflen); }
-212 AUE_ATPGETRSP UALL { int ATPgetrsp(int fd, unsigned char *bdsp); }
-213 AUE_NULL ALL { int nosys(void); } { Reserved for AppleTalk }
-#else
-206 AUE_NULL ALL { int nosys(void); }
-207 AUE_NULL ALL { int nosys(void); }
-208 AUE_NULL ALL { int nosys(void); }
-209 AUE_NULL ALL { int nosys(void); }
-210 AUE_NULL ALL { int nosys(void); }
-211 AUE_NULL ALL { int nosys(void); }
-212 AUE_NULL ALL { int nosys(void); }
+206 AUE_NULL ALL { int nosys(void); } { old ATsocket }
+207 AUE_NULL ALL { int nosys(void); } { old ATgetmsg }
+208 AUE_NULL ALL { int nosys(void); } { old ATputmsg }
+209 AUE_NULL ALL { int nosys(void); } { old ATsndreq }
+210 AUE_NULL ALL { int nosys(void); } { old ATsndrsp }
+211 AUE_NULL ALL { int nosys(void); } { old ATgetreq }
+212 AUE_NULL ALL { int nosys(void); } { old ATgetrsp }
213 AUE_NULL ALL { int nosys(void); } { Reserved for AppleTalk }
-#endif /* NETAT */
214 AUE_NULL ALL { int nosys(void); }
215 AUE_NULL ALL { int nosys(void); }
; to HFS semantics, they are not specific to the HFS filesystem.
; We expect all filesystems to recognize the call and report that it is
; not supported or to actually implement it.
-216 AUE_MKCOMPLEX UHN { int mkcomplex(const char *path, mode_t mode, u_long type); } { soon to be obsolete }
-217 AUE_STATV UHN { int statv(const char *path, struct vstat *vsb); } { soon to be obsolete }
-218 AUE_LSTATV UHN { int lstatv(const char *path, struct vstat *vsb); } { soon to be obsolete }
-219 AUE_FSTATV UHN { int fstatv(int fd, struct vstat *vsb); } { soon to be obsolete }
+
+; 216-> 219 used to be mkcomplex and {f,l}statv variants. They are gone now.
+216 AUE_NULL ALL { int open_dprotected_np(user_addr_t path, int flags, int class, int dpflags, int mode) NO_SYSCALL_STUB; }
+217 AUE_NULL ALL { int nosys(void); }
+218 AUE_NULL ALL { int nosys(void); }
+219 AUE_NULL ALL { int nosys(void); }
220 AUE_GETATTRLIST ALL { int getattrlist(const char *path, struct attrlist *alist, void *attributeBuffer, size_t bufferSize, u_long options) NO_SYSCALL_STUB; }
221 AUE_SETATTRLIST ALL { int setattrlist(const char *path, struct attrlist *alist, void *attributeBuffer, size_t bufferSize, u_long options) NO_SYSCALL_STUB; }
222 AUE_GETDIRENTRIESATTR ALL { int getdirentriesattr(int fd, struct attrlist *alist, void *buffer, size_t buffersize, u_long *count, u_long *basep, u_long *newstate, u_long options); }
249 AUE_NULL ALL { int nosys(void); }
250 AUE_MINHERIT ALL { int minherit(void *addr, size_t len, int inherit); }
#if SYSV_SEM
-251 AUE_SEMSYS ALL { int semsys(u_int which, int a2, int a3, int a4, int a5); }
+251 AUE_SEMSYS ALL { int semsys(u_int which, int a2, int a3, int a4, int a5) NO_SYSCALL_STUB; }
#else
251 AUE_NULL ALL { int nosys(void); }
#endif
#if SYSV_MSG
-252 AUE_MSGSYS ALL { int msgsys(u_int which, int a2, int a3, int a4, int a5); }
+252 AUE_MSGSYS ALL { int msgsys(u_int which, int a2, int a3, int a4, int a5) NO_SYSCALL_STUB; }
#else
252 AUE_NULL ALL { int nosys(void); }
#endif
#if SYSV_SHM
-253 AUE_SHMSYS ALL { int shmsys(u_int which, int a2, int a3, int a4); }
+253 AUE_SHMSYS ALL { int shmsys(u_int which, int a2, int a3, int a4) NO_SYSCALL_STUB; }
#else
253 AUE_NULL ALL { int nosys(void); }
#endif
264 AUE_NULL ALL { int nosys(void); }
265 AUE_NULL ALL { int nosys(void); }
#endif
-266 AUE_SHMOPEN ALL { int shm_open(const char *name, int oflag, int mode); }
+266 AUE_SHMOPEN ALL { int shm_open(const char *name, int oflag, int mode) NO_SYSCALL_STUB; }
267 AUE_SHMUNLINK ALL { int shm_unlink(const char *name); }
-268 AUE_SEMOPEN ALL { user_addr_t sem_open(const char *name, int oflag, int mode, int value); }
+268 AUE_SEMOPEN ALL { user_addr_t sem_open(const char *name, int oflag, int mode, int value) NO_SYSCALL_STUB; }
269 AUE_SEMCLOSE ALL { int sem_close(sem_t *sem); }
270 AUE_SEMUNLINK ALL { int sem_unlink(const char *name); }
271 AUE_SEMWAIT ALL { int sem_wait(sem_t *sem); }
290 AUE_GETWGROUPS ALL { int getwgroups(user_addr_t setlen, user_addr_t guidset) NO_SYSCALL_STUB; }
291 AUE_MKFIFO_EXTENDED ALL { int mkfifo_extended(user_addr_t path, uid_t uid, gid_t gid, int mode, user_addr_t xsecurity) NO_SYSCALL_STUB; }
292 AUE_MKDIR_EXTENDED ALL { int mkdir_extended(user_addr_t path, uid_t uid, gid_t gid, int mode, user_addr_t xsecurity) NO_SYSCALL_STUB; }
+#if CONFIG_EXT_RESOLVER
293 AUE_IDENTITYSVC ALL { int identitysvc(int opcode, user_addr_t message) NO_SYSCALL_STUB; }
+#else
+293 AUE_NULL ALL { int nosys(void); }
+#endif
294 AUE_NULL ALL { int shared_region_check_np(uint64_t *start_address) NO_SYSCALL_STUB; }
295 AUE_NULL ALL { int nosys(void); } { old shared_region_map_np }
296 AUE_NULL ALL { int vm_pressure_monitor(int wait_for_pressure, int nsecs_monitored, uint32_t *pages_reclaimed); }
352 AUE_NULL ALL { int nosys(void); }
353 AUE_GETAUID ALL { int getauid(au_id_t *auid); }
354 AUE_SETAUID ALL { int setauid(au_id_t *auid); }
-355 AUE_GETAUDIT ALL { int getaudit(struct auditinfo *auditinfo); }
-356 AUE_SETAUDIT ALL { int setaudit(struct auditinfo *auditinfo); }
+355 AUE_NULL ALL { int nosys(void); } { old getaudit }
+356 AUE_NULL ALL { int nosys(void); } { old setaudit }
357 AUE_GETAUDIT_ADDR ALL { int getaudit_addr(struct auditinfo_addr *auditinfo_addr, int length); }
358 AUE_SETAUDIT_ADDR ALL { int setaudit_addr(struct auditinfo_addr *auditinfo_addr, int length); }
359 AUE_AUDITCTL ALL { int auditctl(char *path); }
371 AUE_NULL ALL { int nosys(void); } { old __semwait_signal }
#endif
372 AUE_NULL ALL { uint64_t thread_selfid (void) NO_SYSCALL_STUB; }
-373 AUE_NULL ALL { int nosys(void); }
+373 AUE_LEDGER ALL { int ledger(int cmd, caddr_t arg1, caddr_t arg2, caddr_t arg3); }
374 AUE_NULL ALL { int nosys(void); }
375 AUE_NULL ALL { int nosys(void); }
376 AUE_NULL ALL { int nosys(void); }
378 AUE_NULL ALL { int nosys(void); }
379 AUE_NULL ALL { int nosys(void); }
380 AUE_MAC_EXECVE ALL { int __mac_execve(char *fname, char **argp, char **envp, struct mac *mac_p); }
+#if CONFIG_MACF
381 AUE_MAC_SYSCALL ALL { int __mac_syscall(char *policy, int call, user_addr_t arg); }
382 AUE_MAC_GET_FILE ALL { int __mac_get_file(char *path_p, struct mac *mac_p); }
383 AUE_MAC_SET_FILE ALL { int __mac_set_file(char *path_p, struct mac *mac_p); }
391 AUE_MAC_GET_LCID ALL { int __mac_get_lcid(pid_t lcid, struct mac *mac_p); }
392 AUE_MAC_GET_LCTX ALL { int __mac_get_lctx(struct mac *mac_p); }
393 AUE_MAC_SET_LCTX ALL { int __mac_set_lctx(struct mac *mac_p); }
+#else
+381 AUE_MAC_SYSCALL ALL { int enosys(void); }
+382 AUE_MAC_GET_FILE ALL { int nosys(void); }
+383 AUE_MAC_SET_FILE ALL { int nosys(void); }
+384 AUE_MAC_GET_LINK ALL { int nosys(void); }
+385 AUE_MAC_SET_LINK ALL { int nosys(void); }
+386 AUE_MAC_GET_PROC ALL { int nosys(void); }
+387 AUE_MAC_SET_PROC ALL { int nosys(void); }
+388 AUE_MAC_GET_FD ALL { int nosys(void); }
+389 AUE_MAC_SET_FD ALL { int nosys(void); }
+390 AUE_MAC_GET_PID ALL { int nosys(void); }
+391 AUE_MAC_GET_LCID ALL { int nosys(void); }
+392 AUE_MAC_GET_LCTX ALL { int nosys(void); }
+393 AUE_MAC_SET_LCTX ALL { int nosys(void); }
+#endif
394 AUE_SETLCID ALL { int setlcid(pid_t pid, pid_t lcid) NO_SYSCALL_STUB; }
395 AUE_GETLCID ALL { int getlcid(pid_t pid) NO_SYSCALL_STUB; }
396 AUE_NULL ALL { user_ssize_t read_nocancel(int fd, user_addr_t cbuf, user_size_t nbyte) NO_SYSCALL_STUB; }
423 AUE_SEMWAITSIGNAL ALL { int __semwait_signal_nocancel(int cond_sem, int mutex_sem, int timeout, int relative, int64_t tv_sec, int32_t tv_nsec); }
;#endif
424 AUE_MAC_MOUNT ALL { int __mac_mount(char *type, char *path, int flags, caddr_t data, struct mac *mac_p); }
+#if CONFIG_MACF
425 AUE_MAC_GET_MOUNT ALL { int __mac_get_mount(char *path, struct mac *mac_p); }
+#else
+425 AUE_MAC_GET_MOUNT ALL { int nosys(void); }
+#endif
426 AUE_MAC_GETFSSTAT ALL { int __mac_getfsstat(user_addr_t buf, int bufsize, user_addr_t mac, int macsize, int flags); }
427 AUE_FSGETPATH ALL { user_ssize_t fsgetpath(user_addr_t buf, size_t bufsize, user_addr_t fsid, uint64_t objid) NO_SYSCALL_STUB; } { private fsgetpath (File Manager SPI) }
428 AUE_NULL ALL { mach_port_name_t audit_session_self(void); }
432 AUE_NULL ALL { int audit_session_port(au_asid_t asid, user_addr_t portnamep); }
433 AUE_NULL ALL { int pid_suspend(int pid); }
434 AUE_NULL ALL { int pid_resume(int pid); }
-#if CONFIG_EMBEDDED
-435 AUE_NULL ALL { int pid_hibernate(int pid); }
-436 AUE_NULL ALL { int pid_shutdown_sockets(int pid, int level); }
-#else
-435 AUE_NULL ALL { int nosys(void); }
+435 AUE_NULL ALL { int nosys(void); }
436 AUE_NULL ALL { int nosys(void); }
-#endif
437 AUE_NULL ALL { int nosys(void); } { old shared_region_slide_np }
438 AUE_NULL ALL { int shared_region_map_and_slide_np(int fd, uint32_t count, const struct shared_file_mapping_np *mappings, uint32_t slide, uint64_t* slide_start, uint32_t slide_size) NO_SYSCALL_STUB; }
-
+439 AUE_NULL ALL { int kas_info(int selector, void *value, size_t *size); }
+#if CONFIG_MEMORYSTATUS
+440 AUE_NULL ALL { int memorystatus_control(uint32_t command, int32_t pid, uint32_t flags, user_addr_t buffer, size_t buffersize); }
+#else
+440 AUE_NULL ALL { int nosys(void); }
+#endif
+441 AUE_OPEN_RWTC ALL { int guarded_open_np(const char *path, const guardid_t *guard, u_int guardflags, int flags, int mode) NO_SYSCALL_STUB; }
+442 AUE_CLOSE ALL { int guarded_close_np(int fd, const guardid_t *guard); }
+443 AUE_KQUEUE ALL { int guarded_kqueue_np(const guardid_t *guard, u_int guardflags); }
+444 AUE_NULL ALL { int change_fdguard_np(int fd, const guardid_t *guard, u_int guardflags, const guardid_t *nguard, u_int nguardflags, int *fdflagsp); }
+445 AUE_NULL ALL { int nosys(void); } { old __proc_suppress }
+446 AUE_NULL ALL { int proc_rlimit_control(pid_t pid, int flavor, void *arg); }
+#if SOCKETS
+447 AUE_CONNECT ALL { int connectx(int s, struct sockaddr *src, socklen_t srclen, struct sockaddr *dsts, socklen_t dstlen, uint32_t ifscope, associd_t aid, connid_t *cid); }
+448 AUE_NULL ALL { int disconnectx(int s, associd_t aid, connid_t cid); }
+449 AUE_NULL ALL { int peeloff(int s, associd_t aid); }
+450 AUE_SOCKET ALL { int socket_delegate(int domain, int type, int protocol, pid_t epid); }
+#else
+447 AUE_NULL ALL { int nosys(void); }
+448 AUE_NULL ALL { int nosys(void); }
+449 AUE_NULL ALL { int nosys(void); }
+450 AUE_NULL ALL { int nosys(void); }
+#endif /* SOCKETS */
+#if CONFIG_TELEMETRY
+451 AUE_NULL ALL { int telemetry(uint64_t cmd, uint64_t deadline, uint64_t interval, uint64_t leeway, uint64_t arg4, uint64_t arg5) NO_SYSCALL_STUB; }
+#else
+451 AUE_NULL ALL { int nosys(void); }
+#endif /* TELEMETRY */
+#if CONFIG_PROC_UUID_POLICY
+452 AUE_NULL ALL { int proc_uuid_policy(uint32_t operation, uuid_t uuid, size_t uuidlen, uint32_t flags); }
+#else
+452 AUE_NULL ALL { int nosys(void); }
+#endif
+#if CONFIG_MEMORYSTATUS
+453 AUE_NULL ALL { int memorystatus_get_level(user_addr_t level); }
+#else
+453 AUE_NULL ALL { int nosys(void); }
+#endif
+454 AUE_NULL ALL { int system_override(uint64_t timeout, uint64_t flags); }
+455 AUE_NULL ALL { int vfs_purge(void); }