diff options
Diffstat (limited to 'libbb/missing_syscalls.c')
-rw-r--r-- | libbb/missing_syscalls.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/libbb/missing_syscalls.c b/libbb/missing_syscalls.c new file mode 100644 index 0000000..dd430e3 --- /dev/null +++ b/libbb/missing_syscalls.c @@ -0,0 +1,42 @@ +/* + * Copyright 2012, Denys Vlasenko + * + * Licensed under GPLv2, see file LICENSE in this source tree. + */ + +//kbuild:lib-y += missing_syscalls.o + +/*#include <linux/timex.h> - for struct timex, but may collide with <time.h> */ +#include <sys/syscall.h> +#include "libbb.h" + +#if defined(ANDROID) || defined(__ANDROID__) +pid_t getsid(pid_t pid) +{ + return syscall(__NR_getsid, pid); +} + +int stime(const time_t *t) +{ + struct timeval tv; + tv.tv_sec = *t; + tv.tv_usec = 0; + return settimeofday(&tv, NULL); +} + +int sethostname(const char *name, size_t len) +{ + return syscall(__NR_sethostname, name, len); +} + +struct timex; +int adjtimex(struct timex *buf) +{ + return syscall(__NR_adjtimex, buf); +} + +int pivot_root(const char *new_root, const char *put_old) +{ + return syscall(__NR_pivot_root, new_root, put_old); +} +#endif |