home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / lib / perl / 5.8.8 / bits / waitstatus.ph < prev    next >
Encoding:
Text File  |  2006-07-07  |  2.5 KB  |  91 lines

  1. require '_h2ph_pre.ph';
  2.  
  3. no warnings 'redefine';
  4.  
  5. if(!defined (defined(&_SYS_WAIT_H) ? &_SYS_WAIT_H : 0)  && !defined (defined(&_STDLIB_H) ? &_STDLIB_H : 0)) {
  6.     die("Never include <bits/waitstatus.h> directly; use <sys/wait.h> instead.");
  7. }
  8. unless(defined(&__WEXITSTATUS)) {
  9.     sub __WEXITSTATUS {
  10.     my($status) = @_;
  11.     eval q(((($status) & 0xff00) >> 8));
  12.     }
  13. }
  14. unless(defined(&__WTERMSIG)) {
  15.     sub __WTERMSIG {
  16.     my($status) = @_;
  17.     eval q((($status) & 0x7f));
  18.     }
  19. }
  20. unless(defined(&__WSTOPSIG)) {
  21.     sub __WSTOPSIG {
  22.     my($status) = @_;
  23.     eval q( &__WEXITSTATUS($status));
  24.     }
  25. }
  26. unless(defined(&__WIFEXITED)) {
  27.     sub __WIFEXITED {
  28.     my($status) = @_;
  29.     eval q(( &__WTERMSIG($status) == 0));
  30.     }
  31. }
  32. unless(defined(&__WIFSIGNALED)) {
  33.     sub __WIFSIGNALED {
  34.     my($status) = @_;
  35.     eval q((( ((($status) & 0x7f) + 1) >> 1) > 0));
  36.     }
  37. }
  38. unless(defined(&__WIFSTOPPED)) {
  39.     sub __WIFSTOPPED {
  40.     my($status) = @_;
  41.     eval q(((($status) & 0xff) == 0x7f));
  42.     }
  43. }
  44. if(defined(&WCONTINUED)) {
  45.     eval 'sub __WIFCONTINUED {
  46.         my($status) = @_;
  47.         eval q((($status) ==  &__W_CONTINUED));
  48.     }' unless defined(&__WIFCONTINUED);
  49. }
  50. unless(defined(&__WCOREDUMP)) {
  51.     sub __WCOREDUMP {
  52.     my($status) = @_;
  53.     eval q((($status) &  &__WCOREFLAG));
  54.     }
  55. }
  56. unless(defined(&__W_EXITCODE)) {
  57.     sub __W_EXITCODE {
  58.     my($ret, $sig) = @_;
  59.     eval q((($ret) << 8| ($sig)));
  60.     }
  61. }
  62. unless(defined(&__W_STOPCODE)) {
  63.     sub __W_STOPCODE {
  64.     my($sig) = @_;
  65.     eval q((($sig) << 8| 0x7f));
  66.     }
  67. }
  68. unless(defined(&__W_CONTINUED)) {
  69.     sub __W_CONTINUED () {    0xffff;}
  70. }
  71. unless(defined(&__WCOREFLAG)) {
  72.     sub __WCOREFLAG () {    0x80;}
  73. }
  74. if(defined(&__USE_BSD)) {
  75.     require 'endian.ph';
  76.     if((defined(&__BYTE_ORDER) ? &__BYTE_ORDER : 0) == (defined(&__LITTLE_ENDIAN) ? &__LITTLE_ENDIAN : 0)) {
  77.     }
  78.     if((defined(&__BYTE_ORDER) ? &__BYTE_ORDER : 0) == (defined(&__BIG_ENDIAN) ? &__BIG_ENDIAN : 0)) {
  79.     }
  80.     if((defined(&__BYTE_ORDER) ? &__BYTE_ORDER : 0) == (defined(&__LITTLE_ENDIAN) ? &__LITTLE_ENDIAN : 0)) {
  81.     }
  82.     if((defined(&__BYTE_ORDER) ? &__BYTE_ORDER : 0) == (defined(&__BIG_ENDIAN) ? &__BIG_ENDIAN : 0)) {
  83.     }
  84.     eval 'sub w_termsig () { ($__wait_terminated->{__w_termsig});}' unless defined(&w_termsig);
  85.     eval 'sub w_coredump () { ($__wait_terminated->{__w_coredump});}' unless defined(&w_coredump);
  86.     eval 'sub w_retcode () { ($__wait_terminated->{__w_retcode});}' unless defined(&w_retcode);
  87.     eval 'sub w_stopsig () { ($__wait_stopped->{__w_stopsig});}' unless defined(&w_stopsig);
  88.     eval 'sub w_stopval () { ($__wait_stopped->{__w_stopval});}' unless defined(&w_stopval);
  89. }
  90. 1;
  91.