home *** CD-ROM | disk | FTP | other *** search
/ ftp.muug.mb.ca / 2014.06.ftp.muug.mb.ca.tar / ftp.muug.mb.ca / pub / src / perl / h2pl / cbreak2.pl < prev    next >
Text File  |  1992-04-11  |  549b  |  34 lines

  1. $sgttyb_t   = 'C4 S';
  2.  
  3. sub cbreak {
  4.     &set_cbreak(1);
  5. }
  6.  
  7. sub cooked {
  8.     &set_cbreak(0);
  9. }
  10.  
  11. sub set_cbreak {
  12.     local($on) = @_;
  13.  
  14.     require 'sys/ioctl.pl';
  15.  
  16.     ioctl(STDIN,$TIOCGETP,$sgttyb)
  17.         || die "Can't ioctl TIOCGETP: $!";
  18.  
  19.     @ary = unpack($sgttyb_t,$sgttyb);
  20.     if ($on) {
  21.         $ary[4] |= $CBREAK;
  22.         $ary[4] &= ~$ECHO;
  23.     } else {
  24.         $ary[4] &= ~$CBREAK;
  25.         $ary[4] |= $ECHO;
  26.     }
  27.     $sgttyb = pack($sgttyb_t,@ary);
  28.     ioctl(STDIN,$TIOCSETP,$sgttyb)
  29.             || die "Can't ioctl TIOCSETP: $!";
  30.  
  31. }
  32.  
  33. 1;
  34.