xref: /illumos-gate/usr/src/uts/common/sys/syscall.h (revision 350ffdd5)
17c478bd9Sstevel@tonic-gate /*
27c478bd9Sstevel@tonic-gate  * CDDL HEADER START
37c478bd9Sstevel@tonic-gate  *
47c478bd9Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
545916cd2Sjpk  * Common Development and Distribution License (the "License").
645916cd2Sjpk  * You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate  *
87c478bd9Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate  * See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate  * and limitations under the License.
127c478bd9Sstevel@tonic-gate  *
137c478bd9Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate  *
197c478bd9Sstevel@tonic-gate  * CDDL HEADER END
207c478bd9Sstevel@tonic-gate  */
21657b1f3dSraf 
227c478bd9Sstevel@tonic-gate /*
23ba3594baSGarrett D'Amore  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
24794f0adbSRoger A. Faulkner  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
252a12f85aSJeremy Jones  * Copyright (c) 2013 by Delphix. All rights reserved.
26fca543caSDJ Hoffman  * Copyright (c) 2015, Joyent, Inc.  All rights reserved.
27*350ffdd5SRobert Mustacchi  * Copyright 2020 Oxide Computer Company
287c478bd9Sstevel@tonic-gate  */
297c478bd9Sstevel@tonic-gate 
307c478bd9Sstevel@tonic-gate /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
31b4203d75SMarcel Telka /*	  All Rights Reserved	*/
327c478bd9Sstevel@tonic-gate 
337c478bd9Sstevel@tonic-gate #ifndef	_SYS_SYSCALL_H
347c478bd9Sstevel@tonic-gate #define	_SYS_SYSCALL_H
357c478bd9Sstevel@tonic-gate 
367c478bd9Sstevel@tonic-gate #ifdef	__cplusplus
377c478bd9Sstevel@tonic-gate extern "C" {
387c478bd9Sstevel@tonic-gate #endif
397c478bd9Sstevel@tonic-gate 
407c478bd9Sstevel@tonic-gate /*
417c478bd9Sstevel@tonic-gate  *	system call numbers
427c478bd9Sstevel@tonic-gate  *		syscall(SYS_xxxx, ...)
437c478bd9Sstevel@tonic-gate  */
447c478bd9Sstevel@tonic-gate 
457c478bd9Sstevel@tonic-gate 	/* syscall enumeration MUST begin with 1 */
467c478bd9Sstevel@tonic-gate 
477c478bd9Sstevel@tonic-gate 	/*
487c478bd9Sstevel@tonic-gate 	 * SunOS/SPARC uses 0 for the indirect system call SYS_syscall
497c478bd9Sstevel@tonic-gate 	 * but this doesn't count because it is just another way
507c478bd9Sstevel@tonic-gate 	 * to specify the real system call number.
517c478bd9Sstevel@tonic-gate 	 */
527c478bd9Sstevel@tonic-gate 
537c478bd9Sstevel@tonic-gate #define	SYS_syscall	0
547c478bd9Sstevel@tonic-gate #define	SYS_exit	1
55d2a70789SRichard Lowe #define	SYS_psecflags	2
567c478bd9Sstevel@tonic-gate #define	SYS_read	3
577c478bd9Sstevel@tonic-gate #define	SYS_write	4
587c478bd9Sstevel@tonic-gate #define	SYS_open	5
597c478bd9Sstevel@tonic-gate #define	SYS_close	6
60794f0adbSRoger A. Faulkner #define	SYS_linkat	7
617c478bd9Sstevel@tonic-gate #define	SYS_link	9
627c478bd9Sstevel@tonic-gate #define	SYS_unlink	10
63794f0adbSRoger A. Faulkner #define	SYS_symlinkat	11
647c478bd9Sstevel@tonic-gate #define	SYS_chdir	12
657c478bd9Sstevel@tonic-gate #define	SYS_time	13
667c478bd9Sstevel@tonic-gate #define	SYS_mknod	14
677c478bd9Sstevel@tonic-gate #define	SYS_chmod	15
687c478bd9Sstevel@tonic-gate #define	SYS_chown	16
697c478bd9Sstevel@tonic-gate #define	SYS_brk		17
707c478bd9Sstevel@tonic-gate #define	SYS_stat	18
717c478bd9Sstevel@tonic-gate #define	SYS_lseek	19
727c478bd9Sstevel@tonic-gate #define	SYS_getpid	20
737c478bd9Sstevel@tonic-gate #define	SYS_mount	21
74794f0adbSRoger A. Faulkner #define	SYS_readlinkat	22
757c478bd9Sstevel@tonic-gate #define	SYS_setuid	23
767c478bd9Sstevel@tonic-gate #define	SYS_getuid	24
777c478bd9Sstevel@tonic-gate #define	SYS_stime	25
787c478bd9Sstevel@tonic-gate #define	SYS_pcsample	26
797c478bd9Sstevel@tonic-gate #define	SYS_alarm	27
807c478bd9Sstevel@tonic-gate #define	SYS_fstat	28
817c478bd9Sstevel@tonic-gate #define	SYS_pause	29
827c478bd9Sstevel@tonic-gate #define	SYS_stty	31
837c478bd9Sstevel@tonic-gate #define	SYS_gtty	32
847c478bd9Sstevel@tonic-gate #define	SYS_access	33
857c478bd9Sstevel@tonic-gate #define	SYS_nice	34
867c478bd9Sstevel@tonic-gate #define	SYS_statfs	35
877c478bd9Sstevel@tonic-gate #define	SYS_sync	36
887c478bd9Sstevel@tonic-gate #define	SYS_kill	37
897c478bd9Sstevel@tonic-gate #define	SYS_fstatfs	38
907c478bd9Sstevel@tonic-gate #define	SYS_pgrpsys	39
917c478bd9Sstevel@tonic-gate 	/*
927c478bd9Sstevel@tonic-gate 	 * subcodes:
937c478bd9Sstevel@tonic-gate 	 *	getpgrp()	  :: syscall(39,0)
947c478bd9Sstevel@tonic-gate 	 *	setpgrp()	  :: syscall(39,1)
957c478bd9Sstevel@tonic-gate 	 *	getsid(pid)	  :: syscall(39,2,pid)
967c478bd9Sstevel@tonic-gate 	 *	setsid()	  :: syscall(39,3)
977c478bd9Sstevel@tonic-gate 	 *	getpgid(pid)	  :: syscall(39,4,pid)
987c478bd9Sstevel@tonic-gate 	 *	setpgid(pid,pgid) :: syscall(39,5,pid,pgid)
997c478bd9Sstevel@tonic-gate 	 */
1009acbbeafSnn #define	SYS_uucopystr	40
1017c478bd9Sstevel@tonic-gate #define	SYS_pipe	42
1027c478bd9Sstevel@tonic-gate #define	SYS_times	43
1037c478bd9Sstevel@tonic-gate #define	SYS_profil	44
1048fd04b83SRoger A. Faulkner #define	SYS_faccessat	45
1057c478bd9Sstevel@tonic-gate #define	SYS_setgid	46
1067c478bd9Sstevel@tonic-gate #define	SYS_getgid	47
107794f0adbSRoger A. Faulkner #define	SYS_mknodat	48
1087c478bd9Sstevel@tonic-gate #define	SYS_msgsys	49
1097c478bd9Sstevel@tonic-gate 	/*
1107c478bd9Sstevel@tonic-gate 	 * subcodes:
1117c478bd9Sstevel@tonic-gate 	 *	msgget(...)  :: msgsys(0, ...)
1127c478bd9Sstevel@tonic-gate 	 *	msgctl(...)  :: msgsys(1, ...)
1137c478bd9Sstevel@tonic-gate 	 *	msgrcv(...)  :: msgsys(2, ...)
1147c478bd9Sstevel@tonic-gate 	 *	msgsnd(...)  :: msgsys(3, ...)
1157c478bd9Sstevel@tonic-gate 	 *	msgids(...)  :: msgsys(4, ...)
1167c478bd9Sstevel@tonic-gate 	 *	msgsnap(...) :: msgsys(5, ...)
1177c478bd9Sstevel@tonic-gate 	 *	see <sys/msg.h>
1187c478bd9Sstevel@tonic-gate 	 */
1197c478bd9Sstevel@tonic-gate #define	SYS_sysi86	50
1207c478bd9Sstevel@tonic-gate 	/*
1217c478bd9Sstevel@tonic-gate 	 * subcodes:
122a574db85Sraf 	 *	sysi86(code, ...)
1237c478bd9Sstevel@tonic-gate 	 */
1247c478bd9Sstevel@tonic-gate #define	SYS_acct	51
1257c478bd9Sstevel@tonic-gate #define	SYS_shmsys	52
1267c478bd9Sstevel@tonic-gate 	/*
1277c478bd9Sstevel@tonic-gate 	 * subcodes:
1287c478bd9Sstevel@tonic-gate 	 *	shmat (...) :: shmsys(0, ...)
1297c478bd9Sstevel@tonic-gate 	 *	shmctl(...) :: shmsys(1, ...)
1307c478bd9Sstevel@tonic-gate 	 *	shmdt (...) :: shmsys(2, ...)
1317c478bd9Sstevel@tonic-gate 	 *	shmget(...) :: shmsys(3, ...)
1327c478bd9Sstevel@tonic-gate 	 *	shmids(...) :: shmsys(4, ...)
1337c478bd9Sstevel@tonic-gate 	 *	see <sys/shm.h>
1347c478bd9Sstevel@tonic-gate 	 */
1357c478bd9Sstevel@tonic-gate #define	SYS_semsys	53
1367c478bd9Sstevel@tonic-gate 	/*
1377c478bd9Sstevel@tonic-gate 	 * subcodes:
1387c478bd9Sstevel@tonic-gate 	 *	semctl(...) :: semsys(0, ...)
1397c478bd9Sstevel@tonic-gate 	 *	semget(...) :: semsys(1, ...)
1407c478bd9Sstevel@tonic-gate 	 *	semop (...) :: semsys(2, ...)
1417c478bd9Sstevel@tonic-gate 	 *	semids(...) :: semsys(3, ...)
1427c478bd9Sstevel@tonic-gate 	 *	semtimedop(...) :: semsys(4, ...)
1437c478bd9Sstevel@tonic-gate 	 *	see <sys/sem.h>
1447c478bd9Sstevel@tonic-gate 	 */
1457c478bd9Sstevel@tonic-gate #define	SYS_ioctl	54
1467c478bd9Sstevel@tonic-gate #define	SYS_uadmin	55
1478fd04b83SRoger A. Faulkner #define	SYS_fchownat	56
1487c478bd9Sstevel@tonic-gate #define	SYS_utssys	57
1497c478bd9Sstevel@tonic-gate 	/*
1507c478bd9Sstevel@tonic-gate 	 * subcodes (third argument):
1517c478bd9Sstevel@tonic-gate 	 *	uname(obuf)  (obsolete)   :: syscall(57, obuf, ign, 0)
1527c478bd9Sstevel@tonic-gate 	 *					subcode 1 unused
1537c478bd9Sstevel@tonic-gate 	 *	ustat(dev, obuf)	  :: syscall(57, obuf, dev, 2)
1547c478bd9Sstevel@tonic-gate 	 *	fusers(path, flags, obuf) :: syscall(57, path, flags, 3, obuf)
1557c478bd9Sstevel@tonic-gate 	 *	see <sys/utssys.h>
1567c478bd9Sstevel@tonic-gate 	 */
1577c478bd9Sstevel@tonic-gate #define	SYS_fdsync	58
1587c478bd9Sstevel@tonic-gate #define	SYS_execve	59
1597c478bd9Sstevel@tonic-gate #define	SYS_umask	60
1607c478bd9Sstevel@tonic-gate #define	SYS_chroot	61
1617c478bd9Sstevel@tonic-gate #define	SYS_fcntl	62
1627c478bd9Sstevel@tonic-gate #define	SYS_ulimit	63
1638fd04b83SRoger A. Faulkner #define	SYS_renameat	64
1648fd04b83SRoger A. Faulkner #define	SYS_unlinkat	65
1658fd04b83SRoger A. Faulkner #define	SYS_fstatat	66
1668fd04b83SRoger A. Faulkner #define	SYS_fstatat64	67
1678fd04b83SRoger A. Faulkner #define	SYS_openat	68
1688fd04b83SRoger A. Faulkner #define	SYS_openat64	69
1697c478bd9Sstevel@tonic-gate #define	SYS_tasksys	70
1707c478bd9Sstevel@tonic-gate 	/*
1717c478bd9Sstevel@tonic-gate 	 * subcodes:
172*350ffdd5SRobert Mustacchi 	 *	settaskid(...) :: tasksys(0, ...)
173*350ffdd5SRobert Mustacchi 	 *	gettaskid(...) :: tasksys(1, ...)
174*350ffdd5SRobert Mustacchi 	 *	getprojid(...) :: tasksys(2, ...)
1757c478bd9Sstevel@tonic-gate 	 */
1767c478bd9Sstevel@tonic-gate #define	SYS_acctctl	71
1777c478bd9Sstevel@tonic-gate #define	SYS_exacctsys	72
1787c478bd9Sstevel@tonic-gate 	/*
1797c478bd9Sstevel@tonic-gate 	 * subcodes:
180*350ffdd5SRobert Mustacchi 	 *	getacct(...) :: exacct(0, ...)
181*350ffdd5SRobert Mustacchi 	 *	putacct(...) :: exacct(1, ...)
182*350ffdd5SRobert Mustacchi 	 *	wracct(...) :: exacct(2, ...)
1837c478bd9Sstevel@tonic-gate 	 */
1847c478bd9Sstevel@tonic-gate #define	SYS_getpagesizes	73
18502bc52beSkchow 	/*
18602bc52beSkchow 	 * subcodes:
18702bc52beSkchow 	 *	getpagesizes2(...)	:: getpagesizes(0, ...)
188*350ffdd5SRobert Mustacchi 	 *	getpagesizes(...)	:: getpagesizes(1, ...) legacy
18902bc52beSkchow 	 */
1907c478bd9Sstevel@tonic-gate #define	SYS_rctlsys	74
1917c478bd9Sstevel@tonic-gate 	/*
1927c478bd9Sstevel@tonic-gate 	 * subcodes:
193*350ffdd5SRobert Mustacchi 	 *	getrctl(...) :: rctlsys(0, ...)
194*350ffdd5SRobert Mustacchi 	 *	setrctl(...) :: rctlsys(1, ...)
195*350ffdd5SRobert Mustacchi 	 *	rctllist(...) :: rctlsys(2, ...)
196*350ffdd5SRobert Mustacchi 	 *	rctlctl(...) :: rctlsys(3, ...)
1977c478bd9Sstevel@tonic-gate 	 */
198f48205beScasper #define	SYS_sidsys	75
199f48205beScasper 	/*
200f48205beScasper 	 * subcodes:
201*350ffdd5SRobert Mustacchi 	 *	allocids(...)		:: sidsys(0, ...)
202*350ffdd5SRobert Mustacchi 	 *	idmap_reg(...)		:: sidsys(1, ...)
203*350ffdd5SRobert Mustacchi 	 *	idmap_unreg(...)	:: sidsys(2, ...)
204f48205beScasper 	 */
2057c478bd9Sstevel@tonic-gate #define	SYS_lwp_park	77
2067c478bd9Sstevel@tonic-gate 	/*
2077c478bd9Sstevel@tonic-gate 	 * subcodes:
2083b862e9aSRoger A. Faulkner 	 *	_lwp_park(timespec_t *, lwpid_t)	:: syslwp_park(0, ...)
2093b862e9aSRoger A. Faulkner 	 *	_lwp_unpark(lwpid_t, int)		:: syslwp_park(1, ...)
2103b862e9aSRoger A. Faulkner 	 *	_lwp_unpark_all(lwpid_t *, int)		:: syslwp_park(2, ...)
2113b862e9aSRoger A. Faulkner 	 *	_lwp_unpark_cancel(lwpid_t *, int)	:: syslwp_park(3, ...)
2123b862e9aSRoger A. Faulkner 	 *	_lwp_set_park(lwpid_t *, int)		:: syslwp_park(4, ...)
2137c478bd9Sstevel@tonic-gate 	 */
2147c478bd9Sstevel@tonic-gate #define	SYS_sendfilev	78
2157c478bd9Sstevel@tonic-gate 	/*
2167c478bd9Sstevel@tonic-gate 	 * subcodes :
217*350ffdd5SRobert Mustacchi 	 *	sendfilev()   :: sendfilev(0, ...)
218*350ffdd5SRobert Mustacchi 	 *	sendfilev64() :: sendfilev(1, ...)
2197c478bd9Sstevel@tonic-gate 	 */
2207c478bd9Sstevel@tonic-gate #define	SYS_rmdir	79
2217c478bd9Sstevel@tonic-gate #define	SYS_mkdir	80
2227c478bd9Sstevel@tonic-gate #define	SYS_getdents	81
2237c478bd9Sstevel@tonic-gate #define	SYS_privsys	82
2247c478bd9Sstevel@tonic-gate 	/*
2257c478bd9Sstevel@tonic-gate 	 * subcodes:
226*350ffdd5SRobert Mustacchi 	 *	setppriv(...)		:: privsys(0, ...)
227*350ffdd5SRobert Mustacchi 	 *	getppriv(...)		:: privsys(1, ...)
228*350ffdd5SRobert Mustacchi 	 *	getimplinfo(...)	:: privsys(2, ...)
229*350ffdd5SRobert Mustacchi 	 *	setpflags(...)		:: privsys(3, ...)
230*350ffdd5SRobert Mustacchi 	 *	getpflags(...)		:: privsys(4, ...)
231f48205beScasper 	 *	issetugid();		:: privsys(5)
2327c478bd9Sstevel@tonic-gate 	 */
2337c478bd9Sstevel@tonic-gate #define	SYS_ucredsys	83
2347c478bd9Sstevel@tonic-gate 	/*
2357c478bd9Sstevel@tonic-gate 	 * subcodes:
2367c478bd9Sstevel@tonic-gate 	 *	ucred_get(...)		:: ucredsys(0, ...)
2377c478bd9Sstevel@tonic-gate 	 *	getpeerucred(...)	:: ucredsys(1, ...)
2387c478bd9Sstevel@tonic-gate 	 */
2397c478bd9Sstevel@tonic-gate #define	SYS_sysfs	84
2407c478bd9Sstevel@tonic-gate 	/*
2417c478bd9Sstevel@tonic-gate 	 * subcodes:
2427c478bd9Sstevel@tonic-gate 	 *	sysfs(code, ...)
2437c478bd9Sstevel@tonic-gate 	 *	see <sys/fstyp.h>
2447c478bd9Sstevel@tonic-gate 	 */
2457c478bd9Sstevel@tonic-gate #define	SYS_getmsg	85
2467c478bd9Sstevel@tonic-gate #define	SYS_putmsg	86
2477c478bd9Sstevel@tonic-gate #define	SYS_lstat	88
2487c478bd9Sstevel@tonic-gate #define	SYS_symlink	89
2497c478bd9Sstevel@tonic-gate #define	SYS_readlink	90
2507c478bd9Sstevel@tonic-gate #define	SYS_setgroups	91
2517c478bd9Sstevel@tonic-gate #define	SYS_getgroups	92
2527c478bd9Sstevel@tonic-gate #define	SYS_fchmod	93
2537c478bd9Sstevel@tonic-gate #define	SYS_fchown	94
2547c478bd9Sstevel@tonic-gate #define	SYS_sigprocmask	95
2557c478bd9Sstevel@tonic-gate #define	SYS_sigsuspend	96
2567c478bd9Sstevel@tonic-gate #define	SYS_sigaltstack	97
2577c478bd9Sstevel@tonic-gate #define	SYS_sigaction	98
2587c478bd9Sstevel@tonic-gate #define	SYS_sigpending	99
2597c478bd9Sstevel@tonic-gate 	/*
2607c478bd9Sstevel@tonic-gate 	 * subcodes:
2617c478bd9Sstevel@tonic-gate 	 *			subcode 0 unused
2627c478bd9Sstevel@tonic-gate 	 *	sigpending(...) :: syscall(99, 1, ...)
2637c478bd9Sstevel@tonic-gate 	 *	sigfillset(...) :: syscall(99, 2, ...)
2647c478bd9Sstevel@tonic-gate 	 */
2657c478bd9Sstevel@tonic-gate #define	SYS_context	100
2667c478bd9Sstevel@tonic-gate 	/*
2677c478bd9Sstevel@tonic-gate 	 * subcodes:
2687c478bd9Sstevel@tonic-gate 	 *	getcontext(...) :: syscall(100, 0, ...)
2697c478bd9Sstevel@tonic-gate 	 *	setcontext(...) :: syscall(100, 1, ...)
2707c478bd9Sstevel@tonic-gate 	 */
271794f0adbSRoger A. Faulkner #define	SYS_fchmodat	101
272794f0adbSRoger A. Faulkner #define	SYS_mkdirat	102
2737c478bd9Sstevel@tonic-gate #define	SYS_statvfs	103
2747c478bd9Sstevel@tonic-gate #define	SYS_fstatvfs	104
2757c478bd9Sstevel@tonic-gate #define	SYS_getloadavg	105
2767c478bd9Sstevel@tonic-gate #define	SYS_nfssys	106
277a574db85Sraf #define	SYS_waitid	107
278a574db85Sraf #define	SYS_waitsys	SYS_waitid	/* historical */
2797c478bd9Sstevel@tonic-gate #define	SYS_sigsendsys	108
2807c478bd9Sstevel@tonic-gate #define	SYS_hrtsys	109
2813b862e9aSRoger A. Faulkner #define	SYS_utimesys	110
2823b862e9aSRoger A. Faulkner 	/*
2833b862e9aSRoger A. Faulkner 	 * subcodes:
2843b862e9aSRoger A. Faulkner 	 *	futimens(...)	:: syscall(110, 0, ...)
2853b862e9aSRoger A. Faulkner 	 *	utimensat(...)	:: syscall(110, 1, ...)
2863b862e9aSRoger A. Faulkner 	 */
287f48068adSraf #define	SYS_sigresend	111
2887c478bd9Sstevel@tonic-gate #define	SYS_priocntlsys	112
2897c478bd9Sstevel@tonic-gate #define	SYS_pathconf	113
2907c478bd9Sstevel@tonic-gate #define	SYS_mincore	114
2917c478bd9Sstevel@tonic-gate #define	SYS_mmap	115
2927c478bd9Sstevel@tonic-gate #define	SYS_mprotect	116
2937c478bd9Sstevel@tonic-gate #define	SYS_munmap	117
2947c478bd9Sstevel@tonic-gate #define	SYS_fpathconf	118
2957c478bd9Sstevel@tonic-gate #define	SYS_vfork	119
2967c478bd9Sstevel@tonic-gate #define	SYS_fchdir	120
2977c478bd9Sstevel@tonic-gate #define	SYS_readv	121
2987c478bd9Sstevel@tonic-gate #define	SYS_writev	122
299fca543caSDJ Hoffman #define	SYS_preadv	123
300fca543caSDJ Hoffman #define	SYS_pwritev	124
301*350ffdd5SRobert Mustacchi #define	SYS_upanic	125
3029d12795fSRobert Mustacchi #define	SYS_getrandom	126
3030616c1c3SMichael Corcoran #define	SYS_mmapobj	127
3047c478bd9Sstevel@tonic-gate #define	SYS_setrlimit	128
3057c478bd9Sstevel@tonic-gate #define	SYS_getrlimit	129
3067c478bd9Sstevel@tonic-gate #define	SYS_lchown	130
3077c478bd9Sstevel@tonic-gate #define	SYS_memcntl	131
3087c478bd9Sstevel@tonic-gate #define	SYS_getpmsg	132
3097c478bd9Sstevel@tonic-gate #define	SYS_putpmsg	133
3107c478bd9Sstevel@tonic-gate #define	SYS_rename	134
3117c478bd9Sstevel@tonic-gate #define	SYS_uname	135
3127c478bd9Sstevel@tonic-gate #define	SYS_setegid	136
3137c478bd9Sstevel@tonic-gate #define	SYS_sysconfig	137
3147c478bd9Sstevel@tonic-gate #define	SYS_adjtime	138
3157c478bd9Sstevel@tonic-gate #define	SYS_systeminfo	139
316a237e38eSth #define	SYS_sharefs	140
3177c478bd9Sstevel@tonic-gate #define	SYS_seteuid	141
318657b1f3dSraf #define	SYS_forksys	142
319657b1f3dSraf 	/*
320657b1f3dSraf 	 * subcodes:
321657b1f3dSraf 	 *	forkx(flags)    :: forksys(0, flags)
322657b1f3dSraf 	 *	forkallx(flags) :: forksys(1, flags)
323657b1f3dSraf 	 *	vforkx(flags)   :: forksys(2, flags)
324657b1f3dSraf 	 */
3257c478bd9Sstevel@tonic-gate #define	SYS_sigtimedwait	144
3267c478bd9Sstevel@tonic-gate #define	SYS_lwp_info	145
3277c478bd9Sstevel@tonic-gate #define	SYS_yield	146
3287c478bd9Sstevel@tonic-gate #define	SYS_lwp_sema_post	148
3297c478bd9Sstevel@tonic-gate #define	SYS_lwp_sema_trywait	149
3307c478bd9Sstevel@tonic-gate #define	SYS_lwp_detach	150
3317c478bd9Sstevel@tonic-gate #define	SYS_corectl	151
3327c478bd9Sstevel@tonic-gate #define	SYS_modctl	152
3337c478bd9Sstevel@tonic-gate #define	SYS_fchroot	153
3347c478bd9Sstevel@tonic-gate #define	SYS_vhangup	155
3357c478bd9Sstevel@tonic-gate #define	SYS_gettimeofday	156
3367c478bd9Sstevel@tonic-gate #define	SYS_getitimer		157
3377c478bd9Sstevel@tonic-gate #define	SYS_setitimer		158
3387c478bd9Sstevel@tonic-gate #define	SYS_lwp_create		159
3397c478bd9Sstevel@tonic-gate #define	SYS_lwp_exit		160
3407c478bd9Sstevel@tonic-gate #define	SYS_lwp_suspend		161
3417c478bd9Sstevel@tonic-gate #define	SYS_lwp_continue	162
3427c478bd9Sstevel@tonic-gate #define	SYS_lwp_kill		163
3437c478bd9Sstevel@tonic-gate #define	SYS_lwp_self		164
3447c478bd9Sstevel@tonic-gate #define	SYS_lwp_sigmask		165
3457c478bd9Sstevel@tonic-gate #define	SYS_lwp_private		166
3467c478bd9Sstevel@tonic-gate #define	SYS_lwp_wait		167
3477c478bd9Sstevel@tonic-gate #define	SYS_lwp_mutex_wakeup	168
3487c478bd9Sstevel@tonic-gate #define	SYS_lwp_cond_wait	170
3497c478bd9Sstevel@tonic-gate #define	SYS_lwp_cond_signal	171
3507c478bd9Sstevel@tonic-gate #define	SYS_lwp_cond_broadcast	172
3517c478bd9Sstevel@tonic-gate #define	SYS_pread		173
3527c478bd9Sstevel@tonic-gate #define	SYS_pwrite		174
3537c478bd9Sstevel@tonic-gate #define	SYS_llseek		175
3547c478bd9Sstevel@tonic-gate #define	SYS_inst_sync		176
3559acbbeafSnn #define	SYS_brand		177
3567c478bd9Sstevel@tonic-gate #define	SYS_kaio		178
3577c478bd9Sstevel@tonic-gate 	/*
3587c478bd9Sstevel@tonic-gate 	 * subcodes:
3597c478bd9Sstevel@tonic-gate 	 *	aioread(...)	:: kaio(AIOREAD, ...)
3607c478bd9Sstevel@tonic-gate 	 *	aiowrite(...)	:: kaio(AIOWRITE, ...)
3617c478bd9Sstevel@tonic-gate 	 *	aiowait(...)	:: kaio(AIOWAIT, ...)
3627c478bd9Sstevel@tonic-gate 	 *	aiocancel(...)	:: kaio(AIOCANCEL, ...)
3637c478bd9Sstevel@tonic-gate 	 *	aionotify()	:: kaio(AIONOTIFY)
3647c478bd9Sstevel@tonic-gate 	 *	aioinit()	:: kaio(AIOINIT)
3657c478bd9Sstevel@tonic-gate 	 *	aiostart()	:: kaio(AIOSTART)
3667c478bd9Sstevel@tonic-gate 	 *	see <sys/aio.h>
3677c478bd9Sstevel@tonic-gate 	 */
3687c478bd9Sstevel@tonic-gate #define	SYS_cpc			179
3697c478bd9Sstevel@tonic-gate #define	SYS_lgrpsys		180
3707c478bd9Sstevel@tonic-gate #define	SYS_meminfosys		SYS_lgrpsys
3717c478bd9Sstevel@tonic-gate 	/*
3727c478bd9Sstevel@tonic-gate 	 * subcodes:
373*350ffdd5SRobert Mustacchi 	 *	meminfo(...) :: meminfosys(MISYS_MEMINFO, ...)
3747c478bd9Sstevel@tonic-gate 	 */
3757c478bd9Sstevel@tonic-gate #define	SYS_rusagesys		181
3767c478bd9Sstevel@tonic-gate 	/*
3777c478bd9Sstevel@tonic-gate 	 * subcodes:
3780209230bSgjelinek 	 *	getrusage(...) :: rusagesys(RUSAGESYS_GETRUSAGE, ...)
3790209230bSgjelinek 	 *	getvmusage(...)    :: rusagesys(RUSAGESYS_GETVMUSAGE, ...)
3807c478bd9Sstevel@tonic-gate 	 */
3817c478bd9Sstevel@tonic-gate #define	SYS_port		182
3827c478bd9Sstevel@tonic-gate 	/*
3837c478bd9Sstevel@tonic-gate 	 * subcodes:
3847c478bd9Sstevel@tonic-gate 	 *	port_create(...) :: portfs(PORT_CREATE, ...)
3857c478bd9Sstevel@tonic-gate 	 *	port_associate(...) :: portfs(PORT_ASSOCIATE, ...)
3867c478bd9Sstevel@tonic-gate 	 *	port_dissociate(...) :: portfs(PORT_DISSOCIATE, ...)
3877c478bd9Sstevel@tonic-gate 	 *	port_send(...) :: portfs(PORT_SEND, ...)
3887c478bd9Sstevel@tonic-gate 	 *	port_sendn(...) :: portfs(PORT_SENDN, ...)
3897c478bd9Sstevel@tonic-gate 	 *	port_get(...) :: portfs(PORT_GET, ...)
3907c478bd9Sstevel@tonic-gate 	 *	port_getn(...) :: portfs(PORT_GETN, ...)
3917c478bd9Sstevel@tonic-gate 	 *	port_alert(...) :: portfs(PORT_ALERT, ...)
3927c478bd9Sstevel@tonic-gate 	 *	port_dispatch(...) :: portfs(PORT_DISPATCH, ...)
3937c478bd9Sstevel@tonic-gate 	 */
3947c478bd9Sstevel@tonic-gate #define	SYS_pollsys		183
39545916cd2Sjpk #define	SYS_labelsys		184
3967c478bd9Sstevel@tonic-gate #define	SYS_acl			185
3977c478bd9Sstevel@tonic-gate #define	SYS_auditsys		186
3987c478bd9Sstevel@tonic-gate #define	SYS_processor_bind	187
3997c478bd9Sstevel@tonic-gate #define	SYS_processor_info	188
4007c478bd9Sstevel@tonic-gate #define	SYS_p_online		189
4017c478bd9Sstevel@tonic-gate #define	SYS_sigqueue		190
4027c478bd9Sstevel@tonic-gate #define	SYS_clock_gettime	191
4037c478bd9Sstevel@tonic-gate #define	SYS_clock_settime	192
4047c478bd9Sstevel@tonic-gate #define	SYS_clock_getres	193
4057c478bd9Sstevel@tonic-gate #define	SYS_timer_create	194
4067c478bd9Sstevel@tonic-gate #define	SYS_timer_delete	195
4077c478bd9Sstevel@tonic-gate #define	SYS_timer_settime	196
4087c478bd9Sstevel@tonic-gate #define	SYS_timer_gettime	197
4097c478bd9Sstevel@tonic-gate #define	SYS_timer_getoverrun	198
4107c478bd9Sstevel@tonic-gate #define	SYS_nanosleep		199
4117c478bd9Sstevel@tonic-gate #define	SYS_facl		200
4127c478bd9Sstevel@tonic-gate #define	SYS_door		201
4137c478bd9Sstevel@tonic-gate 	/*
4147c478bd9Sstevel@tonic-gate 	 * Door Subcodes:
4157c478bd9Sstevel@tonic-gate 	 *	0	door_create
4167c478bd9Sstevel@tonic-gate 	 *	1	door_revoke
4177c478bd9Sstevel@tonic-gate 	 *	2	door_info
4187c478bd9Sstevel@tonic-gate 	 *	3	door_call
4197c478bd9Sstevel@tonic-gate 	 *	4	door_return
4207c478bd9Sstevel@tonic-gate 	 */
4217c478bd9Sstevel@tonic-gate #define	SYS_setreuid		202
4227c478bd9Sstevel@tonic-gate #define	SYS_setregid		203
4237c478bd9Sstevel@tonic-gate #define	SYS_install_utrap	204
4247c478bd9Sstevel@tonic-gate #define	SYS_signotify		205
4257c478bd9Sstevel@tonic-gate #define	SYS_schedctl		206
4267c478bd9Sstevel@tonic-gate #define	SYS_pset		207
4277c478bd9Sstevel@tonic-gate #define	SYS_sparc_utrap_install	208
4287c478bd9Sstevel@tonic-gate #define	SYS_resolvepath		209
4297c478bd9Sstevel@tonic-gate #define	SYS_lwp_mutex_timedlock	210
4307c478bd9Sstevel@tonic-gate #define	SYS_lwp_sema_timedwait	211
4317c478bd9Sstevel@tonic-gate #define	SYS_lwp_rwlock_sys	212
4327c478bd9Sstevel@tonic-gate 	/*
4337c478bd9Sstevel@tonic-gate 	 * subcodes:
4347c478bd9Sstevel@tonic-gate 	 *	lwp_rwlock_rdlock(...)    :: syscall(212, 0, ...)
4357c478bd9Sstevel@tonic-gate 	 *	lwp_rwlock_wrlock(...)    :: syscall(212, 1, ...)
4367c478bd9Sstevel@tonic-gate 	 *	lwp_rwlock_tryrdlock(...) :: syscall(212, 2, ...)
4377c478bd9Sstevel@tonic-gate 	 *	lwp_rwlock_trywrlock(...) :: syscall(212, 3, ...)
4387c478bd9Sstevel@tonic-gate 	 *	lwp_rwlock_unlock(...)    :: syscall(212, 4, ...)
4397c478bd9Sstevel@tonic-gate 	 */
4407c478bd9Sstevel@tonic-gate /* system calls for large file ( > 2 gigabyte) support */
4417c478bd9Sstevel@tonic-gate #define	SYS_getdents64		213
4427c478bd9Sstevel@tonic-gate #define	SYS_mmap64		214
4437c478bd9Sstevel@tonic-gate #define	SYS_stat64		215
4447c478bd9Sstevel@tonic-gate #define	SYS_lstat64		216
4457c478bd9Sstevel@tonic-gate #define	SYS_fstat64		217
4467c478bd9Sstevel@tonic-gate #define	SYS_statvfs64		218
4477c478bd9Sstevel@tonic-gate #define	SYS_fstatvfs64		219
4487c478bd9Sstevel@tonic-gate #define	SYS_setrlimit64		220
4497c478bd9Sstevel@tonic-gate #define	SYS_getrlimit64		221
4507c478bd9Sstevel@tonic-gate #define	SYS_pread64		222
4517c478bd9Sstevel@tonic-gate #define	SYS_pwrite64		223
4527c478bd9Sstevel@tonic-gate #define	SYS_open64		225
4537c478bd9Sstevel@tonic-gate #define	SYS_rpcsys		226
4547c478bd9Sstevel@tonic-gate #define	SYS_zone		227
4557c478bd9Sstevel@tonic-gate 	/*
4567c478bd9Sstevel@tonic-gate 	 * subcodes:
4577c478bd9Sstevel@tonic-gate 	 *	zone_create(...) :: zone(ZONE_CREATE, ...)
4587c478bd9Sstevel@tonic-gate 	 *	zone_destroy(...) :: zone(ZONE_DESTROY, ...)
4597c478bd9Sstevel@tonic-gate 	 *	zone_getattr(...) :: zone(ZONE_GETATTR, ...)
4607c478bd9Sstevel@tonic-gate 	 *	zone_enter(...) :: zone(ZONE_ENTER, ...)
4617c478bd9Sstevel@tonic-gate 	 *	zone_list(...) :: zone(ZONE_LIST, ...)
4627c478bd9Sstevel@tonic-gate 	 *	zone_shutdown(...) :: zone(ZONE_SHUTDOWN, ...)
4637c478bd9Sstevel@tonic-gate 	 *	zone_lookup(...) :: zone(ZONE_LOOKUP, ...)
464f4b3ec61Sdh 	 *	zone_boot(...) :: zone(ZONE_BOOT, ...)
465f4b3ec61Sdh 	 *	zone_version(...) :: zone(ZONE_VERSION, ...)
4669acbbeafSnn 	 *	zone_setattr(...) :: zone(ZONE_SETATTR, ...)
467f4b3ec61Sdh 	 *	zone_add_datalink(...) :: zone(ZONE_ADD_DATALINK, ...)
468f4b3ec61Sdh 	 *	zone_remove_datalink(...) :: zone(ZONE_DEL_DATALINK, ...)
469f4b3ec61Sdh 	 *	zone_check_datalink(...) :: zone(ZONE_CHECK_DATALINK, ...)
470f4b3ec61Sdh 	 *	zone_list_datalink(...) :: zone(ZONE_LIST_DATALINK, ...)
4717c478bd9Sstevel@tonic-gate 	 */
4727c478bd9Sstevel@tonic-gate #define	SYS_autofssys		228
4737c478bd9Sstevel@tonic-gate #define	SYS_getcwd		229
4747c478bd9Sstevel@tonic-gate #define	SYS_so_socket		230
4757c478bd9Sstevel@tonic-gate #define	SYS_so_socketpair	231
4767c478bd9Sstevel@tonic-gate #define	SYS_bind		232
4777c478bd9Sstevel@tonic-gate #define	SYS_listen		233
4787c478bd9Sstevel@tonic-gate #define	SYS_accept		234
4797c478bd9Sstevel@tonic-gate #define	SYS_connect		235
4807c478bd9Sstevel@tonic-gate #define	SYS_shutdown		236
4817c478bd9Sstevel@tonic-gate #define	SYS_recv		237
4827c478bd9Sstevel@tonic-gate #define	SYS_recvfrom		238
4837c478bd9Sstevel@tonic-gate #define	SYS_recvmsg		239
4847c478bd9Sstevel@tonic-gate #define	SYS_send		240
4857c478bd9Sstevel@tonic-gate #define	SYS_sendmsg		241
4867c478bd9Sstevel@tonic-gate #define	SYS_sendto		242
4877c478bd9Sstevel@tonic-gate #define	SYS_getpeername		243
4887c478bd9Sstevel@tonic-gate #define	SYS_getsockname		244
4897c478bd9Sstevel@tonic-gate #define	SYS_getsockopt		245
4907c478bd9Sstevel@tonic-gate #define	SYS_setsockopt		246
4917c478bd9Sstevel@tonic-gate #define	SYS_sockconfig		247
4927c478bd9Sstevel@tonic-gate 	/*
4937c478bd9Sstevel@tonic-gate 	 * NTP codes
4947c478bd9Sstevel@tonic-gate 	 */
4957c478bd9Sstevel@tonic-gate #define	SYS_ntp_gettime		248
4967c478bd9Sstevel@tonic-gate #define	SYS_ntp_adjtime		249
4977c478bd9Sstevel@tonic-gate #define	SYS_lwp_mutex_unlock	250
4987c478bd9Sstevel@tonic-gate #define	SYS_lwp_mutex_trylock	251
499883492d5Sraf #define	SYS_lwp_mutex_register	252
5007c478bd9Sstevel@tonic-gate #define	SYS_cladm		253
5019acbbeafSnn #define	SYS_uucopy		254
5027c478bd9Sstevel@tonic-gate #define	SYS_umount2		255
5037c478bd9Sstevel@tonic-gate 
5047c478bd9Sstevel@tonic-gate #ifndef	_ASM
5057c478bd9Sstevel@tonic-gate 
5067c478bd9Sstevel@tonic-gate typedef struct {		/* syscall set type */
5077c478bd9Sstevel@tonic-gate 	unsigned int	word[16];
5087c478bd9Sstevel@tonic-gate } sysset_t;
5097c478bd9Sstevel@tonic-gate 
5107c478bd9Sstevel@tonic-gate typedef struct {	/* return values from system call */
5117c478bd9Sstevel@tonic-gate 	long	sys_rval1;	/* primary return value from system call */
5127c478bd9Sstevel@tonic-gate 	long	sys_rval2;	/* second return value from system call */
5137c478bd9Sstevel@tonic-gate } sysret_t;
5147c478bd9Sstevel@tonic-gate 
5152a12f85aSJeremy Jones #if !defined(_KERNEL)
5162a12f85aSJeremy Jones 
517c22cda1bSBryan Cantrill extern long	syscall(int, ...);
518c22cda1bSBryan Cantrill extern long	__systemcall(sysret_t *, int, ...);
5197c478bd9Sstevel@tonic-gate extern int	__set_errno(int);
5207c478bd9Sstevel@tonic-gate 
5217c478bd9Sstevel@tonic-gate #endif	/* _KERNEL */
5227c478bd9Sstevel@tonic-gate 
5237c478bd9Sstevel@tonic-gate #endif	/* _ASM */
5247c478bd9Sstevel@tonic-gate 
5257c478bd9Sstevel@tonic-gate #ifdef	__cplusplus
5267c478bd9Sstevel@tonic-gate }
5277c478bd9Sstevel@tonic-gate #endif
5287c478bd9Sstevel@tonic-gate 
5297c478bd9Sstevel@tonic-gate #endif	/* _SYS_SYSCALL_H */
530