拡張ライブラリ詳しいひとに質問。

1.8 のとき、OpenFile から FILE ポインタ取り出して
自前のバッファに直接 fread,fwrite やってるのがあるんですが、
1.9 ではどう書いたらええですか?

1.9 からはio回りのバッファリングが自前になったみたいですが、
Ruby の String を介さないで直接 char*,size_t を扱うような API が
見当たりません。
一応、rb_io_stdio_file 使えば FILE ポインタ取って fread,fwrite は
できるっぽいですが、stdio と混在させるの推奨されてないようだし、
他のメソッドとの整合性とか問題おきそうだし。IO#pos= とかずれそう。

そもそもなんでバイトストリーム直接扱えないんだろ。
Ruby String でいいなら拡張ライブラリ書かないと思うんですが。