Esempio n. 1
0
/* Add an mips64-linux specific wrapper to a syscall table. */
#define PLAX_(sysno, name)    WRAPPER_ENTRY_X_(mips_linux, sysno, name)
#define PLAXY(sysno, name)    WRAPPER_ENTRY_XY(mips_linux, sysno, name)

static SyscallTableEntry syscall_main_table[] = {
   GENXY (__NR_read, sys_read),  /* 5000 */
   GENX_ (__NR_write, sys_write),
   GENXY (__NR_open, sys_open),
   GENXY (__NR_close, sys_close),
   GENXY (__NR_stat, sys_newstat),
   GENXY (__NR_fstat, sys_newfstat),
   GENXY (__NR_lstat, sys_newlstat),
   GENXY (__NR_poll, sys_poll),
   LINX_ (__NR_lseek, sys_lseek),
   PLAX_ (__NR_mmap, sys_mmap),
   GENXY (__NR_mprotect, sys_mprotect),
   GENXY (__NR_munmap, sys_munmap),
   GENX_ (__NR_brk, sys_brk),
   LINXY (__NR_rt_sigaction, sys_rt_sigaction),
   LINXY (__NR_rt_sigprocmask, sys_rt_sigprocmask),
   LINXY (__NR_ioctl, sys_ioctl),
   LINXY (__NR_eventfd2, sys_eventfd2),
   LINXY (__NR_signalfd4, sys_signalfd4),
   GENXY (__NR_pread64, sys_pread64),
   GENX_ (__NR_pwrite64, sys_pwrite64),
   GENXY (__NR_readv, sys_readv),
   GENX_ (__NR_writev, sys_writev),
   GENX_ (__NR_access, sys_access),
   PLAXY (__NR_pipe, sys_pipe),
   LINXY (__NR_pipe2, sys_pipe2),
  LINX_(__NR_sched_yield,       sys_sched_yield),          // 124
  LINX_(__NR_sched_get_priority_max,  sys_sched_get_priority_max), // 125
  LINX_(__NR_sched_get_priority_min,  sys_sched_get_priority_min), // 126
  LINXY(__NR_sched_rr_get_interval,   sys_sched_rr_get_interval),  // 127

  GENX_(__NR_kill,              sys_kill),                 // 129
  LINXY(__NR_tkill,             sys_tkill),                // 130
  LINXY(__NR_tgkill,            sys_tgkill),               // 131
  GENXY(__NR_sigaltstack,       sys_sigaltstack),          // 132
  LINX_(__NR_rt_sigsuspend,     sys_rt_sigsuspend),        // 133
  LINXY(__NR_rt_sigaction,      sys_rt_sigaction),         // 134
  LINXY(__NR_rt_sigprocmask,    sys_rt_sigprocmask),       // 135
  LINXY(__NR_rt_sigpending,     sys_rt_sigpending),        // 136
  LINXY(__NR_rt_sigtimedwait,   sys_rt_sigtimedwait),      // 137
  LINXY(__NR_rt_sigqueueinfo,   sys_rt_sigqueueinfo),      // 138
  PLAX_(__NR_rt_sigreturn,      sys_rt_sigreturn),         // 139
  GENX_(__NR_setpriority,             sys_setpriority),    // 140
  GENX_(__NR_getpriority,             sys_getpriority),    // 141

  GENX_(__NR_setregid,          sys_setregid),             // 143
  GENX_(__NR_setgid,            sys_setgid),               // 144
  GENX_(__NR_setreuid,          sys_setreuid),             // 145
  GENX_(__NR_setuid,            sys_setuid),               // 146
  LINX_(__NR_setresuid,         sys_setresuid),            // 147
  LINXY(__NR_getresuid,         sys_getresuid),            // 148
  LINX_(__NR_setresgid,         sys_setresgid),            // 149
  LINXY(__NR_getresgid,         sys_getresgid),            // 150
  LINX_(__NR_setfsuid,          sys_setfsuid),             // 151
  LINX_(__NR_setfsgid,          sys_setfsgid),             // 152
  GENXY(__NR_times,             sys_times),                // 153
  GENX_(__NR_setpgid,           sys_setpgid),              // 154
//
// When implementing these wrappers, you need to work out if the wrapper is
// generic, Linux-only (but arch-independent), or AMD64/Linux only.

const SyscallTableEntry ML_(syscall_table)[] = {
   GENXY(__NR_read,              sys_read),           // 0 
   GENX_(__NR_write,             sys_write),          // 1 
   GENXY(__NR_open,              sys_open),           // 2 
   GENXY(__NR_close,             sys_close),          // 3 
   GENXY(__NR_stat,              sys_newstat),        // 4 

   GENXY(__NR_fstat,             sys_newfstat),       // 5 
   GENXY(__NR_lstat,             sys_newlstat),       // 6 
   GENXY(__NR_poll,              sys_poll),           // 7 
   LINX_(__NR_lseek,             sys_lseek),          // 8 
   PLAX_(__NR_mmap,              sys_mmap),           // 9 

   GENXY(__NR_mprotect,          sys_mprotect),       // 10 
   GENXY(__NR_munmap,            sys_munmap),         // 11 
   GENX_(__NR_brk,               sys_brk),            // 12 
   LINXY(__NR_rt_sigaction,      sys_rt_sigaction),   // 13 
   LINXY(__NR_rt_sigprocmask,    sys_rt_sigprocmask), // 14 

   PLAX_(__NR_rt_sigreturn,      sys_rt_sigreturn),   // 15 
   GENXY(__NR_ioctl,             sys_ioctl),          // 16 
   PLAXY(__NR_pread64,           sys_pread64),        // 17 
   PLAX_(__NR_pwrite64,          sys_pwrite64),       // 18 
   GENXY(__NR_readv,             sys_readv),          // 19 

   GENX_(__NR_writev,            sys_writev),         // 20 
   GENX_(__NR_access,            sys_access),         // 21 
//zz 
   GENX_(__NR_umask,             sys_umask),          // 60
   GENX_(__NR_chroot,            sys_chroot),         // 61
//zz    //   (__NR_ustat,             sys_ustat)           // 62 SVr4 -- deprecated
   GENXY(__NR_dup2,              sys_dup2),           // 63
   GENX_(__NR_getppid,           sys_getppid),        // 64

   GENX_(__NR_getpgrp,           sys_getpgrp),        // 65
   GENX_(__NR_setsid,            sys_setsid),         // 66
   LINXY(__NR_sigaction,         sys_sigaction),      // 67
//zz    //   (__NR_sgetmask,          sys_sgetmask),       // 68 */* (ANSI C)
//zz    //   (__NR_ssetmask,          sys_ssetmask),       // 69 */* (ANSI C)
//zz 
   LINX_(__NR_setreuid,          sys_setreuid16),     // 70
   LINX_(__NR_setregid,          sys_setregid16),     // 71
   PLAX_(__NR_sigsuspend,        sys_sigsuspend),     // 72
   LINXY(__NR_sigpending,        sys_sigpending),     // 73
//zz    //   (__NR_sethostname,       sys_sethostname),    // 74 */*
//zz 
   GENX_(__NR_setrlimit,         sys_setrlimit),      // 75
   GENXY(__NR_getrlimit,         sys_old_getrlimit),  // 76
   GENXY(__NR_getrusage,         sys_getrusage),      // 77
   GENXY(__NR_gettimeofday,      sys_gettimeofday),   // 78
   GENX_(__NR_settimeofday,      sys_settimeofday),   // 79

   LINXY(__NR_getgroups,         sys_getgroups16),    // 80
   LINX_(__NR_setgroups,         sys_setgroups16),    // 81
//   PLAX_(__NR_select,            old_select),         // 82
   GENX_(__NR_symlink,           sys_symlink),        // 83
//zz    //   (__NR_oldlstat,          sys_lstat),          // 84 -- obsolete
//zz 
   GENX_(__NR_umask,             sys_umask),             // 60
   GENX_(__NR_chroot,            sys_chroot),            // 61
//..    //   (__NR_ustat,             sys_ustat)              // 62 SVr4 -- deprecated
   GENXY(__NR_dup2,              sys_dup2),              // 63
   GENX_(__NR_getppid,           sys_getppid),           // 64

   GENX_(__NR_getpgrp,           sys_getpgrp),           // 65
   GENX_(__NR_setsid,            sys_setsid),            // 66
   LINXY(__NR_sigaction,         sys_sigaction),         // 67
//..    //   (__NR_sgetmask,          sys_sgetmask),          // 68 */* (ANSI C)
//..    //   (__NR_ssetmask,          sys_ssetmask),          // 69 */* (ANSI C)
//.. 
   GENX_(__NR_setreuid,          sys_setreuid),          // 70
   GENX_(__NR_setregid,          sys_setregid),          // 71
   PLAX_(__NR_sigsuspend,        sys_sigsuspend),        // 72
   LINXY(__NR_sigpending,        sys_sigpending),        // 73
//..    //   (__NR_sethostname,       sys_sethostname),       // 74 */*
//.. 
   GENX_(__NR_setrlimit,         sys_setrlimit),              // 75
//..    GENXY(__NR_getrlimit,         sys_old_getrlimit),     // 76
   GENXY(__NR_getrusage,         sys_getrusage),         // 77
   GENXY(__NR_gettimeofday,      sys_gettimeofday),           // 78
//..    GENX_(__NR_settimeofday,      sys_settimeofday),      // 79
//.. 
   GENXY(__NR_getgroups,         sys_getgroups),         // 80
   GENX_(__NR_setgroups,         sys_setgroups),         // 81
//..    PLAX_(__NR_select,            old_select),            // 82
   GENX_(__NR_symlink,           sys_symlink),           // 83
//..    //   (__NR_oldlstat,          sys_lstat),             // 84 -- obsolete
//.. 
Esempio n. 6
0
   GENXY(__NR_gettimeofday,      sys_gettimeofday),       //  78
// _____(__NR_settimeofday,      sys_settimeofday),       //  79

   GENXY(__NR_getgroups,         sys_getgroups),          //  80
   GENX_(__NR_setgroups,         sys_setgroups),          //  81
// _____(__NR_select,            sys_select),             //  82
   GENX_(__NR_symlink,           sys_symlink),            //  83
// _____(__NR_oldlstat,          sys_oldlstat),           //  84

   GENX_(__NR_readlink,          sys_readlink),           //  85
// _____(__NR_uselib,            sys_uselib),             //  86
// _____(__NR_swapon,            sys_swapon),             //  87
// _____(__NR_reboot,            sys_reboot),             //  88
// _____(__NR_readdir,           sys_readdir),            //  89

   PLAX_(__NR_mmap,              sys_mmap),               //  90
   GENXY(__NR_munmap,            sys_munmap),             //  91
   GENX_(__NR_truncate,          sys_truncate),           //  92
   GENX_(__NR_ftruncate,         sys_ftruncate),          //  93
   GENX_(__NR_fchmod,            sys_fchmod),             //  94
   
   GENX_(__NR_fchown,            sys_fchown),             //  95
   GENX_(__NR_getpriority,       sys_getpriority),        //  96
   GENX_(__NR_setpriority,       sys_setpriority),        //  97
// _____(__NR_profil,            sys_profil),             //  98
   GENXY(__NR_statfs,            sys_statfs),             //  99

   GENXY(__NR_fstatfs,           sys_fstatfs),            // 100
// _____(__NR_ioperm,            sys_ioperm),             // 101
   LINXY(__NR_socketcall,        sys_socketcall),         // 102
   LINXY(__NR_syslog,            sys_syslog),             // 103