+++ /dev/null
-/*
- * Copyright (c) 2004-2005 The Regents of The University of Michigan
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Ali Saidi
- */
-
-#include "kern/linux/linux_syscalls.hh"
-
-namespace {
- const char *
- standard_strings[SystemCalls<Linux>::Number] = {
-
-
- "llseek", //0
- "newselect", //1
- "sysctl", //2
- "access", //3
- "acct", //4
- "adjtimex", //5
- "afs_syscall", //6
- "alarm", //7
- "bdflush", //8
- "break", //9
-
-
- "brk", //10
- "capget", //11
- "capset", //12
- "chdir", //13
- "chmod", //14
- "chown", //15
- "chown32", //16
- "chroot", //17
- "clock_getres", //18
- "clock_gettime", //19
-
-
- "clock_nanosleep", //20
- "clock_settime", //21
- "clone", //22
- "close", //23
- "creat", //24
- "create_module", //25
- "delete_module", //26
- "dup", //27
- "dup2", //28
- "epoll_create", //29
-
-
- "epoll_ctl", //30
- "epoll_wait", //31
- "execve", //32
- "exit", //33
- "exit_group", //34
- "fadvise64", //35
- "fadvise64_64", //36
- "fchdir", //37
- "fchmod", //38
- "fchown", //39
-
-
- "fchown32", //40
- "fcntl", //41
- "fcntl64", //42
- "fdatasync", //43
- "fgetxattr", //44
- "flistxattr", //45
- "flock", //46
- "fork", //47
- "fremovexattr", //48
- "fsetxattr", //49
-
-
- "fstat", //50
- "fstat64", //51
- "fstatfs", //52
- "fstatfs64", //53
- "fsync", //54
- "ftime", //55
- "ftruncate", //56
- "ftruncate64", //57
- "futex", //58
- "get_kernel_syms", //59
-
-
- "get_thread_area", //60
- "getcwd", //61
- "getdents", //62
- "getdents64", //63
- "getegid", //64
- "getegid32", //65
- "geteuid", //66
- "geteuid32", //67
- "getgid", //68
- "getgid32", //69
-
-
- "getgroups", //70
- "getgroups32", //71
- "getitimer", //72
- "getpgid", //73
- "getpgrp", //74
- "getpid", //75
- "getpmsg", //76
- "getppid", //77
- "getpriority", //78
- "getresgid", //79
-
-
- "getresgid32", //80
- "getresuid", //81
- "getresuid32", //82
- "getrlimit", //83
- "getrusage", //84
- "getsid", //85
- "gettid", //86
- "gettimeofday", //87
- "getuid", //88
- "getuid32", //89
-
-
- "getxattr", //90
- "gtty", //91
- "idle", //92
- "init_module", //93
- "io_cancel", //94
- "io_destroy", //95
- "io_getevents", //96
- "io_setup", //97
- "io_submit", //98
- "ioctl", //99
-
-
- "ioperm", //100
- "iopl", //101
- "ipc", //102
- "kill", //103
- "lchown", //104
- "lchown32", //105
- "lgetxattr", //106
- "link", //107
- "listxattr", //108
- "llistxattr", //109
-
-
- "lock", //110
- "lookup_dcookie", //111
- "lremovexattr", //112
- "lseek", //113
- "lsetxattr", //114
- "lstat", //115
- "lstat64", //116
- "madvise", //117
- "madvise1", //118
- "mincore", //119
-
-
- "mkdir", //120
- "mknod", //121
- "mlock", //122
- "mlockall", //123
- "mmap", //124
- "mmap2", //125
- "modify_ldt", //126
- "mount", //127
- "mprotect", //128
- "mpx", //129
-
-
- "mremap", //130
- "msync", //131
- "munlock", //132
- "munlockall", //133
- "munmap", //134
- "nanosleep", //135
- "nfsservctl", //136
- "nice", //137
- "oldfstat", //138
- "oldlstat", //139
-
-
- "oldolduname", //140
- "oldstat", //141
- "olduname", //142
- "open", //143
- "pause", //144
- "personality", //145
- "pipe", //146
- "pivot_root", //147
- "poll", //148
- "prctl", //149
-
-
- "pread64", //150
- "prof", //151
- "profil", //152
- "ptrace", //153
- "putpmsg", //154
- "pwrite64", //155
- "query_module", //156
- "quotactl", //157
- "read", //158
- "readahead", //159
-
-
- "readdir", //160
- "readlink", //161
- "readv", //162
- "reboot", //163
- "remap_file_pages", //164
- "removexattr", //165
- "rename", //166
- "restart_syscall", //167
- "rmdir", //168
- "rt_sigaction", //169
-
-
- "rt_sigpending", //170
- "rt_sigprocmask", //171
- "rt_sigqueueinfo", //172
- "rt_sigreturn", //173
- "rt_sigsuspend", //174
- "rt_sigtimedwait", //175
- "sched_get_priority_max", //176
- "sched_get_priority_min", //177
- "sched_getaffinity", //178
- "sched_getparam", //179
-
-
- "sched_getscheduler", //180
- "sched_rr_get_interval", //181
- "sched_setaffinity", //182
- "sched_setparam", //183
- "sched_setscheduler", //184
- "sched_yield", //185
- "select", //186
- "sendfile", //187
- "sendfile64", //188
- "set_thread_area", //189
-
-
- "set_tid_address", //190
- "setdomainname", //191
- "setfsgid", //192
- "setfsgid32", //193
- "setfsuid", //194
- "setfsuid32", //195
- "setgid", //196
- "setgid32", //197
- "setgroups", //198
- "setgroups32", //199
-
-
- "sethostname", //200
- "setitimer", //201
- "setpgid", //202
- "setpriority", //203
- "setregid", //204
- "setregid32", //205
- "setresgid", //206
- "setresgid32", //207
- "setresuid", //208
- "setresuid32", //209
-
-
- "setreuid", //210
- "setreuid32", //211
- "setrlimit", //212
- "setsid", //213
- "settimeofday", //214
- "setuid", //215
- "setuid32", //216
- "setxattr", //217
- "sgetmask", //218
- "sigaction", //219
-
-
- "sigaltstack", //220
- "signal", //221
- "sigpending", //222
- "sigprocmask", //223
- "sigreturn", //224
- "sigsuspend", //225
- "socketcall", //226
- "ssetmask", //227
- "stat", //228
- "stat64", //229
-
-
- "statfs", //230
- "statfs64", //231
- "stime", //232
- "stty", //233
- "swapoff", //234
- "swapon", //235
- "symlink", //236
- "sync", //237
- "sysfs", //238
- "sysinfo", //239
-
-
- "syslog", //240
- "tgkill", //241
- "time", //242
- "timer_create", //243
- "timer_delete", //244
- "timer_getoverrun", //245
- "timer_gettime", //246
- "timer_settime", //247
- "times", //248
- "tkill", //249
-
-
- "truncate", //250
- "truncate64", //251
- "ugetrlimit", //252
- "ulimit", //253
- "umask", //254
- "umount", //255
- "umount2", //256
- "uname", //257
- "unlink", //258
- "uselib", //259
-
-
- "ustat", //260
- "utime", //261
- "utimes", //262
- "vfork", //263
- "vhangup", //264
- "vm86", //265
- "vm86old", //266
- "vserver", //267
- "wait4", //268
- "waitpid", //269
-
-
- "write", //270
- "writev", //271
- };
-
-
-}
-
-const char *
-SystemCalls<Linux>::name(int num)
-{
- if ((num >= 0) && (num < Number))
- return standard_strings[num];
- else
- return 0;
-}
+++ /dev/null
-/*
- * Copyright (c) 2004-2005 The Regents of The University of Michigan
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Ali Saidi
- */
-
-#ifndef __KERN_LINUX_LINUX_SYSCALLS_HH__
-#define __KERN_LINUX_LINUX_SYSCALLS_HH__
-
-#include "kern/linux/linux.hh"
-
-template <class OS>
-class SystemCalls;
-
-template <>
-class SystemCalls<Linux>
-{
- public:
- enum {
- syscall = 0,
- llseek = 1,
- newselect = 2,
- sysctl = 3,
- access = 4,
- acct = 5,
- adjtimex = 6,
- afs_syscall = 7,
- alarm = 8,
- bdflush = 9,
- _break = 10, /*renamed from break*/
- brk = 11,
- capget = 12,
- capset = 13,
- chdir = 14,
- chmod = 15,
- chown = 16,
- chown32 = 17,
- chroot = 18,
- clock_getres = 19,
- clock_gettime = 20,
- clock_nanosleep = 21,
- clock_settime = 22,
- clone = 23,
- close = 24,
- creat = 25,
- create_module = 26,
- delete_module = 27,
- dup = 28,
- dup2 = 29,
- epoll_create = 30,
- epoll_ctl = 31,
- epoll_wait = 32,
- execve = 33,
- exit = 34,
- exit_group = 35,
- fadvise64 = 36,
- fadvise64_64 = 37,
- fchdir = 38,
- fchmod = 39,
- fchown = 40,
- fchown32 = 41,
- fcntl = 42,
- fcntl64 = 43,
- fdatasync = 44,
- fgetxattr = 45,
- flistxattr = 46,
- flock = 47,
- fork = 48,
- fremovexattr = 49,
- fsetxattr = 50,
- fstat = 51,
- fstat64 = 52,
- fstatfs = 53,
- fstatfs64 = 54,
- fsync = 55,
- ftime = 56,
- ftruncate = 57,
- ftruncate64 = 58,
- futex = 59,
- get_kernel_syms = 60,
- get_thread_area = 61,
- getcwd = 62,
- getdents = 63,
- getdents64 = 64,
- getegid = 65,
- getegid32 = 66,
- geteuid = 67,
- geteuid32 = 68,
- getgid = 69,
- getgid32 = 70,
- getgroups = 71,
- getgroups32 = 72,
- getitimer = 73,
- getpgid = 74,
- getpgrp = 75,
- getpid = 76,
- getpmsg = 77,
- getppid = 78,
- getpriority = 79,
- getresgid = 80,
- getresgid32 = 81,
- getresuid = 82,
- getresuid32 = 83,
- getrlimit = 84,
- getrusage = 85,
- getsid = 86,
- gettid = 87,
- gettimeofday = 88,
- getuid = 89,
- getuid32 = 90,
- getxattr = 91,
- gtty = 92,
- idle = 93,
- init_module = 94,
- io_cancel = 95,
- io_destroy = 96,
- io_getevents = 97,
- io_setup = 98,
- io_submit = 99,
- ioctl = 100,
- ioperm = 101,
- iopl = 102,
- ipc = 103,
- kill = 104,
- lchown = 105,
- lchown32 = 106,
- lgetxattr = 107,
- link = 108,
- listxattr = 109,
- llistxattr = 110,
- lock = 111,
- lookup_dcookie = 112,
- lremovexattr = 113,
- lseek = 114,
- lsetxattr = 115,
- lstat = 116,
- lstat64 = 117,
- madvise = 118,
- madvise1 = 119,
- mincore = 120,
- mkdir = 121,
- mknod = 122,
- mlock = 123,
- mlockall = 124,
- mmap = 125,
- mmap2 = 126,
- modify_ldt = 127,
- mount = 128,
- mprotect = 129,
- mpx = 130,
- mremap = 131,
- msync = 132,
- munlock = 133,
- munlockall = 134,
- munmap = 135,
- nanosleep = 136,
- nfsservctl = 137,
- nice = 138,
- oldfstat = 139,
- oldlstat = 140,
- oldolduname = 141,
- oldstat = 142,
- olduname = 143,
- open = 144,
- pause = 145,
- personality = 146,
- pipe = 147,
- pivot_root = 148,
- poll = 149,
- prctl = 150,
- pread64 = 151,
- prof = 152,
- profil = 153,
- ptrace = 154,
- putpmsg = 155,
- pwrite64 = 156,
- query_module = 157,
- quotactl = 158,
- read = 159,
- readahead = 160,
- readdir = 161,
- readlink = 162,
- readv = 163,
- reboot = 164,
- remap_file_pages = 165,
- removexattr = 166,
- rename = 167,
- restart_syscall = 168,
- rmdir = 169,
- rt_sigaction = 170,
- rt_sigpending = 171,
- rt_sigprocmask = 172,
- rt_sigqueueinfo = 173,
- rt_sigreturn = 174,
- rt_sigsuspend = 175,
- rt_sigtimedwait = 176,
- sched_get_priority_max = 177,
- sched_get_priority_min = 178,
- sched_getaffinity = 179,
- sched_getparam = 180,
- sched_getscheduler = 181,
- sched_rr_get_interval = 182,
- sched_setaffinity = 183,
- sched_setparam = 184,
- sched_setscheduler = 185,
- sched_yield = 186,
- select = 187,
- sendfile = 188,
- sendfile64 = 189,
- set_thread_area = 190,
- set_tid_address = 191,
- setdomainname = 192,
- setfsgid = 193,
- setfsgid32 = 194,
- setfsuid = 195,
- setfsuid32 = 196,
- setgid = 197,
- setgid32 = 198,
- setgroups = 199,
- setgroups32 = 200,
- sethostname = 201,
- setitimer = 202,
- setpgid = 203,
- setpriority = 204,
- setregid = 205,
- setregid32 = 206,
- setresgid = 207,
- setresgid32 = 208,
- setresuid = 209,
- setresuid32 = 210,
- setreuid = 211,
- setreuid32 = 212,
- setrlimit = 213,
- setsid = 214,
- settimeofday = 215,
- setuid = 216,
- setuid32 = 217,
- setxattr = 218,
- sgetmask = 219,
- sigaction = 220,
- sigaltstack = 221,
- signal = 222,
- sigpending = 223,
- sigprocmask = 224,
- sigreturn = 225,
- sigsuspend = 226,
- socketcall = 227,
- ssetmask = 228,
- stat = 229,
- stat64 = 230,
- statfs = 231,
- statfs64 = 232,
- stime = 233,
- stty = 234,
- swapoff = 235,
- swapon = 236,
- symlink = 237,
- sync = 238,
- sysfs = 239,
- sysinfo = 240,
- syslog = 241,
- tgkill = 242,
- time = 243,
- timer_create = 244,
- timer_delete = 245,
- timer_getoverrun = 246,
- timer_gettime = 247,
- timer_settime = 248,
- times = 249,
- tkill = 250,
- truncate = 251,
- truncate64 = 252,
- ugetrlimit = 253,
- ulimit = 254,
- umask = 255,
- umount = 256,
- umount2 = 257,
- uname = 258,
- unlink = 259,
- uselib = 260,
- ustat = 261,
- utime = 262,
- utimes = 263,
- vfork = 264,
- vhangup = 265,
- vm86 = 266,
- vm86old = 267,
- vserver = 268,
- wait4 = 269,
- waitpid = 270,
- write = 271,
- writev = 272,
- Number
- };
-
- static const char *name(int num);
-
- static bool validSyscallNumber(int num) {
- return num < Number;
- }
-
-};
-
-#endif // __KERN_LINUX_LINUX_SYSCALLS_HH__