Kimura Fuyuki
fuyuk****@hadal*****
2003年 4月 28日 (月) 13:22:30 JST
最近マルチキャストストリーミングで遊んでいるので、Gaucheにもそれ用のハッ クを入れようとしています。要するにやりたいことは setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq)); なので、とりあえず添付パッチのようなソケットオプションがあればいいやと 思ったのですが、 1. なぜかnet.scmからオプション定数がexportされていない 2. setsockoptに構造体を渡すのが面倒 3. inet_atonみたいなことをしてくれる関数がほしい 2はたぶん http://www02.so-net.ne.jp/~greentea/doc-jp/java-ruby/java-ruby-net.html のように使うものなんでしょうが、構造体のpaddingの扱いに依存しそうで怖 いですね。まあほかにいい手もないですけど… 3はどうせならinet_ptonのバインディングを入れたほうがいいかもしれません。 あとgetaddrinfoとかRFC3493一式。;) -- 木村 冬樹 -------------- next part -------------- Index: ext/net/net.c =================================================================== RCS file: /cvsroot/gauche/Gauche/ext/net/net.c,v retrieving revision 1.24 diff -u -r1.24 net.c --- ext/net/net.c 30 Jan 2003 12:14:19 -0000 1.24 +++ ext/net/net.c 28 Apr 2003 04:10:55 -0000 @@ -353,5 +353,20 @@ #ifdef IP_OPTIONS DEFSYM("IP_OPTIONS", IP_OPTIONS); #endif +#ifdef IP_MULTICAST_IF + DEFSYM("IP_MULTICAST_IF", IP_MULTICAST_IF); +#endif +#ifdef IP_MULTICAST_TTL + DEFSYM("IP_MULTICAST_TTL", IP_MULTICAST_TTL); +#endif +#ifdef IP_MULTICAST_LOOP + DEFSYM("IP_MULTICAST_LOOP", IP_MULTICAST_LOOP); +#endif +#ifdef IP_ADD_MEMBERSHIP + DEFSYM("IP_ADD_MEMBERSHIP", IP_ADD_MEMBERSHIP); +#endif +#ifdef IP_DROP_MEMBERSHIP + DEFSYM("IP_DROP_MEMBERSHIP", IP_DROP_MEMBERSHIP); +#endif #endif /* SOL_IP */ }