/*
 * 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.
 */

#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;
}
