guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Initial SCTP support for the upcoming 1.6.5 release


From: Michael Tuexen
Subject: Re: Initial SCTP support for the upcoming 1.6.5 release
Date: Sat, 14 Aug 2004 11:59:48 +0200

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 <address@hidden> 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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]