DECL_TEMPLATE(generic, sys_wait4);
DECL_TEMPLATE(generic, sys_mprotect);
DECL_TEMPLATE(generic, sys_sigprocmask);
-DECL_TEMPLATE(generic, sys_timer_create); // Linux: varies across archs?
-DECL_TEMPLATE(generic, sys_timer_settime);
-DECL_TEMPLATE(generic, sys_timer_gettime);
-DECL_TEMPLATE(generic, sys_timer_getoverrun);
-DECL_TEMPLATE(generic, sys_timer_delete);
-DECL_TEMPLATE(generic, sys_clock_settime);
-DECL_TEMPLATE(generic, sys_clock_gettime);
-DECL_TEMPLATE(generic, sys_clock_getres);
-DECL_TEMPLATE(generic, sys_clock_nanosleep);
DECL_TEMPLATE(generic, sys_getcwd);
DECL_TEMPLATE(generic, sys_symlink);
DECL_TEMPLATE(generic, sys_getgroups);
DECL_TEMPLATE(generic, sys_rt_sigsuspend); // () ()
DECL_TEMPLATE(generic, sys_pread64); // * (Unix98?)
DECL_TEMPLATE(generic, sys_pwrite64); // * (Unix98?)
-DECL_TEMPLATE(generic, sys_capget); // * L?
-DECL_TEMPLATE(generic, sys_capset); // * L?
DECL_TEMPLATE(generic, sys_sigaltstack); // (x86) (XPG4-UNIX)
DECL_TEMPLATE(generic, sys_getpmsg); // (?) (?)
DECL_TEMPLATE(generic, sys_putpmsg); // (?) (?)
DECL_TEMPLATE(linux, sys_timer_getoverrun);
DECL_TEMPLATE(linux, sys_timer_delete);
+DECL_TEMPLATE(linux, sys_capget);
+DECL_TEMPLATE(linux, sys_capset);
+
#endif // __PRIV_SYSWRAP_LINUX_H
/*--------------------------------------------------------------------*/
LINX_(__NR_setfsgid, sys_setfsgid), // 123
GENX_(__NR_getsid, sys_getsid), // 124
- // (__NR_capget, sys_capget), // 125
- // (__NR_capset, sys_capset), // 126
+ // LINXY(__NR_capget, sys_capget), // 125
+ // LINX_(__NR_capset, sys_capset), // 126
GENXY(__NR_rt_sigpending, sys_rt_sigpending), // 127
GENXY(__NR_rt_sigtimedwait, sys_rt_sigtimedwait),// 128
GENXY(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo),// 129
PRE_MEM_RASCIIZ( "init_module(uargs)", ARG3 );
}
-PRE(sys_capget)
-{
- PRINT("sys_capget ( %p, %p )", ARG1, ARG2 );
- PRE_REG_READ2(long, "capget",
- vki_cap_user_header_t, header, vki_cap_user_data_t, data);
- PRE_MEM_READ( "capget(header)", ARG1,
- sizeof(struct __vki_user_cap_header_struct) );
- PRE_MEM_WRITE( "capget(data)", ARG2,
- sizeof(struct __vki_user_cap_data_struct) );
-}
-POST(sys_capget)
-{
- if (ARG2 != (Addr)NULL)
- POST_MEM_WRITE( ARG2, sizeof(struct __vki_user_cap_data_struct) );
-}
-
-PRE(sys_capset)
-{
- PRINT("sys_capset ( %p, %p )", ARG1, ARG2 );
- PRE_REG_READ2(long, "capset",
- vki_cap_user_header_t, header,
- const vki_cap_user_data_t, data);
- PRE_MEM_READ( "capset(header)",
- ARG1, sizeof(struct __vki_user_cap_header_struct) );
- PRE_MEM_READ( "capset(data)",
- ARG2, sizeof(struct __vki_user_cap_data_struct) );
-}
-
// Pre_read a char** argument.
static void pre_argv_envp(Addr a, ThreadId tid, Char* s1, Char* s2)
{
PRE_REG_READ1(long, "timer_delete", vki_timer_t, timerid);
}
+PRE(sys_capget)
+{
+ PRINT("sys_capget ( %p, %p )", ARG1, ARG2 );
+ PRE_REG_READ2(long, "capget",
+ vki_cap_user_header_t, header, vki_cap_user_data_t, data);
+ PRE_MEM_READ( "capget(header)", ARG1,
+ sizeof(struct __vki_user_cap_header_struct) );
+ PRE_MEM_WRITE( "capget(data)", ARG2,
+ sizeof(struct __vki_user_cap_data_struct) );
+}
+POST(sys_capget)
+{
+ if (ARG2 != (Addr)NULL)
+ POST_MEM_WRITE( ARG2, sizeof(struct __vki_user_cap_data_struct) );
+}
+
+PRE(sys_capset)
+{
+ PRINT("sys_capset ( %p, %p )", ARG1, ARG2 );
+ PRE_REG_READ2(long, "capset",
+ vki_cap_user_header_t, header,
+ const vki_cap_user_data_t, data);
+ PRE_MEM_READ( "capset(header)",
+ ARG1, sizeof(struct __vki_user_cap_header_struct) );
+ PRE_MEM_READ( "capset(data)",
+ ARG2, sizeof(struct __vki_user_cap_data_struct) );
+}
+
#undef PRE
#undef POST
GENX_(__NR_pwrite64, sys_pwrite64), // 180
GENX_(__NR_chown, sys_chown16), // 181
GENXY(__NR_getcwd, sys_getcwd), // 182
-//.. GENXY(__NR_capget, sys_capget), // 183
+//.. LINXY(__NR_capget, sys_capget), // 183
//..
-//.. GENX_(__NR_capset, sys_capset), // 184
+//.. LINX_(__NR_capset, sys_capset), // 184
GENXY(__NR_sigaltstack, sys_sigaltstack), // 185
//.. LINXY(__NR_sendfile, sys_sendfile), // 186
//.. GENXY(__NR_getpmsg, sys_getpmsg), // 187
GENX_(__NR_pwrite64, sys_pwrite64), // 181
GENX_(__NR_chown, sys_chown16), // 182
GENXY(__NR_getcwd, sys_getcwd), // 183
- GENXY(__NR_capget, sys_capget), // 184
+ LINXY(__NR_capget, sys_capget), // 184
- GENX_(__NR_capset, sys_capset), // 185
+ LINX_(__NR_capset, sys_capset), // 185
GENXY(__NR_sigaltstack, sys_sigaltstack), // 186
LINXY(__NR_sendfile, sys_sendfile), // 187
GENXY(__NR_getpmsg, sys_getpmsg), // 188