18eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
28eb8bab992e3998c33770b0cdb16059a8b918a06sewardj/*--------------------------------------------------------------------*/
38eb8bab992e3998c33770b0cdb16059a8b918a06sewardj/*--- System call numbers for Solaris.        vki-scnums-solaris.h ---*/
48eb8bab992e3998c33770b0cdb16059a8b918a06sewardj/*--------------------------------------------------------------------*/
58eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
68eb8bab992e3998c33770b0cdb16059a8b918a06sewardj/*
78eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   This file is part of Valgrind, a dynamic binary instrumentation
88eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   framework.
98eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
10ed39800a83baf5bffbe391f3974eb2af0f415f80Elliott Hughes   Copyright (C) 2011-2017 Petr Pavlu
118eb8bab992e3998c33770b0cdb16059a8b918a06sewardj      setup@dagobah.cz
128eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
138eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   This program is free software; you can redistribute it and/or
148eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   modify it under the terms of the GNU General Public License as
158eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   published by the Free Software Foundation; either version 2 of the
168eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   License, or (at your option) any later version.
178eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
188eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   This program is distributed in the hope that it will be useful, but
198eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   WITHOUT ANY WARRANTY; without even the implied warranty of
208eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
218eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   General Public License for more details.
228eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
238eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   You should have received a copy of the GNU General Public License
248eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   along with this program; if not, write to the Free Software
258eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
268eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   02111-1307, USA.
278eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
288eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   The GNU General Public License is contained in the file COPYING.
298eb8bab992e3998c33770b0cdb16059a8b918a06sewardj*/
308eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
31ed39800a83baf5bffbe391f3974eb2af0f415f80Elliott Hughes/* Copyright 2013-2017, Ivo Raisr <ivosh@ivosh.net>. */
328eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
338eb8bab992e3998c33770b0cdb16059a8b918a06sewardj/* Copyright 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
348eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
358eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#ifndef __VKI_SCNUMS_SOLARIS_H
368eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __VKI_SCNUMS_SOLARIS_H
378eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
388eb8bab992e3998c33770b0cdb16059a8b918a06sewardj/* Note: Basic information about Solaris syscalls can be found in the kernel
398eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   source file uts/common/os/sysent.c.
408eb8bab992e3998c33770b0cdb16059a8b918a06sewardj */
418eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
428eb8bab992e3998c33770b0cdb16059a8b918a06sewardj/* Include sys/syscall.h to get SYS_* constants (and sys/trap.h to get T_*) to
438eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   avoid any copyright issues connected with their potential copying out of
448eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   the header file.
458eb8bab992e3998c33770b0cdb16059a8b918a06sewardj */
468eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#include <sys/syscall.h>
478eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#include <sys/trap.h>
488eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
498eb8bab992e3998c33770b0cdb16059a8b918a06sewardj/* normal syscall (int $0x91) */
508eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define VG_SOLARIS_SYSCALL_CLASS_CLASSIC        0
518eb8bab992e3998c33770b0cdb16059a8b918a06sewardj/* fasttrap syscall (int $0xD2) */
528eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define VG_SOLARIS_SYSCALL_CLASS_FASTTRAP       1
538eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
548eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define VG_SOLARIS_SYSCALL_CLASS_SHIFT 24
558eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define VG_SOLARIS_SYSCALL_NUMBER_MASK 0x00FFFFFF
568eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
578eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(sysno) \
588eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   ((VG_SOLARIS_SYSCALL_CLASS_FASTTRAP << VG_SOLARIS_SYSCALL_CLASS_SHIFT) \
598eb8bab992e3998c33770b0cdb16059a8b918a06sewardj    | (sysno))
608eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define VG_SOLARIS_SYSNO_CLASS(sysno) \
618eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   ((sysno) >> VG_SOLARIS_SYSCALL_CLASS_SHIFT)
628eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define VG_SOLARIS_SYSNO_INDEX(sysno) \
638eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   ((sysno) & VG_SOLARIS_SYSCALL_NUMBER_MASK)
648eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
658eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_exit                       SYS_exit
668eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#if defined(SOLARIS_SPAWN_SYSCALL)
678eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_spawn                      SYS_spawn
688eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#endif /* SOLARIS_SPAWN_SYSCALL */
698eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_read                       SYS_read
708eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_write                      SYS_write
718eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_close                      SYS_close
728eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_linkat                     SYS_linkat
738eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_symlinkat                  SYS_symlinkat
748eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_chdir                      SYS_chdir
758eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_time                       SYS_time
768eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_brk                        SYS_brk
778eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lseek                      SYS_lseek
788eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getpid                     SYS_getpid
798eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_mount                      SYS_mount
808eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_readlinkat                 SYS_readlinkat
818eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_setuid                     SYS_setuid
828eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getuid                     SYS_getuid
838eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_stime                      SYS_stime
848eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_pcsample                   SYS_pcsample
858eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_alarm                      SYS_alarm
868eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_pause                      SYS_pause
878eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#if defined(SOLARIS_FREALPATHAT_SYSCALL)
888eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_frealpathat                SYS_frealpathat
898eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#endif /* SOLARIS_FREALPATHAT_SYSCALL */
908eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_stty                       SYS_stty
918eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_gtty                       SYS_gtty
928eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_nice                       SYS_nice
938eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_statfs                     SYS_statfs
948eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_sync                       SYS_sync
958eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_kill                       SYS_kill
968eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_fstatfs                    SYS_fstatfs
978eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_pgrpsys                    SYS_pgrpsys
988eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_uucopystr                  SYS_uucopystr
998eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_pipe                       SYS_pipe
1008eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_times                      SYS_times
1018eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_profil                     SYS_profil
1028eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_faccessat                  SYS_faccessat
1038eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_setgid                     SYS_setgid
1048eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getgid                     SYS_getgid
1058eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_mknodat                    SYS_mknodat
1068eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_msgsys                     SYS_msgsys
1078eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_sysi86                     SYS_sysi86
1088eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_acct                       SYS_acct
1098eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_shmsys                     SYS_shmsys
1108eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_semsys                     SYS_semsys
1118eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_ioctl                      SYS_ioctl
1128eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_uadmin                     SYS_uadmin
1138eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_fchownat                   SYS_fchownat
1148eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_utssys                     SYS_utssys
1158eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_fdsync                     SYS_fdsync
1168eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_execve                     SYS_execve
1178eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_umask                      SYS_umask
1188eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_chroot                     SYS_chroot
1198eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_fcntl                      SYS_fcntl
1208eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_ulimit                     SYS_ulimit
1218eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_renameat                   SYS_renameat
1228eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_unlinkat                   SYS_unlinkat
1238eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_fstatat                    SYS_fstatat
1248eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_fstatat64                  SYS_fstatat64
1258eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_openat                     SYS_openat
1268eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_openat64                   SYS_openat64
1278eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_tasksys                    SYS_tasksys
1288eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_acctctl                    SYS_acctctl
1298eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_exacctsys                  SYS_exacctsys
1308eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getpagesizes               SYS_getpagesizes
1318eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_rctlsys                    SYS_rctlsys
1328eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_sidsys                     SYS_sidsys
1338eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_park                   SYS_lwp_park
1348eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_sendfilev                  SYS_sendfilev
1358eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#if defined(SOLARIS_LWP_NAME_SYSCALL)
1368eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_name                   SYS_lwp_name
1378eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#endif /* SOLARIS_LWP_NAME_SYSCALL */
1388eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getdents                   SYS_getdents
1398eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_privsys                    SYS_privsys
1408eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_ucredsys                   SYS_ucredsys
141a0664b9ca67b594bd6f570a61d3301167a24750cElliott Hughes#define __NR_sysfs                      SYS_sysfs
1428eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getmsg                     SYS_getmsg
1438eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_putmsg                     SYS_putmsg
1448eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_setgroups                  SYS_setgroups
1458eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getgroups                  SYS_getgroups
1468eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_sigprocmask                SYS_sigprocmask
147ed39800a83baf5bffbe391f3974eb2af0f415f80Elliott Hughes#define __NR_sigsuspend                 SYS_sigsuspend
1488eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_sigaltstack                SYS_sigaltstack
1498eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_sigaction                  SYS_sigaction
1508eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_sigpending                 SYS_sigpending
1518eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_context                    SYS_context
1528eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_fchmodat                   SYS_fchmodat
1538eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_mkdirat                    SYS_mkdirat
1548eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_statvfs                    SYS_statvfs
1558eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_fstatvfs                   SYS_fstatvfs
1568eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_getloadavg                 SYS_getloadavg
1578eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_nfssys                     SYS_nfssys
1588eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_waitid                     SYS_waitid
1598eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_waitsys                    SYS_waitsys /* = SYS_waitid (historical) */
160ed39800a83baf5bffbe391f3974eb2af0f415f80Elliott Hughes#define __NR_sigsendsys                 SYS_sigsendsys
1618eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_hrtsys                     SYS_hrtsys
1628eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#if defined(SOLARIS_UTIMESYS_SYSCALL)
1638eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_utimesys                   SYS_utimesys
1648eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#endif /* SOLARIS_UTIMESYS_SYSCALL */
1658eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#if defined(SOLARIS_UTIMENSAT_SYSCALL)
1668eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_utimensat                  SYS_utimensat
1678eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#endif /* SOLARIS_UTIMENSAT_SYSCALL */
1688eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_sigresend                  SYS_sigresend
1698eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_priocntlsys                SYS_priocntlsys
1708eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_pathconf                   SYS_pathconf
1718eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_mincore                    SYS_mincore
1728eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_mmap                       SYS_mmap
1738eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_mprotect                   SYS_mprotect
1748eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_munmap                     SYS_munmap
1758eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_fpathconf                  SYS_fpathconf
1768eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_vfork                      SYS_vfork
177c593e2fb742b5461caa9844ddb40303dd7a9a923iraisr#define __NR_fchdir                     SYS_fchdir
1788eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_readv                      SYS_readv
1798eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_writev                     SYS_writev
1808eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#if defined(SOLARIS_UUIDSYS_SYSCALL)
1818eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_uuidsys                    SYS_uuidsys
1828eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#endif /* SOLARIS_UUIDSYS_SYSCALL */
1838eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_mmapobj                    SYS_mmapobj
1848eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_setrlimit                  SYS_setrlimit
1858eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getrlimit                  SYS_getrlimit
1868eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_memcntl                    SYS_memcntl
1878eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getpmsg                    SYS_getpmsg
1888eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_putpmsg                    SYS_putpmsg
1898eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_uname                      SYS_uname
1908eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_setegid                    SYS_setegid
1918eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_sysconfig                  SYS_sysconfig
1928eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_adjtime                    SYS_adjtime
1938eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_systeminfo                 SYS_systeminfo
1948eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_sharefs                    SYS_sharefs
1958eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_seteuid                    SYS_seteuid
1968eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_forksys                    SYS_forksys
197a0664b9ca67b594bd6f570a61d3301167a24750cElliott Hughes#if defined(SOLARIS_GETRANDOM_SYSCALL)
198a0664b9ca67b594bd6f570a61d3301167a24750cElliott Hughes#define __NR_getrandom                  SYS_getrandom
199a0664b9ca67b594bd6f570a61d3301167a24750cElliott Hughes#endif /* SOLARIS_GETRANDOM_SYSCALL */
2008eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_sigtimedwait               SYS_sigtimedwait
2018eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_lwp_info                   SYS_lwp_info
2028eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_yield                      SYS_yield
2038eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_sema_post              SYS_lwp_sema_post
2048eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_sema_trywait           SYS_lwp_sema_trywait
2058eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_detach                 SYS_lwp_detach
2068eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_corectl                    SYS_corectl
207a0664b9ca67b594bd6f570a61d3301167a24750cElliott Hughes#define __NR_modctl                     SYS_modctl
2088eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_fchroot                    SYS_fchroot
209c0d46cd894a167eec7d92337cffdcb410e22570firaisr#if defined(SOLARIS_SYSTEM_STATS_SYSCALL)
210c0d46cd894a167eec7d92337cffdcb410e22570firaisr#define __NR_system_stats               SYS_system_stats
211c0d46cd894a167eec7d92337cffdcb410e22570firaisr#endif /* SOLARIS_SYSTEM_STATS_SYSCALL */
2128eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_vhangup                    SYS_vhangup
2138eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_gettimeofday               SYS_gettimeofday
2148eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getitimer                  SYS_getitimer
2158eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_setitimer                  SYS_setitimer
2168eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_create                 SYS_lwp_create
2178eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_exit                   SYS_lwp_exit
2188eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_suspend                SYS_lwp_suspend
2198eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_continue               SYS_lwp_continue
2208eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#if defined(SOLARIS_LWP_SIGQUEUE_SYSCALL)
2218eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_sigqueue               SYS_lwp_sigqueue
2228eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#else
2238eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_kill                   SYS_lwp_kill
2248eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#endif /* SOLARIS_LWP_SIGQUEUE_SYSCALL */
2258eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_self                   SYS_lwp_self
2268eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_sigmask                SYS_lwp_sigmask
2278eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_private                SYS_lwp_private
2288eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_wait                   SYS_lwp_wait
2298eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_mutex_wakeup           SYS_lwp_mutex_wakeup
230173bb6eca54e6678fddc5c63840d61341830335airaisr#define __NR_lwp_cond_wait              SYS_lwp_cond_wait
231a0664b9ca67b594bd6f570a61d3301167a24750cElliott Hughes#define __NR_lwp_cond_signal            SYS_lwp_cond_signal
2328eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_cond_broadcast         SYS_lwp_cond_broadcast
2338eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_pread                      SYS_pread
2348eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_pwrite                     SYS_pwrite
2358eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_llseek                     SYS_llseek
2368eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_inst_sync                  SYS_inst_sync
2378eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_brand                      SYS_brand
2388eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_kaio                       SYS_kaio
2398eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_cpc                        SYS_cpc
240ed39800a83baf5bffbe391f3974eb2af0f415f80Elliott Hughes#define __NR_lgrpsys                    SYS_lgrpsys
2418eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_rusagesys                  SYS_rusagesys
2428eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_port                       SYS_port
2438eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_pollsys                    SYS_pollsys
2448eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_labelsys                   SYS_labelsys
2458eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_acl                        SYS_acl
2468eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_auditsys                   SYS_auditsys
2478eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_processor_bind             SYS_processor_bind
2488eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_processor_info             SYS_processor_info
2498eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_p_online                   SYS_p_online
2508eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_sigqueue                   SYS_sigqueue
2518eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_clock_gettime              SYS_clock_gettime
2528eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_clock_settime              SYS_clock_settime
2538eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_clock_getres               SYS_clock_getres
2548eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_timer_create               SYS_timer_create
2558eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_timer_delete               SYS_timer_delete
2568eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_timer_settime              SYS_timer_settime
2578eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_timer_gettime              SYS_timer_gettime
2588eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_timer_getoverrun           SYS_timer_getoverrun
2598eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_nanosleep                  SYS_nanosleep
2608eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_facl                       SYS_facl
2618eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_door                       SYS_door
2628eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_setreuid                   SYS_setreuid
2638eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_setregid                   SYS_setregid
2648eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_install_utrap              SYS_install_utrap
2658eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_signotify                  SYS_signotify
2668eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_schedctl                   SYS_schedctl
2677d4aa19d6f2d67bd894015653c00795a0fbd4b74iraisr#define __NR_pset                       SYS_pset
2688eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define SYS_sparc_utrap_install
2698eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_resolvepath                SYS_resolvepath
2708eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_mutex_timedlock        SYS_lwp_mutex_timedlock
2718eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_sema_timedwait         SYS_lwp_sema_timedwait
2728eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_rwlock_sys             SYS_lwp_rwlock_sys
2738eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getdents64                 SYS_getdents64
2748eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_mmap64                     SYS_mmap64
2758eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_statvfs64                  SYS_statvfs64
2768eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_fstatvfs64                 SYS_fstatvfs64
2778eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_setrlimit64                SYS_setrlimit64
2788eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getrlimit64                SYS_getrlimit64
2798eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_pread64                    SYS_pread64
2808eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_pwrite64                   SYS_pwrite64
2818eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_rpcsys                     SYS_rpcsys
2828eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_zone                       SYS_zone
2838eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_autofssys                  SYS_autofssys
2848eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getcwd                     SYS_getcwd
2858eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_so_socket                  SYS_so_socket
2868eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_so_socketpair              SYS_so_socketpair
2878eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_bind                       SYS_bind
2888eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_listen                     SYS_listen
2898eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_accept                     SYS_accept
2908eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_connect                    SYS_connect
2918eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_shutdown                   SYS_shutdown
2928eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_recv                       SYS_recv
2938eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_recvfrom                   SYS_recvfrom
2948eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_recvmsg                    SYS_recvmsg
2958eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_send                       SYS_send
2968eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_sendmsg                    SYS_sendmsg
2978eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_sendto                     SYS_sendto
2988eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getpeername                SYS_getpeername
2998eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getsockname                SYS_getsockname
3008eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getsockopt                 SYS_getsockopt
3018eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_setsockopt                 SYS_setsockopt
3028eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_sockconfig                 SYS_sockconfig
3038eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_ntp_gettime                SYS_ntp_gettime
3048eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_ntp_adjtime                SYS_ntp_adjtime
3058eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_lwp_mutex_unlock           SYS_lwp_mutex_unlock
3068eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_lwp_mutex_trylock          SYS_lwp_mutex_trylock
3078eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lwp_mutex_register         SYS_lwp_mutex_register
3088eb8bab992e3998c33770b0cdb16059a8b918a06sewardj//#define __NR_cladm                      SYS_cladm
3098eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_uucopy                     SYS_uucopy
3108eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_umount2                    SYS_umount2
3118eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
3128eb8bab992e3998c33770b0cdb16059a8b918a06sewardj/* The following syscalls were removed in Solaris 11 (see
3138eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   https://wikis.oracle.com/display/DTrace/syscall+Provider). Valgrind's core
3148eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   cannot use these syscalls but wrappers have to be provided for them because
3158eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   they are still in use on illumos.
3168eb8bab992e3998c33770b0cdb16059a8b918a06sewardj*/
3178eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#if defined(SOLARIS_OLD_SYSCALLS)
3188eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_open                       SYS_open
3198eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_link                       SYS_link
3208eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_unlink                     SYS_unlink
3218eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_mknod                      SYS_mknod
3228eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_chmod                      SYS_chmod
3238eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_chown                      SYS_chown
3248eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_stat                       SYS_stat
3258eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_fstat                      SYS_fstat
3268eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_access                     SYS_access
3278eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_rmdir                      SYS_rmdir
3288eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_mkdir                      SYS_mkdir
3298eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lstat                      SYS_lstat
3308eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_symlink                    SYS_symlink
3318eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_readlink                   SYS_readlink
3328eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_fchmod                     SYS_fchmod
3338eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_fchown                     SYS_fchown
3348eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lchown                     SYS_lchown
3358eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_rename                     SYS_rename
3368eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_stat64                     SYS_stat64
3378eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_lstat64                    SYS_lstat64
3388eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_fstat64                    SYS_fstat64
3398eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_open64                     SYS_open64
3408eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#endif /* SOLARIS_OLD_SYSCALLS */
3418eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
3428eb8bab992e3998c33770b0cdb16059a8b918a06sewardj/*
3438eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_null \
3448eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_FNULL)
3458eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_fgetfp \
3468eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_FGETFP)
3478eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_fsetfp \
3488eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_FSETFP)
3498eb8bab992e3998c33770b0cdb16059a8b918a06sewardj*/
3508eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_gethrtime \
3518eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_GETHRTIME)
3528eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_gethrvtime \
3538eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_GETHRVTIME)
3548eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_gethrestime \
3558eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_GETHRESTIME)
3568eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getlgrp \
3578eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_GETLGRP)
3588eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#if defined(SOLARIS_GETHRT_FASTTRAP)
3598eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_gethrt \
3608eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_GETHRT)
3618eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#endif /* SOLARIS_GETHRT_FASTTRAP */
3628eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#if defined(SOLARIS_GETZONEOFFSET_FASTTRAP)
3638eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#define __NR_getzoneoffset \
3648eb8bab992e3998c33770b0cdb16059a8b918a06sewardj   VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_GETZONEOFFSET)
3658eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#endif /* SOLARIS_GETZONEOFFSET_FASTTRAP */
3668eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
3678eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#endif /* __VKI_SCNUMS_SOLARIS_H */
3688eb8bab992e3998c33770b0cdb16059a8b918a06sewardj
3698eb8bab992e3998c33770b0cdb16059a8b918a06sewardj/*--------------------------------------------------------------------*/
3708eb8bab992e3998c33770b0cdb16059a8b918a06sewardj/*--- end                                                          ---*/
3718eb8bab992e3998c33770b0cdb16059a8b918a06sewardj/*--------------------------------------------------------------------*/
372