xref: /titanic_53/usr/src/uts/common/sys/syscall.h (revision 7c478bd95313f5f23a4c958a745db2134aa03244)
1*7c478bd9Sstevel@tonic-gate /*
2*7c478bd9Sstevel@tonic-gate  * CDDL HEADER START
3*7c478bd9Sstevel@tonic-gate  *
4*7c478bd9Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
5*7c478bd9Sstevel@tonic-gate  * Common Development and Distribution License, Version 1.0 only
6*7c478bd9Sstevel@tonic-gate  * (the "License").  You may not use this file except in compliance
7*7c478bd9Sstevel@tonic-gate  * with the License.
8*7c478bd9Sstevel@tonic-gate  *
9*7c478bd9Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*7c478bd9Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
11*7c478bd9Sstevel@tonic-gate  * See the License for the specific language governing permissions
12*7c478bd9Sstevel@tonic-gate  * and limitations under the License.
13*7c478bd9Sstevel@tonic-gate  *
14*7c478bd9Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
15*7c478bd9Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*7c478bd9Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
17*7c478bd9Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
18*7c478bd9Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
19*7c478bd9Sstevel@tonic-gate  *
20*7c478bd9Sstevel@tonic-gate  * CDDL HEADER END
21*7c478bd9Sstevel@tonic-gate  */
22*7c478bd9Sstevel@tonic-gate /*
23*7c478bd9Sstevel@tonic-gate  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
24*7c478bd9Sstevel@tonic-gate  * Use is subject to license terms.
25*7c478bd9Sstevel@tonic-gate  */
26*7c478bd9Sstevel@tonic-gate 
27*7c478bd9Sstevel@tonic-gate /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
28*7c478bd9Sstevel@tonic-gate /*	  All Rights Reserved  	*/
29*7c478bd9Sstevel@tonic-gate 
30*7c478bd9Sstevel@tonic-gate 
31*7c478bd9Sstevel@tonic-gate #ifndef	_SYS_SYSCALL_H
32*7c478bd9Sstevel@tonic-gate #define	_SYS_SYSCALL_H
33*7c478bd9Sstevel@tonic-gate 
34*7c478bd9Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
35*7c478bd9Sstevel@tonic-gate 
36*7c478bd9Sstevel@tonic-gate #ifdef	__cplusplus
37*7c478bd9Sstevel@tonic-gate extern "C" {
38*7c478bd9Sstevel@tonic-gate #endif
39*7c478bd9Sstevel@tonic-gate 
40*7c478bd9Sstevel@tonic-gate /*
41*7c478bd9Sstevel@tonic-gate  *	system call numbers
42*7c478bd9Sstevel@tonic-gate  *		syscall(SYS_xxxx, ...)
43*7c478bd9Sstevel@tonic-gate  */
44*7c478bd9Sstevel@tonic-gate 
45*7c478bd9Sstevel@tonic-gate 	/* syscall enumeration MUST begin with 1 */
46*7c478bd9Sstevel@tonic-gate 
47*7c478bd9Sstevel@tonic-gate 	/*
48*7c478bd9Sstevel@tonic-gate 	 * SunOS/SPARC uses 0 for the indirect system call SYS_syscall
49*7c478bd9Sstevel@tonic-gate 	 * but this doesn't count because it is just another way
50*7c478bd9Sstevel@tonic-gate 	 * to specify the real system call number.
51*7c478bd9Sstevel@tonic-gate 	 */
52*7c478bd9Sstevel@tonic-gate 
53*7c478bd9Sstevel@tonic-gate #define	SYS_syscall	0
54*7c478bd9Sstevel@tonic-gate #define	SYS_exit	1
55*7c478bd9Sstevel@tonic-gate #define	SYS_forkall	2
56*7c478bd9Sstevel@tonic-gate #define	SYS_fork	SYS_forkall	/* historical */
57*7c478bd9Sstevel@tonic-gate #define	SYS_read	3
58*7c478bd9Sstevel@tonic-gate #define	SYS_write	4
59*7c478bd9Sstevel@tonic-gate #define	SYS_open	5
60*7c478bd9Sstevel@tonic-gate #define	SYS_close	6
61*7c478bd9Sstevel@tonic-gate #define	SYS_wait	7
62*7c478bd9Sstevel@tonic-gate #define	SYS_creat	8
63*7c478bd9Sstevel@tonic-gate #define	SYS_link	9
64*7c478bd9Sstevel@tonic-gate #define	SYS_unlink	10
65*7c478bd9Sstevel@tonic-gate #define	SYS_exec	11
66*7c478bd9Sstevel@tonic-gate #define	SYS_chdir	12
67*7c478bd9Sstevel@tonic-gate #define	SYS_time	13
68*7c478bd9Sstevel@tonic-gate #define	SYS_mknod	14
69*7c478bd9Sstevel@tonic-gate #define	SYS_chmod	15
70*7c478bd9Sstevel@tonic-gate #define	SYS_chown	16
71*7c478bd9Sstevel@tonic-gate #define	SYS_brk		17
72*7c478bd9Sstevel@tonic-gate #define	SYS_stat	18
73*7c478bd9Sstevel@tonic-gate #define	SYS_lseek	19
74*7c478bd9Sstevel@tonic-gate #define	SYS_getpid	20
75*7c478bd9Sstevel@tonic-gate #define	SYS_mount	21
76*7c478bd9Sstevel@tonic-gate #define	SYS_umount	22
77*7c478bd9Sstevel@tonic-gate #define	SYS_setuid	23
78*7c478bd9Sstevel@tonic-gate #define	SYS_getuid	24
79*7c478bd9Sstevel@tonic-gate #define	SYS_stime	25
80*7c478bd9Sstevel@tonic-gate #define	SYS_pcsample	26
81*7c478bd9Sstevel@tonic-gate #define	SYS_alarm	27
82*7c478bd9Sstevel@tonic-gate #define	SYS_fstat	28
83*7c478bd9Sstevel@tonic-gate #define	SYS_pause	29
84*7c478bd9Sstevel@tonic-gate #define	SYS_utime	30
85*7c478bd9Sstevel@tonic-gate #define	SYS_stty	31
86*7c478bd9Sstevel@tonic-gate #define	SYS_gtty	32
87*7c478bd9Sstevel@tonic-gate #define	SYS_access	33
88*7c478bd9Sstevel@tonic-gate #define	SYS_nice	34
89*7c478bd9Sstevel@tonic-gate #define	SYS_statfs	35
90*7c478bd9Sstevel@tonic-gate #define	SYS_sync	36
91*7c478bd9Sstevel@tonic-gate #define	SYS_kill	37
92*7c478bd9Sstevel@tonic-gate #define	SYS_fstatfs	38
93*7c478bd9Sstevel@tonic-gate #define	SYS_pgrpsys	39
94*7c478bd9Sstevel@tonic-gate 	/*
95*7c478bd9Sstevel@tonic-gate 	 * subcodes:
96*7c478bd9Sstevel@tonic-gate 	 *	getpgrp()	  :: syscall(39,0)
97*7c478bd9Sstevel@tonic-gate 	 *	setpgrp()	  :: syscall(39,1)
98*7c478bd9Sstevel@tonic-gate 	 *	getsid(pid)	  :: syscall(39,2,pid)
99*7c478bd9Sstevel@tonic-gate 	 *	setsid()	  :: syscall(39,3)
100*7c478bd9Sstevel@tonic-gate 	 *	getpgid(pid)	  :: syscall(39,4,pid)
101*7c478bd9Sstevel@tonic-gate 	 *	setpgid(pid,pgid) :: syscall(39,5,pid,pgid)
102*7c478bd9Sstevel@tonic-gate 	 */
103*7c478bd9Sstevel@tonic-gate #define	SYS_reserved_40	40	/* 40 not used, was xenix */
104*7c478bd9Sstevel@tonic-gate #define	SYS_dup		41
105*7c478bd9Sstevel@tonic-gate #define	SYS_pipe	42
106*7c478bd9Sstevel@tonic-gate #define	SYS_times	43
107*7c478bd9Sstevel@tonic-gate #define	SYS_profil	44
108*7c478bd9Sstevel@tonic-gate #define	SYS_plock	45
109*7c478bd9Sstevel@tonic-gate #define	SYS_setgid	46
110*7c478bd9Sstevel@tonic-gate #define	SYS_getgid	47
111*7c478bd9Sstevel@tonic-gate #define	SYS_signal	48
112*7c478bd9Sstevel@tonic-gate 	/*
113*7c478bd9Sstevel@tonic-gate 	 * subcodes:
114*7c478bd9Sstevel@tonic-gate 	 *	signal(sig, f) :: signal(sig, f)    ((sig&SIGNO_MASK) == sig)
115*7c478bd9Sstevel@tonic-gate 	 *	sigset(sig, f) :: signal(sig|SIGDEFER, f)
116*7c478bd9Sstevel@tonic-gate 	 *	sighold(sig)   :: signal(sig|SIGHOLD)
117*7c478bd9Sstevel@tonic-gate 	 *	sigrelse(sig)  :: signal(sig|SIGRELSE)
118*7c478bd9Sstevel@tonic-gate 	 *	sigignore(sig) :: signal(sig|SIGIGNORE)
119*7c478bd9Sstevel@tonic-gate 	 *	sigpause(sig)  :: signal(sig|SIGPAUSE)
120*7c478bd9Sstevel@tonic-gate 	 *	see <sys/signal.h>
121*7c478bd9Sstevel@tonic-gate 	 */
122*7c478bd9Sstevel@tonic-gate #define	SYS_msgsys	49
123*7c478bd9Sstevel@tonic-gate 	/*
124*7c478bd9Sstevel@tonic-gate 	 * subcodes:
125*7c478bd9Sstevel@tonic-gate 	 *	msgget(...)  :: msgsys(0, ...)
126*7c478bd9Sstevel@tonic-gate 	 *	msgctl(...)  :: msgsys(1, ...)
127*7c478bd9Sstevel@tonic-gate 	 *	msgrcv(...)  :: msgsys(2, ...)
128*7c478bd9Sstevel@tonic-gate 	 *	msgsnd(...)  :: msgsys(3, ...)
129*7c478bd9Sstevel@tonic-gate 	 *	msgids(...)  :: msgsys(4, ...)
130*7c478bd9Sstevel@tonic-gate 	 *	msgsnap(...) :: msgsys(5, ...)
131*7c478bd9Sstevel@tonic-gate 	 *	see <sys/msg.h>
132*7c478bd9Sstevel@tonic-gate 	 */
133*7c478bd9Sstevel@tonic-gate #define	SYS_syssun	50
134*7c478bd9Sstevel@tonic-gate #define	SYS_sysi86	50
135*7c478bd9Sstevel@tonic-gate 	/*
136*7c478bd9Sstevel@tonic-gate 	 * subcodes:
137*7c478bd9Sstevel@tonic-gate 	 *	syssun(code, ...)
138*7c478bd9Sstevel@tonic-gate 	 *	see <sys/sys3b.h>
139*7c478bd9Sstevel@tonic-gate 	 */
140*7c478bd9Sstevel@tonic-gate #define	SYS_acct	51
141*7c478bd9Sstevel@tonic-gate #define	SYS_shmsys	52
142*7c478bd9Sstevel@tonic-gate 	/*
143*7c478bd9Sstevel@tonic-gate 	 * subcodes:
144*7c478bd9Sstevel@tonic-gate 	 *	shmat (...) :: shmsys(0, ...)
145*7c478bd9Sstevel@tonic-gate 	 *	shmctl(...) :: shmsys(1, ...)
146*7c478bd9Sstevel@tonic-gate 	 *	shmdt (...) :: shmsys(2, ...)
147*7c478bd9Sstevel@tonic-gate 	 *	shmget(...) :: shmsys(3, ...)
148*7c478bd9Sstevel@tonic-gate 	 *	shmids(...) :: shmsys(4, ...)
149*7c478bd9Sstevel@tonic-gate 	 *	see <sys/shm.h>
150*7c478bd9Sstevel@tonic-gate 	 */
151*7c478bd9Sstevel@tonic-gate #define	SYS_semsys	53
152*7c478bd9Sstevel@tonic-gate 	/*
153*7c478bd9Sstevel@tonic-gate 	 * subcodes:
154*7c478bd9Sstevel@tonic-gate 	 *	semctl(...) :: semsys(0, ...)
155*7c478bd9Sstevel@tonic-gate 	 *	semget(...) :: semsys(1, ...)
156*7c478bd9Sstevel@tonic-gate 	 *	semop (...) :: semsys(2, ...)
157*7c478bd9Sstevel@tonic-gate 	 *	semids(...) :: semsys(3, ...)
158*7c478bd9Sstevel@tonic-gate 	 *	semtimedop(...) :: semsys(4, ...)
159*7c478bd9Sstevel@tonic-gate 	 *	see <sys/sem.h>
160*7c478bd9Sstevel@tonic-gate 	 */
161*7c478bd9Sstevel@tonic-gate #define	SYS_ioctl	54
162*7c478bd9Sstevel@tonic-gate #define	SYS_uadmin	55
163*7c478bd9Sstevel@tonic-gate #define	SYS_utssys	57
164*7c478bd9Sstevel@tonic-gate 	/*
165*7c478bd9Sstevel@tonic-gate 	 * subcodes (third argument):
166*7c478bd9Sstevel@tonic-gate 	 *	uname(obuf)  (obsolete)   :: syscall(57, obuf, ign, 0)
167*7c478bd9Sstevel@tonic-gate 	 *					subcode 1 unused
168*7c478bd9Sstevel@tonic-gate 	 *	ustat(dev, obuf)	  :: syscall(57, obuf, dev, 2)
169*7c478bd9Sstevel@tonic-gate 	 *	fusers(path, flags, obuf) :: syscall(57, path, flags, 3, obuf)
170*7c478bd9Sstevel@tonic-gate 	 *	see <sys/utssys.h>
171*7c478bd9Sstevel@tonic-gate 	 */
172*7c478bd9Sstevel@tonic-gate #define	SYS_fdsync	58
173*7c478bd9Sstevel@tonic-gate #define	SYS_execve	59
174*7c478bd9Sstevel@tonic-gate #define	SYS_umask	60
175*7c478bd9Sstevel@tonic-gate #define	SYS_chroot	61
176*7c478bd9Sstevel@tonic-gate #define	SYS_fcntl	62
177*7c478bd9Sstevel@tonic-gate #define	SYS_ulimit	63
178*7c478bd9Sstevel@tonic-gate #define	SYS_reserved_64	64	/* 64 reserved */
179*7c478bd9Sstevel@tonic-gate #define	SYS_reserved_65	65	/* 65 reserved */
180*7c478bd9Sstevel@tonic-gate #define	SYS_reserved_66	66	/* 66 reserved */
181*7c478bd9Sstevel@tonic-gate #define	SYS_reserved_67	67	/* 67 reserved */
182*7c478bd9Sstevel@tonic-gate #define	SYS_reserved_68	68	/* 68 reserved */
183*7c478bd9Sstevel@tonic-gate #define	SYS_reserved_69	69	/* 69 reserved */
184*7c478bd9Sstevel@tonic-gate #define	SYS_tasksys	70
185*7c478bd9Sstevel@tonic-gate 	/*
186*7c478bd9Sstevel@tonic-gate 	 * subcodes:
187*7c478bd9Sstevel@tonic-gate 	 * 	settaskid(...) :: tasksys(0, ...)
188*7c478bd9Sstevel@tonic-gate 	 * 	gettaskid(...) :: tasksys(1, ...)
189*7c478bd9Sstevel@tonic-gate 	 * 	getprojid(...) :: tasksys(2, ...)
190*7c478bd9Sstevel@tonic-gate 	 */
191*7c478bd9Sstevel@tonic-gate #define	SYS_acctctl	71
192*7c478bd9Sstevel@tonic-gate #define	SYS_exacctsys	72
193*7c478bd9Sstevel@tonic-gate 	/*
194*7c478bd9Sstevel@tonic-gate 	 * subcodes:
195*7c478bd9Sstevel@tonic-gate 	 * 	getacct(...) :: exacct(0, ...)
196*7c478bd9Sstevel@tonic-gate 	 * 	putacct(...) :: exacct(1, ...)
197*7c478bd9Sstevel@tonic-gate 	 * 	wracct(...) :: exacct(2, ...)
198*7c478bd9Sstevel@tonic-gate 	 */
199*7c478bd9Sstevel@tonic-gate #define	SYS_getpagesizes	73
200*7c478bd9Sstevel@tonic-gate #define	SYS_rctlsys	74
201*7c478bd9Sstevel@tonic-gate 	/*
202*7c478bd9Sstevel@tonic-gate 	 * subcodes:
203*7c478bd9Sstevel@tonic-gate 	 * 	getrctl(...) :: rctlsys(0, ...)
204*7c478bd9Sstevel@tonic-gate 	 * 	setrctl(...) :: rctlsys(1, ...)
205*7c478bd9Sstevel@tonic-gate 	 * 	rctllist(...) :: rctlsys(2, ...)
206*7c478bd9Sstevel@tonic-gate 	 * 	rctlctl(...) :: rctlsys(3, ...)
207*7c478bd9Sstevel@tonic-gate 	 */
208*7c478bd9Sstevel@tonic-gate #define	SYS_issetugid	75
209*7c478bd9Sstevel@tonic-gate #define	SYS_fsat	76
210*7c478bd9Sstevel@tonic-gate 	/*
211*7c478bd9Sstevel@tonic-gate 	 * subcodes:
212*7c478bd9Sstevel@tonic-gate 	 *	openat(...)	:: fsat(0, ...)
213*7c478bd9Sstevel@tonic-gate 	 *	openat64(...)	:: fsat(1, ...)
214*7c478bd9Sstevel@tonic-gate 	 *	fstatat64(...)	:: fsat(2, ...)
215*7c478bd9Sstevel@tonic-gate 	 *	fstatat(...)	:: fsat(3, ...)
216*7c478bd9Sstevel@tonic-gate 	 *	renameat(...)	:: fsat(4, ...)
217*7c478bd9Sstevel@tonic-gate 	 *	fchownat(...)	:: fsat(5, ...)
218*7c478bd9Sstevel@tonic-gate 	 *	unlinkat(...)	:: fsat(6, ...)
219*7c478bd9Sstevel@tonic-gate 	 *	futimesat(...)	:: fsat(7, ...)
220*7c478bd9Sstevel@tonic-gate 	 */
221*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_park	77
222*7c478bd9Sstevel@tonic-gate 	/*
223*7c478bd9Sstevel@tonic-gate 	 * subcodes:
224*7c478bd9Sstevel@tonic-gate 	 * 	_lwp_park(timespec_t *, lwpid_t) :: syslwp_park(0, ...)
225*7c478bd9Sstevel@tonic-gate 	 * 	_lwp_unpark(lwpid_t, int)	 :: syslwp_park(1, ...)
226*7c478bd9Sstevel@tonic-gate 	 * 	_lwp_unpark_all(lwpid_t *, int)  :: syslwp_park(2, ...)
227*7c478bd9Sstevel@tonic-gate 	 */
228*7c478bd9Sstevel@tonic-gate #define	SYS_sendfilev	78
229*7c478bd9Sstevel@tonic-gate 	/*
230*7c478bd9Sstevel@tonic-gate 	 * subcodes :
231*7c478bd9Sstevel@tonic-gate 	 * 	sendfilev()   :: sendfilev(0, ...)
232*7c478bd9Sstevel@tonic-gate 	 * 	sendfilev64() :: sendfilev(1, ...)
233*7c478bd9Sstevel@tonic-gate 	 */
234*7c478bd9Sstevel@tonic-gate #define	SYS_rmdir	79
235*7c478bd9Sstevel@tonic-gate #define	SYS_mkdir	80
236*7c478bd9Sstevel@tonic-gate #define	SYS_getdents	81
237*7c478bd9Sstevel@tonic-gate #define	SYS_privsys	82
238*7c478bd9Sstevel@tonic-gate 	/*
239*7c478bd9Sstevel@tonic-gate 	 * subcodes:
240*7c478bd9Sstevel@tonic-gate 	 * 	setppriv(...)		:: privsys(0, ...)
241*7c478bd9Sstevel@tonic-gate 	 * 	getppriv(...)		:: privsys(1, ...)
242*7c478bd9Sstevel@tonic-gate 	 * 	getimplinfo(...)	:: privsys(2, ...)
243*7c478bd9Sstevel@tonic-gate 	 * 	setpflags(...) 		:: privsys(3, ...)
244*7c478bd9Sstevel@tonic-gate 	 * 	getpflags(...) 		:: privsys(4, ...)
245*7c478bd9Sstevel@tonic-gate 	 */
246*7c478bd9Sstevel@tonic-gate #define	SYS_ucredsys	83
247*7c478bd9Sstevel@tonic-gate 	/*
248*7c478bd9Sstevel@tonic-gate 	 * subcodes:
249*7c478bd9Sstevel@tonic-gate 	 *	ucred_get(...)		:: ucredsys(0, ...)
250*7c478bd9Sstevel@tonic-gate 	 *	getpeerucred(...)	:: ucredsys(1, ...)
251*7c478bd9Sstevel@tonic-gate 	 */
252*7c478bd9Sstevel@tonic-gate #define	SYS_sysfs	84
253*7c478bd9Sstevel@tonic-gate 	/*
254*7c478bd9Sstevel@tonic-gate 	 * subcodes:
255*7c478bd9Sstevel@tonic-gate 	 *	sysfs(code, ...)
256*7c478bd9Sstevel@tonic-gate 	 *	see <sys/fstyp.h>
257*7c478bd9Sstevel@tonic-gate 	 */
258*7c478bd9Sstevel@tonic-gate #define	SYS_getmsg	85
259*7c478bd9Sstevel@tonic-gate #define	SYS_putmsg	86
260*7c478bd9Sstevel@tonic-gate #define	SYS_poll	87
261*7c478bd9Sstevel@tonic-gate 
262*7c478bd9Sstevel@tonic-gate #define	SYS_lstat	88
263*7c478bd9Sstevel@tonic-gate #define	SYS_symlink	89
264*7c478bd9Sstevel@tonic-gate #define	SYS_readlink	90
265*7c478bd9Sstevel@tonic-gate #define	SYS_setgroups	91
266*7c478bd9Sstevel@tonic-gate #define	SYS_getgroups	92
267*7c478bd9Sstevel@tonic-gate #define	SYS_fchmod	93
268*7c478bd9Sstevel@tonic-gate #define	SYS_fchown	94
269*7c478bd9Sstevel@tonic-gate #define	SYS_sigprocmask	95
270*7c478bd9Sstevel@tonic-gate #define	SYS_sigsuspend	96
271*7c478bd9Sstevel@tonic-gate #define	SYS_sigaltstack	97
272*7c478bd9Sstevel@tonic-gate #define	SYS_sigaction	98
273*7c478bd9Sstevel@tonic-gate #define	SYS_sigpending	99
274*7c478bd9Sstevel@tonic-gate 	/*
275*7c478bd9Sstevel@tonic-gate 	 * subcodes:
276*7c478bd9Sstevel@tonic-gate 	 *			subcode 0 unused
277*7c478bd9Sstevel@tonic-gate 	 *	sigpending(...) :: syscall(99, 1, ...)
278*7c478bd9Sstevel@tonic-gate 	 *	sigfillset(...) :: syscall(99, 2, ...)
279*7c478bd9Sstevel@tonic-gate 	 */
280*7c478bd9Sstevel@tonic-gate #define	SYS_context	100
281*7c478bd9Sstevel@tonic-gate 	/*
282*7c478bd9Sstevel@tonic-gate 	 * subcodes:
283*7c478bd9Sstevel@tonic-gate 	 *	getcontext(...) :: syscall(100, 0, ...)
284*7c478bd9Sstevel@tonic-gate 	 *	setcontext(...) :: syscall(100, 1, ...)
285*7c478bd9Sstevel@tonic-gate 	 */
286*7c478bd9Sstevel@tonic-gate #define	SYS_evsys	101
287*7c478bd9Sstevel@tonic-gate #define	SYS_evtrapret	102
288*7c478bd9Sstevel@tonic-gate #define	SYS_statvfs	103
289*7c478bd9Sstevel@tonic-gate #define	SYS_fstatvfs	104
290*7c478bd9Sstevel@tonic-gate #define	SYS_getloadavg	105
291*7c478bd9Sstevel@tonic-gate #define	SYS_nfssys	106
292*7c478bd9Sstevel@tonic-gate #define	SYS_waitsys	107
293*7c478bd9Sstevel@tonic-gate #define	SYS_sigsendsys	108
294*7c478bd9Sstevel@tonic-gate #define	SYS_hrtsys	109
295*7c478bd9Sstevel@tonic-gate #define	SYS_acancel	110
296*7c478bd9Sstevel@tonic-gate #define	SYS_async	111
297*7c478bd9Sstevel@tonic-gate #define	SYS_priocntlsys	112
298*7c478bd9Sstevel@tonic-gate #define	SYS_pathconf	113
299*7c478bd9Sstevel@tonic-gate #define	SYS_mincore	114
300*7c478bd9Sstevel@tonic-gate #define	SYS_mmap	115
301*7c478bd9Sstevel@tonic-gate #define	SYS_mprotect	116
302*7c478bd9Sstevel@tonic-gate #define	SYS_munmap	117
303*7c478bd9Sstevel@tonic-gate #define	SYS_fpathconf	118
304*7c478bd9Sstevel@tonic-gate #define	SYS_vfork	119
305*7c478bd9Sstevel@tonic-gate #define	SYS_fchdir	120
306*7c478bd9Sstevel@tonic-gate #define	SYS_readv	121
307*7c478bd9Sstevel@tonic-gate #define	SYS_writev	122
308*7c478bd9Sstevel@tonic-gate #define	SYS_xstat	123
309*7c478bd9Sstevel@tonic-gate #define	SYS_lxstat	124
310*7c478bd9Sstevel@tonic-gate #define	SYS_fxstat	125
311*7c478bd9Sstevel@tonic-gate #define	SYS_xmknod	126
312*7c478bd9Sstevel@tonic-gate #define	SYS_setrlimit	128
313*7c478bd9Sstevel@tonic-gate #define	SYS_getrlimit	129
314*7c478bd9Sstevel@tonic-gate #define	SYS_lchown	130
315*7c478bd9Sstevel@tonic-gate #define	SYS_memcntl	131
316*7c478bd9Sstevel@tonic-gate #define	SYS_getpmsg	132
317*7c478bd9Sstevel@tonic-gate #define	SYS_putpmsg	133
318*7c478bd9Sstevel@tonic-gate #define	SYS_rename	134
319*7c478bd9Sstevel@tonic-gate #define	SYS_uname	135
320*7c478bd9Sstevel@tonic-gate #define	SYS_setegid	136
321*7c478bd9Sstevel@tonic-gate #define	SYS_sysconfig	137
322*7c478bd9Sstevel@tonic-gate #define	SYS_adjtime	138
323*7c478bd9Sstevel@tonic-gate #define	SYS_systeminfo	139
324*7c478bd9Sstevel@tonic-gate #define	SYS_seteuid	141
325*7c478bd9Sstevel@tonic-gate #define	SYS_fork1	143
326*7c478bd9Sstevel@tonic-gate #define	SYS_sigtimedwait	144
327*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_info	145
328*7c478bd9Sstevel@tonic-gate #define	SYS_yield	146
329*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_sema_wait	147
330*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_sema_post	148
331*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_sema_trywait	149
332*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_detach	150
333*7c478bd9Sstevel@tonic-gate #define	SYS_corectl	151
334*7c478bd9Sstevel@tonic-gate #define	SYS_modctl	152
335*7c478bd9Sstevel@tonic-gate #define	SYS_fchroot	153
336*7c478bd9Sstevel@tonic-gate #define	SYS_utimes	154
337*7c478bd9Sstevel@tonic-gate #define	SYS_vhangup	155
338*7c478bd9Sstevel@tonic-gate #define	SYS_gettimeofday	156
339*7c478bd9Sstevel@tonic-gate #define	SYS_getitimer		157
340*7c478bd9Sstevel@tonic-gate #define	SYS_setitimer		158
341*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_create		159
342*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_exit		160
343*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_suspend		161
344*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_continue	162
345*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_kill		163
346*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_self		164
347*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_sigmask		165
348*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_private		166
349*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_wait		167
350*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_mutex_wakeup	168
351*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_mutex_lock	169
352*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_cond_wait	170
353*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_cond_signal	171
354*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_cond_broadcast	172
355*7c478bd9Sstevel@tonic-gate #define	SYS_pread		173
356*7c478bd9Sstevel@tonic-gate #define	SYS_pwrite		174
357*7c478bd9Sstevel@tonic-gate #define	SYS_llseek		175
358*7c478bd9Sstevel@tonic-gate #define	SYS_inst_sync		176
359*7c478bd9Sstevel@tonic-gate #define	SYS_reserved_177	177	/* 177 reserved */
360*7c478bd9Sstevel@tonic-gate #define	SYS_kaio		178
361*7c478bd9Sstevel@tonic-gate 	/*
362*7c478bd9Sstevel@tonic-gate 	 * subcodes:
363*7c478bd9Sstevel@tonic-gate 	 *	aioread(...)	:: kaio(AIOREAD, ...)
364*7c478bd9Sstevel@tonic-gate 	 *	aiowrite(...)	:: kaio(AIOWRITE, ...)
365*7c478bd9Sstevel@tonic-gate 	 *	aiowait(...)	:: kaio(AIOWAIT, ...)
366*7c478bd9Sstevel@tonic-gate 	 *	aiocancel(...)	:: kaio(AIOCANCEL, ...)
367*7c478bd9Sstevel@tonic-gate 	 *	aionotify()	:: kaio(AIONOTIFY)
368*7c478bd9Sstevel@tonic-gate 	 *	aioinit()	:: kaio(AIOINIT)
369*7c478bd9Sstevel@tonic-gate 	 *	aiostart()	:: kaio(AIOSTART)
370*7c478bd9Sstevel@tonic-gate 	 *	see <sys/aio.h>
371*7c478bd9Sstevel@tonic-gate 	 */
372*7c478bd9Sstevel@tonic-gate #define	SYS_cpc			179
373*7c478bd9Sstevel@tonic-gate #define	SYS_lgrpsys		180
374*7c478bd9Sstevel@tonic-gate #define	SYS_meminfosys		SYS_lgrpsys
375*7c478bd9Sstevel@tonic-gate 	/*
376*7c478bd9Sstevel@tonic-gate 	 * subcodes:
377*7c478bd9Sstevel@tonic-gate 	 * 	meminfo(...) :: meminfosys(MISYS_MEMINFO, ...)
378*7c478bd9Sstevel@tonic-gate 	 */
379*7c478bd9Sstevel@tonic-gate #define	SYS_rusagesys		181
380*7c478bd9Sstevel@tonic-gate 	/*
381*7c478bd9Sstevel@tonic-gate 	 * subcodes:
382*7c478bd9Sstevel@tonic-gate 	 *	getrusage(...) :: rusagesys(RUSAGESYS_GETRUSAGE,...)
383*7c478bd9Sstevel@tonic-gate 	 */
384*7c478bd9Sstevel@tonic-gate #define	SYS_port		182
385*7c478bd9Sstevel@tonic-gate 	/*
386*7c478bd9Sstevel@tonic-gate 	 * subcodes:
387*7c478bd9Sstevel@tonic-gate 	 *	port_create(...) :: portfs(PORT_CREATE, ...)
388*7c478bd9Sstevel@tonic-gate 	 *	port_associate(...) :: portfs(PORT_ASSOCIATE, ...)
389*7c478bd9Sstevel@tonic-gate 	 *	port_dissociate(...) :: portfs(PORT_DISSOCIATE, ...)
390*7c478bd9Sstevel@tonic-gate 	 *	port_send(...) :: portfs(PORT_SEND, ...)
391*7c478bd9Sstevel@tonic-gate 	 *	port_sendn(...) :: portfs(PORT_SENDN, ...)
392*7c478bd9Sstevel@tonic-gate 	 *	port_get(...) :: portfs(PORT_GET, ...)
393*7c478bd9Sstevel@tonic-gate 	 *	port_getn(...) :: portfs(PORT_GETN, ...)
394*7c478bd9Sstevel@tonic-gate 	 *	port_alert(...) :: portfs(PORT_ALERT, ...)
395*7c478bd9Sstevel@tonic-gate 	 *	port_dispatch(...) :: portfs(PORT_DISPATCH, ...)
396*7c478bd9Sstevel@tonic-gate 	 */
397*7c478bd9Sstevel@tonic-gate #define	SYS_pollsys		183
398*7c478bd9Sstevel@tonic-gate #define	SYS_tsolsys		184
399*7c478bd9Sstevel@tonic-gate #define	SYS_acl			185
400*7c478bd9Sstevel@tonic-gate #define	SYS_auditsys		186
401*7c478bd9Sstevel@tonic-gate #define	SYS_processor_bind	187
402*7c478bd9Sstevel@tonic-gate #define	SYS_processor_info	188
403*7c478bd9Sstevel@tonic-gate #define	SYS_p_online		189
404*7c478bd9Sstevel@tonic-gate #define	SYS_sigqueue		190
405*7c478bd9Sstevel@tonic-gate #define	SYS_clock_gettime	191
406*7c478bd9Sstevel@tonic-gate #define	SYS_clock_settime	192
407*7c478bd9Sstevel@tonic-gate #define	SYS_clock_getres	193
408*7c478bd9Sstevel@tonic-gate #define	SYS_timer_create	194
409*7c478bd9Sstevel@tonic-gate #define	SYS_timer_delete	195
410*7c478bd9Sstevel@tonic-gate #define	SYS_timer_settime	196
411*7c478bd9Sstevel@tonic-gate #define	SYS_timer_gettime	197
412*7c478bd9Sstevel@tonic-gate #define	SYS_timer_getoverrun	198
413*7c478bd9Sstevel@tonic-gate #define	SYS_nanosleep		199
414*7c478bd9Sstevel@tonic-gate #define	SYS_facl		200
415*7c478bd9Sstevel@tonic-gate #define	SYS_door		201
416*7c478bd9Sstevel@tonic-gate 	/*
417*7c478bd9Sstevel@tonic-gate 	 * Door Subcodes:
418*7c478bd9Sstevel@tonic-gate 	 *	0	door_create
419*7c478bd9Sstevel@tonic-gate 	 *	1	door_revoke
420*7c478bd9Sstevel@tonic-gate 	 *	2	door_info
421*7c478bd9Sstevel@tonic-gate 	 *	3	door_call
422*7c478bd9Sstevel@tonic-gate 	 *	4	door_return
423*7c478bd9Sstevel@tonic-gate 	 */
424*7c478bd9Sstevel@tonic-gate #define	SYS_setreuid		202
425*7c478bd9Sstevel@tonic-gate #define	SYS_setregid		203
426*7c478bd9Sstevel@tonic-gate #define	SYS_install_utrap	204
427*7c478bd9Sstevel@tonic-gate #define	SYS_signotify		205
428*7c478bd9Sstevel@tonic-gate #define	SYS_schedctl		206
429*7c478bd9Sstevel@tonic-gate #define	SYS_pset		207
430*7c478bd9Sstevel@tonic-gate #define	SYS_sparc_utrap_install	208
431*7c478bd9Sstevel@tonic-gate #define	SYS_resolvepath		209
432*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_mutex_timedlock	210
433*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_sema_timedwait	211
434*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_rwlock_sys	212
435*7c478bd9Sstevel@tonic-gate 	/*
436*7c478bd9Sstevel@tonic-gate 	 * subcodes:
437*7c478bd9Sstevel@tonic-gate 	 *	lwp_rwlock_rdlock(...)    :: syscall(212, 0, ...)
438*7c478bd9Sstevel@tonic-gate 	 *	lwp_rwlock_wrlock(...)    :: syscall(212, 1, ...)
439*7c478bd9Sstevel@tonic-gate 	 *	lwp_rwlock_tryrdlock(...) :: syscall(212, 2, ...)
440*7c478bd9Sstevel@tonic-gate 	 *	lwp_rwlock_trywrlock(...) :: syscall(212, 3, ...)
441*7c478bd9Sstevel@tonic-gate 	 *	lwp_rwlock_unlock(...)    :: syscall(212, 4, ...)
442*7c478bd9Sstevel@tonic-gate 	 */
443*7c478bd9Sstevel@tonic-gate /* system calls for large file ( > 2 gigabyte) support */
444*7c478bd9Sstevel@tonic-gate #define	SYS_getdents64		213
445*7c478bd9Sstevel@tonic-gate #define	SYS_mmap64		214
446*7c478bd9Sstevel@tonic-gate #define	SYS_stat64		215
447*7c478bd9Sstevel@tonic-gate #define	SYS_lstat64		216
448*7c478bd9Sstevel@tonic-gate #define	SYS_fstat64		217
449*7c478bd9Sstevel@tonic-gate #define	SYS_statvfs64		218
450*7c478bd9Sstevel@tonic-gate #define	SYS_fstatvfs64		219
451*7c478bd9Sstevel@tonic-gate #define	SYS_setrlimit64		220
452*7c478bd9Sstevel@tonic-gate #define	SYS_getrlimit64		221
453*7c478bd9Sstevel@tonic-gate #define	SYS_pread64		222
454*7c478bd9Sstevel@tonic-gate #define	SYS_pwrite64		223
455*7c478bd9Sstevel@tonic-gate #define	SYS_creat64		224
456*7c478bd9Sstevel@tonic-gate #define	SYS_open64		225
457*7c478bd9Sstevel@tonic-gate #define	SYS_rpcsys		226
458*7c478bd9Sstevel@tonic-gate #define	SYS_zone		227
459*7c478bd9Sstevel@tonic-gate 	/*
460*7c478bd9Sstevel@tonic-gate 	 * subcodes:
461*7c478bd9Sstevel@tonic-gate 	 *	zone_create(...) :: zone(ZONE_CREATE, ...)
462*7c478bd9Sstevel@tonic-gate 	 *	zone_destroy(...) :: zone(ZONE_DESTROY, ...)
463*7c478bd9Sstevel@tonic-gate 	 *	zone_getattr(...) :: zone(ZONE_GETATTR, ...)
464*7c478bd9Sstevel@tonic-gate 	 *	zone_enter(...) :: zone(ZONE_ENTER, ...)
465*7c478bd9Sstevel@tonic-gate 	 *	zone_list(...) :: zone(ZONE_LIST, ...)
466*7c478bd9Sstevel@tonic-gate 	 *	zone_shutdown(...) :: zone(ZONE_SHUTDOWN, ...)
467*7c478bd9Sstevel@tonic-gate 	 *	zone_lookup(...) :: zone(ZONE_LOOKUP, ...)
468*7c478bd9Sstevel@tonic-gate 	 */
469*7c478bd9Sstevel@tonic-gate #define	SYS_autofssys		228
470*7c478bd9Sstevel@tonic-gate #define	SYS_getcwd		229
471*7c478bd9Sstevel@tonic-gate #define	SYS_so_socket		230
472*7c478bd9Sstevel@tonic-gate #define	SYS_so_socketpair	231
473*7c478bd9Sstevel@tonic-gate #define	SYS_bind		232
474*7c478bd9Sstevel@tonic-gate #define	SYS_listen		233
475*7c478bd9Sstevel@tonic-gate #define	SYS_accept		234
476*7c478bd9Sstevel@tonic-gate #define	SYS_connect		235
477*7c478bd9Sstevel@tonic-gate #define	SYS_shutdown		236
478*7c478bd9Sstevel@tonic-gate #define	SYS_recv		237
479*7c478bd9Sstevel@tonic-gate #define	SYS_recvfrom		238
480*7c478bd9Sstevel@tonic-gate #define	SYS_recvmsg		239
481*7c478bd9Sstevel@tonic-gate #define	SYS_send		240
482*7c478bd9Sstevel@tonic-gate #define	SYS_sendmsg		241
483*7c478bd9Sstevel@tonic-gate #define	SYS_sendto		242
484*7c478bd9Sstevel@tonic-gate #define	SYS_getpeername		243
485*7c478bd9Sstevel@tonic-gate #define	SYS_getsockname		244
486*7c478bd9Sstevel@tonic-gate #define	SYS_getsockopt		245
487*7c478bd9Sstevel@tonic-gate #define	SYS_setsockopt		246
488*7c478bd9Sstevel@tonic-gate #define	SYS_sockconfig		247
489*7c478bd9Sstevel@tonic-gate 	/*
490*7c478bd9Sstevel@tonic-gate 	 * NTP codes
491*7c478bd9Sstevel@tonic-gate 	 */
492*7c478bd9Sstevel@tonic-gate #define	SYS_ntp_gettime		248
493*7c478bd9Sstevel@tonic-gate #define	SYS_ntp_adjtime		249
494*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_mutex_unlock	250
495*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_mutex_trylock	251
496*7c478bd9Sstevel@tonic-gate #define	SYS_lwp_mutex_init	252
497*7c478bd9Sstevel@tonic-gate #define	SYS_cladm		253
498*7c478bd9Sstevel@tonic-gate #define	SYS_reserved_254	254	/* 254 reserved */
499*7c478bd9Sstevel@tonic-gate #define	SYS_umount2		255
500*7c478bd9Sstevel@tonic-gate 
501*7c478bd9Sstevel@tonic-gate 
502*7c478bd9Sstevel@tonic-gate #ifndef	_ASM
503*7c478bd9Sstevel@tonic-gate 
504*7c478bd9Sstevel@tonic-gate typedef struct {		/* syscall set type */
505*7c478bd9Sstevel@tonic-gate 	unsigned int	word[16];
506*7c478bd9Sstevel@tonic-gate } sysset_t;
507*7c478bd9Sstevel@tonic-gate 
508*7c478bd9Sstevel@tonic-gate #if !defined(_KERNEL)
509*7c478bd9Sstevel@tonic-gate 
510*7c478bd9Sstevel@tonic-gate typedef struct {	/* return values from system call */
511*7c478bd9Sstevel@tonic-gate 	long	sys_rval1;	/* primary return value from system call */
512*7c478bd9Sstevel@tonic-gate 	long	sys_rval2;	/* second return value from system call */
513*7c478bd9Sstevel@tonic-gate } sysret_t;
514*7c478bd9Sstevel@tonic-gate 
515*7c478bd9Sstevel@tonic-gate #if defined(__STDC__)
516*7c478bd9Sstevel@tonic-gate extern int	syscall(int, ...);
517*7c478bd9Sstevel@tonic-gate extern int	__systemcall(sysret_t *, int, ...);
518*7c478bd9Sstevel@tonic-gate extern int	__set_errno(int);
519*7c478bd9Sstevel@tonic-gate #else
520*7c478bd9Sstevel@tonic-gate extern int	syscall();
521*7c478bd9Sstevel@tonic-gate extern int	__systemcall();
522*7c478bd9Sstevel@tonic-gate extern int	__set_errno();
523*7c478bd9Sstevel@tonic-gate #endif
524*7c478bd9Sstevel@tonic-gate 
525*7c478bd9Sstevel@tonic-gate #endif	/* _KERNEL */
526*7c478bd9Sstevel@tonic-gate 
527*7c478bd9Sstevel@tonic-gate #endif	/* _ASM */
528*7c478bd9Sstevel@tonic-gate 
529*7c478bd9Sstevel@tonic-gate #ifdef	__cplusplus
530*7c478bd9Sstevel@tonic-gate }
531*7c478bd9Sstevel@tonic-gate #endif
532*7c478bd9Sstevel@tonic-gate 
533*7c478bd9Sstevel@tonic-gate #endif	/* _SYS_SYSCALL_H */
534