
/*
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.

   Copyright (C) 2005 Julian Seward
      jseward@acm.org

   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
   published by the Free Software Foundation; either version 2 of the
   License, or (at your option) any later version.

   This program is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   02111-1307, USA.

   The GNU General Public License is contained in the file COPYING.
*/

#ifndef __VKI_UNISTD_PPC32_LINUX_H
#define __VKI_UNISTD_PPC32_LINUX_H

// From linux-2.6.9/include/asm-ppc/unistd.h

#define __NR_restart_syscall		  0
#define __NR_exit			  1
#define __NR_fork			  2
#define __NR_read			  3
#define __NR_write			  4
#define __NR_open			  5
#define __NR_close			  6
//#define __NR_waitpid			  7
//#define __NR_creat			  8
//#define __NR_link			  9
#define __NR_unlink			 10
#define __NR_execve			 11
//#define __NR_chdir			 12
//#define __NR_time			 13
//#define __NR_mknod			 14
//#define __NR_chmod			 15
//#define __NR_lchown			 16
//#define __NR_break			 17
//#define __NR_oldstat			 18
#define __NR_lseek			 19
#define __NR_getpid			 20
//#define __NR_mount			 21
//#define __NR_umount			 22
//#define __NR_setuid			 23
//#define __NR_getuid			 24
//#define __NR_stime			 25
//#define __NR_ptrace			 26
//#define __NR_alarm			 27
//#define __NR_oldfstat			 28
//#define __NR_pause			 29
//#define __NR_utime			 30
//#define __NR_stty			 31
//#define __NR_gtty			 32
#define __NR_access			 33
//#define __NR_nice			 34
//#define __NR_ftime			 35
//#define __NR_sync			 36
#define __NR_kill			 37
#define __NR_rename			 38
//#define __NR_mkdir			 39
//#define __NR_rmdir			 40
//#define __NR_dup			 41
#define __NR_pipe			 42
//#define __NR_times			 43
//#define __NR_prof			 44
#define __NR_brk			 45
//#define __NR_setgid			 46
//#define __NR_getgid			 47
//#define __NR_signal			 48
//#define __NR_geteuid			 49
//#define __NR_getegid			 50
//#define __NR_acct			 51
//#define __NR_umount2			 52
//#define __NR_lock			 53
#define __NR_ioctl			 54
#define __NR_fcntl			 55
//#define __NR_mpx			 56
#define __NR_setpgid			 57
//#define __NR_ulimit			 58
//#define __NR_oldolduname		 59
//#define __NR_umask			 60
//#define __NR_chroot			 61
//#define __NR_ustat			 62
#define __NR_dup2			 63
#define __NR_getppid			 64
#define __NR_getpgrp			 65
//#define __NR_setsid			 66
//#define __NR_sigaction		 67
//#define __NR_sgetmask			 68
//#define __NR_ssetmask			 69
//#define __NR_setreuid			 70
//#define __NR_setregid			 71
//#define __NR_sigsuspend		 72
#define __NR_sigpending			 73
//#define __NR_sethostname		 74
#define __NR_setrlimit			 75
#define __NR_getrlimit			 76
//#define __NR_getrusage		 77
#define __NR_gettimeofday		 78
//#define __NR_settimeofday		 79
//#define __NR_getgroups		 80
//#define __NR_setgroups		 81
//#define __NR_select			 82
//#define __NR_symlink			 83
//#define __NR_oldlstat			 84
#define __NR_readlink			 85
//#define __NR_uselib			 86
//#define __NR_swapon			 87
//#define __NR_reboot			 88
//#define __NR_readdir			 89
#define __NR_mmap			 90
#define __NR_munmap			 91
//#define __NR_truncate			 92
//#define __NR_ftruncate		 93
//#define __NR_fchmod			 94
//#define __NR_fchown			 95
//#define __NR_getpriority		 96
//#define __NR_setpriority		 97
//#define __NR_profil			 98
//#define __NR_statfs			 99
//#define __NR_fstatfs			100
//#define __NR_ioperm			101
#define __NR_socketcall			102
//#define __NR_syslog			103
//#define __NR_setitimer		104
//#define __NR_getitimer		105
#define __NR_stat			106
//#define __NR_lstat			107
#define __NR_fstat			108
//#define __NR_olduname			109
//#define __NR_iopl			110
//#define __NR_vhangup			111
//#define __NR_idle			112
//#define __NR_vm86old			113
#define __NR_wait4			114
//#define __NR_swapoff			115
//#define __NR_sysinfo			116
#define __NR_ipc			117
//#define __NR_fsync			118
//#define __NR_sigreturn		119
#define __NR_clone			120
//#define __NR_setdomainname		121
#define __NR_uname			122
//#define __NR_modify_ldt		123
//#define __NR_adjtimex			124
#define __NR_mprotect			125
#define __NR_sigprocmask		126
//#define __NR_create_module		127
//#define __NR_init_module		128
//#define __NR_delete_module		129
//#define __NR_get_kernel_syms		130
//#define __NR_quotactl			131
//#define __NR_getpgid			132
//#define __NR_fchdir			133
//#define __NR_bdflush			134
//#define __NR_sysfs			135
//#define __NR_personality		136
//#define __NR_afs_syscall		137 /* Syscall for Andrew File System */
//#define __NR_setfsuid			138
//#define __NR_setfsgid			139
//#define __NR__llseek			140
#define __NR_getdents			141
//#define __NR__newselect		142
//#define __NR_flock			143
//#define __NR_msync			144
//#define __NR_readv			145
#define __NR_writev			146
//#define __NR_getsid			147
//#define __NR_fdatasync		148
#define __NR__sysctl			149
//#define __NR_mlock			150
//#define __NR_munlock			151
//#define __NR_mlockall			152
//#define __NR_munlockall		153
//#define __NR_sched_setparam		154
//#define __NR_sched_getparam		155
//#define __NR_sched_setscheduler	156
//#define __NR_sched_getscheduler	157
#define __NR_sched_yield		158
//#define __NR_sched_get_priority_max	159
//#define __NR_sched_get_priority_min	160
//#define __NR_sched_rr_get_interval	161
#define __NR_nanosleep			162
#define __NR_mremap			163
//#define __NR_setresuid		164
//#define __NR_getresuid		165
//#define __NR_query_module		166
#define __NR_poll			167
//#define __NR_nfsservctl		168
//#define __NR_setresgid		169
//#define __NR_getresgid		170
//#define __NR_prctl			171
#define __NR_rt_sigreturn		172
#define __NR_rt_sigaction		173
#define __NR_rt_sigprocmask		174
//#define __NR_rt_sigpending		175
#define __NR_rt_sigtimedwait		176
//#define __NR_rt_sigqueueinfo		177
//#define __NR_rt_sigsuspend		178
//#define __NR_pread64			179
//#define __NR_pwrite64			180
//#define __NR_chown			181
#define __NR_getcwd			182
//#define __NR_capget			183
//#define __NR_capset			184
#define __NR_sigaltstack		185
//#define __NR_sendfile			186
//#define __NR_getpmsg			187   /* some people actually want streams */
//#define __NR_putpmsg			188   /* some people actually want streams */
//#define __NR_vfork			189
#define __NR_ugetrlimit			190   /* SuS compliant getrlimit */
//#define __NR_readahead		191
#define __NR_mmap2			192
//#define __NR_truncate64		193
//#define __NR_ftruncate64		194
#define __NR_stat64			195
//#define __NR_lstat64			196
#define __NR_fstat64			197
//#define __NR_pciconfig_read		198
//#define __NR_pciconfig_write		199
//#define __NR_pciconfig_iobase		200
//#define __NR_multiplexer		201
#define __NR_getdents64			202
//#define __NR_pivot_root		203
#define __NR_fcntl64			204
//#define __NR_madvise			205
//#define __NR_mincore			206
#define __NR_gettid			207
#define __NR_tkill			208
//#define __NR_setxattr			209
//#define __NR_lsetxattr		210
//#define __NR_fsetxattr		211
//#define __NR_getxattr			212
//#define __NR_lgetxattr		213
//#define __NR_fgetxattr		214
//#define __NR_listxattr		215
//#define __NR_llistxattr		216
//#define __NR_flistxattr		217
//#define __NR_removexattr		218
//#define __NR_lremovexattr		219
//#define __NR_fremovexattr		220
#define __NR_futex			221
//#define __NR_sched_setaffinity	222
//#define __NR_sched_getaffinity	223
/* 224 currently unused */
//#define __NR_tuxcall			225
//#define __NR_sendfile64		226
//#define __NR_io_setup			227
//#define __NR_io_destroy		228
//#define __NR_io_getevents		229
//#define __NR_io_submit		230
//#define __NR_io_cancel		231
#define __NR_set_tid_address		232
//#define __NR_fadvise64		233
#define __NR_exit_group			234
//#define __NR_lookup_dcookie		235
//#define __NR_epoll_create		236
//#define __NR_epoll_ctl		237
//#define __NR_epoll_wait		238
//#define __NR_remap_file_pages		239
//#define __NR_timer_create		240
//#define __NR_timer_settime		241
//#define __NR_timer_gettime		242
//#define __NR_timer_getoverrun		243
//#define __NR_timer_delete		244
//#define __NR_clock_settime		245
//#define __NR_clock_gettime		246
//#define __NR_clock_getres		247
//#define __NR_clock_nanosleep		248
//#define __NR_swapcontext		249
//#define __NR_tgkill			250
//#define __NR_utimes			251
//#define __NR_statfs64			252
//#define __NR_fstatfs64		253
//#define __NR_fadvise64_64		254
//#define __NR_rtas			255
/* Number 256 is reserved for sys_debug_setcontext */
/* Number 257 is reserved for vserver */
/* Number 258 is reserved for new sys_remap_file_pages */
/* Number 259 is reserved for new sys_mbind */
/* Number 260 is reserved for new sys_get_mempolicy */
/* Number 261 is reserved for new sys_set_mempolicy */
//#define __NR_mq_open			262
//#define __NR_mq_unlink		263
//#define __NR_mq_timedsend		264
//#define __NR_mq_timedreceive		265
//#define __NR_mq_notify		266
//#define __NR_mq_getsetattr		267
//#define __NR_kexec_load		268

#endif /* __VKI_UNISTD_PPC32_LINUX_H */
