Browse Source

implement the remaining clock_* interfaces

rs-1.0
Rich Felker 15 years ago
parent
commit
4b1244a0bf
  1. 11
      src/time/clock_getcpuclockid.c
  2. 8
      src/time/clock_getres.c
  3. 1
      src/time/clock_gettime.c
  4. 8
      src/time/clock_nanosleep.c
  5. 8
      src/time/clock_settime.c

11
src/time/clock_getcpuclockid.c

@ -0,0 +1,11 @@
#include <time.h>
#include <errno.h>
#include <unistd.h>
#include "syscall.h"
int clock_getcpuclockid(pid_t pid, clockid_t *clk)
{
if (pid && pid != getpid()) return EPERM;
*clk = CLOCK_PROCESS_CPUTIME_ID;
return 0;
}

8
src/time/clock_getres.c

@ -0,0 +1,8 @@
#define SYSCALL_RETURN_ERRNO
#include <time.h>
#include "syscall.h"
int clock_getres(clockid_t clk, struct timespec *ts)
{
return syscall2(__NR_clock_getres, clk, (long)ts);
}

1
src/time/clock_gettime.c

@ -1,3 +1,4 @@
#define SYSCALL_RETURN_ERRNO
#include <time.h>
#include "syscall.h"

8
src/time/clock_nanosleep.c

@ -0,0 +1,8 @@
#define SYSCALL_RETURN_ERRNO
#include <time.h>
#include "syscall.h"
int clock_nanosleep(clockid_t clk, int flags, const struct timespec *req, struct timespec *rem)
{
return syscall4(__NR_clock_nanosleep, clk, flags, (long)req, (long)rem);
}

8
src/time/clock_settime.c

@ -0,0 +1,8 @@
#define SYSCALL_RETURN_ERRNO
#include <time.h>
#include "syscall.h"
int clock_settime(clockid_t clk, const struct timespec *ts)
{
return syscall2(__NR_clock_settime, clk, (long)ts);
}
Loading…
Cancel
Save