summaryrefslogtreecommitdiff
path: root/libbb/missing_syscalls.c (plain)
blob: 0934128117a6a8999e8749050be1974d229abda7
1/*
2 * Copyright 2012, Denys Vlasenko
3 *
4 * Licensed under GPLv2, see file LICENSE in this source tree.
5 */
6
7//kbuild:lib-y += missing_syscalls.o
8
9/*#include <linux/timex.h> - for struct timex, but may collide with <time.h> */
10#include <sys/syscall.h>
11#include "libbb.h"
12
13#if defined(ANDROID) || defined(__ANDROID__)
14pid_t getsid(pid_t pid)
15{
16 return syscall(__NR_getsid, pid);
17}
18
19int stime(const time_t *t)
20{
21 struct timeval tv;
22 tv.tv_sec = *t;
23 tv.tv_usec = 0;
24 return settimeofday(&tv, NULL);
25}
26
27int sethostname(const char *name, size_t len)
28{
29 return syscall(__NR_sethostname, name, len);
30}
31
32struct timex;
33int adjtimex(struct timex *buf)
34{
35 return syscall(__NR_adjtimex, buf);
36}
37
38int pivot_root(const char *new_root, const char *put_old)
39{
40 return syscall(__NR_pivot_root, new_root, put_old);
41}
42
43# if __ANDROID_API__ < 21
44int tcdrain(int fd)
45{
46 return ioctl(fd, TCSBRK, 1);
47}
48# endif
49#endif
50