From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Michael Tuexen Newsgroups: gmane.lisp.guile.devel Subject: Re: Initial SCTP support for the upcoming 1.6.5 release Date: Mon, 16 Aug 2004 19:02:10 +0200 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: <02FA4EE0-EFA6-11D8-B63D-000D932C78D8@lurchi.franken.de> References: <28C61BE4-EB92-11D8-9129-000D932C78D8@lurchi.franken.de> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 (Apple Message framework v619) Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1092675774 11188 80.91.224.253 (16 Aug 2004 17:02:54 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 16 Aug 2004 17:02:54 +0000 (UTC) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Aug 16 19:02:43 2004 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1Bwksc-0008VQ-00 for ; Mon, 16 Aug 2004 19:02:42 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1Bwkwi-0003X4-PN for guile-devel@m.gmane.org; Mon, 16 Aug 2004 13:06:56 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1Bwkwg-0003Wx-5a for guile-devel@gnu.org; Mon, 16 Aug 2004 13:06:54 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1Bwkwe-0003WW-Ib for guile-devel@gnu.org; Mon, 16 Aug 2004 13:06:53 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1Bwkwe-0003WT-Eb for guile-devel@gnu.org; Mon, 16 Aug 2004 13:06:52 -0400 Original-Received: from [193.175.24.27] (helo=ilsa.franken.de) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.34) id 1BwksF-0007t7-Rg for guile-devel@gnu.org; Mon, 16 Aug 2004 13:02:20 -0400 Original-Received: from [192.168.1.2] (pD95269BD.dip.t-dialin.net [217.82.105.189]) by ilsa.franken.de (Postfix) with ESMTP id 9412A245CB for ; Mon, 16 Aug 2004 19:02:17 +0200 (CEST) (KNF account authenticated via SMTP-AUTH) In-Reply-To: Original-To: guile-devel@gnu.org X-Mailer: Apple Mail (2.619) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.devel:3963 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:3963 Dear all, I'm trying to build the SCTP support as a loadable module. Is there any documentation available (or an example) where I can figure out how I can solve the questions described below. I looked in the guile sources, but only found modules defined in scheme... Thank you very much for your help. Best regards Michael On Aug 14, 2004, at 11:59 AM, Michael Tuexen wrote: > Hi Marius, > > I tried compiling the tarball you made. > > The code uses the static: > ipv6_net_to_num > scm_addr_vector > scm_fill_sockaddr > from socket.c. For testing I just copied them from socket.c. > > Then the stuff compiles but at the end of the make process the > message > > make[1]: *** No rule to make target `sctp.scm', needed by `all-am'. > Stop. > make: *** [all] Error 2 > > shows up. > > How do I generate that sctp.scm file? > > Another question: > > Is there a possibility to include > > #ifdef SOCK_SEQPACKET > scm_c_define ("SOCK_SEQPACKET", SCM_MAKINUM (SOCK_SEQPACKET)); > #endif > > /* protocol numbers */ > #ifdef IPPROTO_SCTP > scm_c_define ("IPPROTO_SCTP", SCM_MAKINUM (IPPROTO_SCTP)); > #endif > > #ifdef IPPROTO_TCP > scm_c_define ("IPPROTO_TCP", SCM_MAKINUM (IPPROTO_TCP)); > #endif > > #ifdef IPPROTO_UDP > scm_c_define ("IPPROTO_UDP", SCM_MAKINUM (IPPROTO_UDP)); > #endif > > > to the socket.c file? These constants should be defined in > sys/socket.h and netinet/in.h. > > They are not additional functions like sctp_* which are > provided in libsctp. These constants can be used with > the socket() system call you are providing in the socket.c > file. > > I think your idea with putting the functions libsctp into > a guile module works and can be extended to full SCTP > support. The only problem I currently see is is with the > set/getsockopt call. Here the optvalue can be longer than > the linger option which is now hardcoded. > Is it possible to replace a function like getsockopt with > another function from a loadable module, such that I can > write a generic get/setsockopt function? Please not that > the C version does not have a restriction on the optval > length like the scheme version from socket.c has. > > > Best regards and thank you very much for you support > Michael > > On Aug 13, 2004, at 3:40 PM, Marius Vollmer wrote: > >> Michael Tuexen writes: >> >>> Please let me know if it is possible to include these changes in >>> the 1.6.5 release. >> >> Hi Michael, >> >> we don't want to include this in Guile 1.6.5. The reason is that the >> SCTP functions are not 'core' functionality and they can take not >> advantage of being in the core. Also, it would add another dependency >> to Guile (on libsctp). >> >> As long as SCTP needs an external library and is not supported >> directly by libc, we think it is better to not include it in >> guile-core. >> >> I have turned your patch into a complete package that installs >> libguile-net-sctp.so and the module (net sctp), you just need to fill >> in the README, etc. Scheme code can access the new module with >> >> (use-modules (net sctp)) >> >> Unfortunately, I couldn't test it since I don't seem to have sctp >> support on my box. >> >> Here: >> >> http://www-dt.e-technik.uni-dortmund.de/~mvo/guile-sctp-0.0.tar.gz >> > > > > _______________________________________________ > Guile-devel mailing list > Guile-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/guile-devel > _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel