libbb: make "COMMON_BUFSIZE = 1024 bytes, the buffer will be malloced" work
[oweals/busybox.git] / libbb / missing_syscalls.c
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__)
14 pid_t getsid(pid_t pid)
15 {
16         return syscall(__NR_getsid, pid);
17 }
18
19 int 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
27 int sethostname(const char *name, size_t len)
28 {
29         return syscall(__NR_sethostname, name, len);
30 }
31
32 struct timex;
33 int adjtimex(struct timex *buf)
34 {
35         return syscall(__NR_adjtimex, buf);
36 }
37
38 int 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
44 int tcdrain(int fd)
45 {
46         return ioctl(fd, TCSBRK, 1);
47 }
48 # endif
49 #endif