1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 13:00:26 +02:00

Define IN6ADDR_ANY and IN6ADDR_LOOPBACK.

* libguile/socket.c (scm_init_socket): Define IN6ADDR_ANY and IN6ADDR_LOOPBACK.
* doc/ref/posix.texi (Network Address Conversion): Document them.
This commit is contained in:
Ludovic Courtès 2022-07-04 11:39:14 +02:00
parent baa1424335
commit 6da4be170a
2 changed files with 18 additions and 1 deletions

View file

@ -2524,7 +2524,22 @@ Make an IPv4 Internet address by combining the network number
@cindex IPv6 @cindex IPv6
An IPv6 Internet address is a 16-byte value, represented in Guile as An IPv6 Internet address is a 16-byte value, represented in Guile as
an integer in host byte order, so that say ``::1'' is 1. an integer in host byte order, so that say ``::1'' is 1. The following
constants are defined for convenience.
@defvar IN6ADDR_ANY
For a server, this can be used with @code{bind} (@pxref{Network Sockets
and Communication}) to allow connections from any IPv6 interface on the
machine.
@end defvar
@defvar IN6ADDR_LOOPBACK
The address of the local host using the loopback device, ie.@:
@samp{::1}.
@end defvar
The procedures below convert an IPv6 @emph{or} an IPv4 address to and
from its textual representation.
@deffn {Scheme Procedure} inet-ntop family address @deffn {Scheme Procedure} inet-ntop family address
@deffnx {C Function} scm_inet_ntop (family, address) @deffnx {C Function} scm_inet_ntop (family, address)

View file

@ -1656,6 +1656,7 @@ scm_init_socket ()
/* standard addresses. */ /* standard addresses. */
#ifdef INADDR_ANY #ifdef INADDR_ANY
scm_c_define ("INADDR_ANY", scm_from_ulong (INADDR_ANY)); scm_c_define ("INADDR_ANY", scm_from_ulong (INADDR_ANY));
scm_c_define ("IN6ADDR_ANY", scm_from_ulong (0));
#endif #endif
#ifdef INADDR_BROADCAST #ifdef INADDR_BROADCAST
scm_c_define ("INADDR_BROADCAST", scm_from_ulong (INADDR_BROADCAST)); scm_c_define ("INADDR_BROADCAST", scm_from_ulong (INADDR_BROADCAST));
@ -1665,6 +1666,7 @@ scm_init_socket ()
#endif #endif
#ifdef INADDR_LOOPBACK #ifdef INADDR_LOOPBACK
scm_c_define ("INADDR_LOOPBACK", scm_from_ulong (INADDR_LOOPBACK)); scm_c_define ("INADDR_LOOPBACK", scm_from_ulong (INADDR_LOOPBACK));
scm_c_define ("IN6ADDR_LOOPBACK", scm_from_ulong (1));
#endif #endif
/* socket types. /* socket types.