read(2) against directory

Linux や SVR4 ではディレクトリに対して open(2) はできるが read(2) はできないらしい。
結局この場合ディレクトリを生で読むにはどうするんだろう。
http://search.luky.org/fol.2000/msg00838.html
http://www.wakhok.ac.jp/~maruyama/Syscall/inode/section3.5.html#SECTION0005000000000000000
Posix Programmer's Guide
http://www.amazon.co.jp/o/ASIN/0937175730/


[追記:2007-12-03]
Linux では getdents(2) と readdir(2) がある。
getdents(2) の方が新しい。