mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-15 16:20:17 +02:00
socket: TCP_CORK, TCP_NODELAY
* libguile/socket.c (scm_init_socket): Define TCP_NODELAY and TCP_CORK if they are available. * doc/ref/posix.texi (Network Sockets and Communication): Add documentation. * NEWS: Add entry.
This commit is contained in:
parent
9454068a54
commit
d7f39a36b1
3 changed files with 21 additions and 0 deletions
3
NEWS
3
NEWS
|
@ -54,6 +54,9 @@ avoid the crashes that led to the introduction of locking, but without
|
||||||
locks. For that reason we have removed port locks, and removed the
|
locks. For that reason we have removed port locks, and removed the
|
||||||
"_unlocked" port API variants that were introduced in 2.1.0.
|
"_unlocked" port API variants that were introduced in 2.1.0.
|
||||||
|
|
||||||
|
* New interfaces
|
||||||
|
** `TCP_NODELAY' and `TCP_CORK' socket options, if provided by the system
|
||||||
|
|
||||||
* New deprecations
|
* New deprecations
|
||||||
** `_IONBF', `_IOLBF', and `_IOFBF'
|
** `_IONBF', `_IOLBF', and `_IOFBF'
|
||||||
|
|
||||||
|
|
|
@ -3178,6 +3178,15 @@ supporting that.
|
||||||
@end defvar
|
@end defvar
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
For @code{IPPROTO_TCP} level the following @var{optname}s are defined
|
||||||
|
(when provided by the system). For their meaning see @command{man 7
|
||||||
|
tcp}.
|
||||||
|
|
||||||
|
@defvar TCP_NODELAY
|
||||||
|
@defvarx TCP_CORK
|
||||||
|
The @var{value} taken or returned is an integer.
|
||||||
|
@end defvar
|
||||||
|
|
||||||
@deffn {Scheme Procedure} shutdown sock how
|
@deffn {Scheme Procedure} shutdown sock how
|
||||||
@deffnx {C Function} scm_shutdown (sock, how)
|
@deffnx {C Function} scm_shutdown (sock, how)
|
||||||
Sockets can be closed simply by using @code{close-port}. The
|
Sockets can be closed simply by using @code{close-port}. The
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
#include <sys/un.h>
|
#include <sys/un.h>
|
||||||
#endif
|
#endif
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
|
#include <netinet/tcp.h>
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
|
|
||||||
|
@ -1713,6 +1714,14 @@ scm_init_socket ()
|
||||||
scm_c_define ("MSG_DONTROUTE", scm_from_int (MSG_DONTROUTE));
|
scm_c_define ("MSG_DONTROUTE", scm_from_int (MSG_DONTROUTE));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* TCP options. */
|
||||||
|
#ifdef TCP_NODELAY
|
||||||
|
scm_c_define ("TCP_NODELAY", scm_from_int (TCP_NODELAY));
|
||||||
|
#endif
|
||||||
|
#ifdef TCP_CORK
|
||||||
|
scm_c_define ("TCP_CORK", scm_from_int (TCP_CORK));
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef IP_ADD_MEMBERSHIP
|
#ifdef IP_ADD_MEMBERSHIP
|
||||||
scm_c_define ("IP_ADD_MEMBERSHIP", scm_from_int (IP_ADD_MEMBERSHIP));
|
scm_c_define ("IP_ADD_MEMBERSHIP", scm_from_int (IP_ADD_MEMBERSHIP));
|
||||||
scm_c_define ("IP_DROP_MEMBERSHIP", scm_from_int (IP_DROP_MEMBERSHIP));
|
scm_c_define ("IP_DROP_MEMBERSHIP", scm_from_int (IP_DROP_MEMBERSHIP));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue