getpgrp.c 630 B

12345678910111213141516171819202122232425262728
  1. /* vi: set sw=4 ts=4: */
  2. /*
  3. * getpgrp() for uClibc
  4. *
  5. * Copyright (C) 2000-2008 by Erik Andersen <andersen@codepoet.org>
  6. *
  7. * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
  8. */
  9. #include <sys/syscall.h>
  10. #include <unistd.h>
  11. #ifdef __NR_getpgrp
  12. /* According to the manpage the POSIX.1 version is favoured */
  13. _syscall0(pid_t, getpgrp)
  14. #elif defined __NR_getpgid && (defined __NR_getpid || defined __NR_getxpid)
  15. /* IA64 doesn't have a getpgrp syscall */
  16. pid_t getpgrp(void)
  17. {
  18. return getpgid(getpid());
  19. }
  20. #elif defined __UCLIBC_HAS_STUBS__
  21. pid_t getpgrp(void)
  22. {
  23. __set_errno(ENOSYS);
  24. return -1;
  25. }
  26. #endif