2012-06-10 18:10:30 +05:30
|
|
|
/*
|
|
|
|
* Copyright 2012, Denys Vlasenko
|
|
|
|
*
|
|
|
|
* Licensed under GPLv2, see file LICENSE in this source tree.
|
|
|
|
*/
|
|
|
|
//kbuild:lib-y += missing_syscalls.o
|
|
|
|
|
|
|
|
#include "libbb.h"
|
|
|
|
|
|
|
|
#if defined(ANDROID) || defined(__ANDROID__)
|
2018-03-05 03:45:59 +05:30
|
|
|
/*# include <linux/timex.h> - for struct timex, but may collide with <time.h> */
|
|
|
|
# include <sys/syscall.h>
|
2012-06-10 18:10:30 +05:30
|
|
|
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);
|
|
|
|
}
|
2015-04-26 16:44:50 +05:30
|
|
|
|
2015-12-17 21:12:01 +05:30
|
|
|
# if __ANDROID_API__ < 21
|
2015-04-26 16:44:50 +05:30
|
|
|
int tcdrain(int fd)
|
|
|
|
{
|
|
|
|
return ioctl(fd, TCSBRK, 1);
|
|
|
|
}
|
2015-12-17 21:12:01 +05:30
|
|
|
# endif
|
2012-06-10 18:10:30 +05:30
|
|
|
#endif
|