busybox/libbb/missing_syscalls.c
<<
>>
Prefs
   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>
  13pid_t getsid(pid_t pid)
  14{
  15        return syscall(__NR_getsid, pid);
  16}
  17
  18int stime(const time_t *t)
  19{
  20        struct timeval tv;
  21        tv.tv_sec = *t;
  22        tv.tv_usec = 0;
  23        return settimeofday(&tv, NULL);
  24}
  25
  26int sethostname(const char *name, size_t len)
  27{
  28        return syscall(__NR_sethostname, name, len);
  29}
  30
  31struct timex;
  32int adjtimex(struct timex *buf)
  33{
  34        return syscall(__NR_adjtimex, buf);
  35}
  36
  37int pivot_root(const char *new_root, const char *put_old)
  38{
  39        return syscall(__NR_pivot_root, new_root, put_old);
  40}
  41
  42# if __ANDROID_API__ < 21
  43int tcdrain(int fd)
  44{
  45        return ioctl(fd, TCSBRK, 1);
  46}
  47# endif
  48#endif
  49