http://www.atnf.csiro.au/~rgooch/linux/docs/io-events.html