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
_______________________________________________
Guile-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/guile-devel