>|このss_familyとss_lenの#defineは、extconf.rbの、
>|    $CFLAGS = "-Dss_family=__ss_family -Dss_len=__ss_len"
>|と衝突しますよね。
>|extconf.rbかsocket.cかどちらかに定義を統一した方がいいと思います。
>socket.cの中で必要に応じてundefすることで対応しようと思いま
>す.IPv6の流儀を知らないので下手に手を出せないだけだったり.

	上記の
>|    $CFLAGS = "-Dss_family=__ss_family -Dss_len=__ss_len"
	だけはコマンドラインから定義しないといけません(hoge.hとかでは駄目)。

	仕様がさんざん揺れたので、両方の定義の実装が存在します。
	ので、sys/socket.hも含めて置換して__ss_familyにまとめてやるために
	コマンドラインから指定しています。

	IPv4ホスト用には、やっぱりstruct sockaddr_storageがなかったら
	定義する方が楽だと思うなあ...

itojun