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 / select.ph < prev    next >
Encoding:
Text File  |  2006-07-07  |  1.5 KB  |  44 lines

  1. require '_h2ph_pre.ph';
  2.  
  3. no warnings 'redefine';
  4.  
  5. unless(defined(&_SYS_SELECT_H)) {
  6.     die("Never use <bits/select.h> directly; include <sys/select.h> instead.");
  7. }
  8. if(defined (defined(&__GNUC__) ? &__GNUC__ : 0)  && (defined(&__GNUC__) ? &__GNUC__ : 0) >= 2) {
  9.     eval 'sub __FD_ZERO {
  10.         my($fdsp) = @_;
  11.         eval q(\\"(assembly code)\\");
  12.     }' unless defined(&__FD_ZERO);
  13.     eval 'sub __FD_SET {
  14.         my($fd, $fdsp) = @_;
  15.         eval q(\\"(assembly code)\\");
  16.     }' unless defined(&__FD_SET);
  17.     eval 'sub __FD_CLR {
  18.         my($fd, $fdsp) = @_;
  19.         eval q(\\"(assembly code)\\");
  20.     }' unless defined(&__FD_CLR);
  21.     eval 'sub __FD_ISSET {
  22.         my($fd, $fdsp) = @_;
  23.         eval q(\\"(assembly code)\\");
  24.     }' unless defined(&__FD_ISSET);
  25. } else {
  26.     eval 'sub __FD_ZERO {
  27.         my($set) = @_;
  28.         eval q( &do { \'unsigned int __i\';  &fd_set * &__arr = ($set);  &for ( &__i = 0;  &__i < $sizeof{ &fd_set} / $sizeof{ &__fd_mask}; ++ &__i)  &__FDS_BITS ( &__arr)[ &__i] = 0; }  &while (0));
  29.     }' unless defined(&__FD_ZERO);
  30.     eval 'sub __FD_SET {
  31.         my($d, $set) = @_;
  32.         eval q(( &__FDS_BITS ($set)[ &__FDELT ($d)] |=  &__FDMASK ($d)));
  33.     }' unless defined(&__FD_SET);
  34.     eval 'sub __FD_CLR {
  35.         my($d, $set) = @_;
  36.         eval q(( &__FDS_BITS ($set)[ &__FDELT ($d)] &= ~ &__FDMASK ($d)));
  37.     }' unless defined(&__FD_CLR);
  38.     eval 'sub __FD_ISSET {
  39.         my($d, $set) = @_;
  40.         eval q(( &__FDS_BITS ($set)[ &__FDELT ($d)] &  &__FDMASK ($d)));
  41.     }' unless defined(&__FD_ISSET);
  42. }
  43. 1;
  44.