DECL_TEMPLATE(linux, sys_clock_getres);
DECL_TEMPLATE(linux, sys_clock_nanosleep);
+DECL_TEMPLATE(linux, sys_timer_create); // Linux: varies across archs?
+DECL_TEMPLATE(linux, sys_timer_settime);
+DECL_TEMPLATE(linux, sys_timer_gettime);
+DECL_TEMPLATE(linux, sys_timer_getoverrun);
+DECL_TEMPLATE(linux, sys_timer_delete);
+
#endif // __PRIV_SYSWRAP_LINUX_H
/*--------------------------------------------------------------------*/
PLAX_(__NR_semtimedop, sys_semtimedop), // 220
PLAX_(__NR_fadvise64, sys_fadvise64), // 221
- GENXY(__NR_timer_create, sys_timer_create), // 222
- GENXY(__NR_timer_settime, sys_timer_settime), // 223
- GENXY(__NR_timer_gettime, sys_timer_gettime), // 224
+ LINXY(__NR_timer_create, sys_timer_create), // 222
+ LINXY(__NR_timer_settime, sys_timer_settime), // 223
+ LINXY(__NR_timer_gettime, sys_timer_gettime), // 224
- GENX_(__NR_timer_getoverrun, sys_timer_getoverrun), // 225
- GENX_(__NR_timer_delete, sys_timer_delete), // 226
+ LINX_(__NR_timer_getoverrun, sys_timer_getoverrun), // 225
+ LINX_(__NR_timer_delete, sys_timer_delete), // 226
LINX_(__NR_clock_settime, sys_clock_settime), // 227
LINXY(__NR_clock_gettime, sys_clock_gettime), // 228
LINXY(__NR_clock_getres, sys_clock_getres), // 229
POST_MEM_WRITE( ARG1, sizeof(vki_sigset_t) ) ;
}
-PRE(sys_timer_create)
-{
- PRINT("sys_timer_create( %d, %p, %p )", ARG1,ARG2,ARG3);
- PRE_REG_READ3(long, "timer_create",
- vki_clockid_t, clockid, struct sigevent *, evp,
- vki_timer_t *, timerid);
- if (ARG2 != 0)
- PRE_MEM_READ( "timer_create(evp)", ARG2, sizeof(struct vki_sigevent) );
- PRE_MEM_WRITE( "timer_create(timerid)", ARG3, sizeof(vki_timer_t) );
-}
-POST(sys_timer_create)
-{
- POST_MEM_WRITE( ARG3, sizeof(vki_timer_t) );
-}
-
-PRE(sys_timer_settime)
-{
- PRINT("sys_timer_settime( %lld, %d, %p, %p )", (ULong)ARG1,ARG2,ARG3,ARG4);
- PRE_REG_READ4(long, "timer_settime",
- vki_timer_t, timerid, int, flags,
- const struct itimerspec *, value,
- struct itimerspec *, ovalue);
- PRE_MEM_READ( "timer_settime(value)", ARG3,
- sizeof(struct vki_itimerspec) );
- if (ARG4 != 0)
- PRE_MEM_WRITE( "timer_settime(ovalue)", ARG4,
- sizeof(struct vki_itimerspec) );
-}
-POST(sys_timer_settime)
-{
- if (ARG4 != 0)
- POST_MEM_WRITE( ARG4, sizeof(struct vki_itimerspec) );
-}
-
-PRE(sys_timer_gettime)
-{
- PRINT("sys_timer_gettime( %lld, %p )", (ULong)ARG1,ARG2);
- PRE_REG_READ2(long, "timer_gettime",
- vki_timer_t, timerid, struct itimerspec *, value);
- PRE_MEM_WRITE( "timer_gettime(value)", ARG2,
- sizeof(struct vki_itimerspec));
-}
-POST(sys_timer_gettime)
-{
- POST_MEM_WRITE( ARG2, sizeof(struct vki_itimerspec) );
-}
-
-PRE(sys_timer_getoverrun)
-{
- PRINT("sys_timer_getoverrun( %p )", ARG1);
- PRE_REG_READ1(long, "timer_getoverrun", vki_timer_t, timerid);
-}
-
-PRE(sys_timer_delete)
-{
- PRINT("sys_timer_delete( %p )", ARG1);
- PRE_REG_READ1(long, "timer_delete", vki_timer_t, timerid);
-}
-
PRE(sys_waitid)
{
*flags |= SfMayBlock;
POST_MEM_WRITE( ARG4, sizeof(struct vki_timespec) );
}
+PRE(sys_timer_create)
+{
+ PRINT("sys_timer_create( %d, %p, %p )", ARG1,ARG2,ARG3);
+ PRE_REG_READ3(long, "timer_create",
+ vki_clockid_t, clockid, struct sigevent *, evp,
+ vki_timer_t *, timerid);
+ if (ARG2 != 0)
+ PRE_MEM_READ( "timer_create(evp)", ARG2, sizeof(struct vki_sigevent) );
+ PRE_MEM_WRITE( "timer_create(timerid)", ARG3, sizeof(vki_timer_t) );
+}
+POST(sys_timer_create)
+{
+ POST_MEM_WRITE( ARG3, sizeof(vki_timer_t) );
+}
+
+PRE(sys_timer_settime)
+{
+ PRINT("sys_timer_settime( %lld, %d, %p, %p )", (ULong)ARG1,ARG2,ARG3,ARG4);
+ PRE_REG_READ4(long, "timer_settime",
+ vki_timer_t, timerid, int, flags,
+ const struct itimerspec *, value,
+ struct itimerspec *, ovalue);
+ PRE_MEM_READ( "timer_settime(value)", ARG3,
+ sizeof(struct vki_itimerspec) );
+ if (ARG4 != 0)
+ PRE_MEM_WRITE( "timer_settime(ovalue)", ARG4,
+ sizeof(struct vki_itimerspec) );
+}
+POST(sys_timer_settime)
+{
+ if (ARG4 != 0)
+ POST_MEM_WRITE( ARG4, sizeof(struct vki_itimerspec) );
+}
+
+PRE(sys_timer_gettime)
+{
+ PRINT("sys_timer_gettime( %lld, %p )", (ULong)ARG1,ARG2);
+ PRE_REG_READ2(long, "timer_gettime",
+ vki_timer_t, timerid, struct itimerspec *, value);
+ PRE_MEM_WRITE( "timer_gettime(value)", ARG2,
+ sizeof(struct vki_itimerspec));
+}
+POST(sys_timer_gettime)
+{
+ POST_MEM_WRITE( ARG2, sizeof(struct vki_itimerspec) );
+}
+
+PRE(sys_timer_getoverrun)
+{
+ PRINT("sys_timer_getoverrun( %p )", ARG1);
+ PRE_REG_READ1(long, "timer_getoverrun", vki_timer_t, timerid);
+}
+
+PRE(sys_timer_delete)
+{
+ PRINT("sys_timer_delete( %p )", ARG1);
+ PRE_REG_READ1(long, "timer_delete", vki_timer_t, timerid);
+}
+
#undef PRE
#undef POST
//.. LINXY(__NR_epoll_wait, sys_epoll_wait), // 238
//.. // (__NR_remap_file_pages, sys_remap_file_pages), // 239 */Linux
-//.. GENXY(__NR_timer_create, sys_timer_create), // 240
-//.. GENXY(__NR_timer_settime, sys_timer_settime), // 241
-//.. GENXY(__NR_timer_gettime, sys_timer_gettime), // 242
-//.. GENX_(__NR_timer_getoverrun, sys_timer_getoverrun), // 243
-//.. GENX_(__NR_timer_delete, sys_timer_delete), // 244
+//.. LINXY(__NR_timer_create, sys_timer_create), // 240
+//.. LINXY(__NR_timer_settime, sys_timer_settime), // 241
+//.. LINXY(__NR_timer_gettime, sys_timer_gettime), // 242
+//.. LINX_(__NR_timer_getoverrun, sys_timer_getoverrun), // 243
+//.. LINX_(__NR_timer_delete, sys_timer_delete), // 244
//.. LINX_(__NR_clock_settime, sys_clock_settime), // 245
LINXY(__NR_clock_gettime, sys_clock_gettime), // 246
//.. LINXY(__NR_clock_getres, sys_clock_getres), // 247
LINXY(__NR_epoll_wait, sys_epoll_wait), // 256
//zz // (__NR_remap_file_pages, sys_remap_file_pages), // 257 */Linux
LINX_(__NR_set_tid_address, sys_set_tid_address), // 258
- GENXY(__NR_timer_create, sys_timer_create), // 259
+ LINXY(__NR_timer_create, sys_timer_create), // 259
- GENXY(__NR_timer_settime, sys_timer_settime), // (timer_create+1)
- GENXY(__NR_timer_gettime, sys_timer_gettime), // (timer_create+2)
- GENX_(__NR_timer_getoverrun, sys_timer_getoverrun),//(timer_create+3)
- GENX_(__NR_timer_delete, sys_timer_delete), // (timer_create+4)
+ LINXY(__NR_timer_settime, sys_timer_settime), // (timer_create+1)
+ LINXY(__NR_timer_gettime, sys_timer_gettime), // (timer_create+2)
+ LINX_(__NR_timer_getoverrun, sys_timer_getoverrun),//(timer_create+3)
+ LINX_(__NR_timer_delete, sys_timer_delete), // (timer_create+4)
LINX_(__NR_clock_settime, sys_clock_settime), // (timer_create+5)
LINXY(__NR_clock_gettime, sys_clock_gettime), // (timer_create+6)