File: test0.rb

package info (click to toggle)
libtermios-ruby 0.9.5-4
  • links: PTS, VCS
  • area: main
  • in suites: lenny, squeeze
  • size: 124 kB
  • ctags: 59
  • sloc: ansic: 917; ruby: 374; makefile: 3
file content (29 lines) | stat: -rw-r--r-- 761 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
require 'termios'

def dump_termios(tio, banner)
  puts banner
  puts "  ispeed = #{Termios::BAUDS[tio.ispeed]}, ospeed = #{Termios::BAUDS[tio.ospeed]}"
  ["iflag", "oflag", "cflag", "lflag"].each do |x|
    flag = tio.send(x)
    flags = []
    eval("Termios::#{x.upcase}S").each do |f, sym|
      flags << sym.to_s if flag & f != 0
    end
    puts "   #{x} = #{flags.sort.join(' | ')}"
  end
  print "      cc ="
  cc = tio.cc
  cc.each_with_index do |x, idx|
    print " #{Termios::CCINDEX[idx]}=#{x}" if Termios::CCINDEX.include?(idx)
  end
  puts
end

tio = Termios::getattr($stdin)
dump_termios(tio, "STDIN:")
Termios::setattr($stdin, Termios::TCSANOW, tio)
dump_termios(tio, "STDIN:")

puts
puts " pid = #{$$}"
puts "pgrp = #{Termios::getpgrp($stdin)}"