blob: 740b5165e1f66f146c819fae15be0743e20512d1 (
plain)
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
|
devices/linux
AUTHOR
Mathieu Bouchard <matju@sympatico.ca>
irc: irc.openprojects.net / #ruby-lang / matju
(note: I can't read Japanese; write in French or English please)
OVERVIEW
This is a collection of simple modules that you extend IO objects with, to
give them support for specific devices. For example:
require "linux/SoundMixer"
f = File.open "/dev/mixer"
f.extend Linux::SoundMixer
# f now has special accessors for driver variables, e.g:
f.treble = left_speaker_percent + 256 * right_speaker_percent
The modules are made of automatically generated methods, much like Ruby's
accessors. those generators are called ioctl_reader, ioctl_writer,
ioctl_accessor. Writing expects an integer in -2**31...2**31; reading will
return the same. You may browse the source to find out which accessors are
available, and it's easy to add support for more features.
|