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