diff options
| author | Kim F. Storm | 2006-01-04 00:20:08 +0000 |
|---|---|---|
| committer | Kim F. Storm | 2006-01-04 00:20:08 +0000 |
| commit | b944a155cfeeb822c27cb31cfed4eb96e6eb50fb (patch) | |
| tree | e4d9c0638a3fef0d2d59a24ef84e7414925b1cc4 | |
| parent | e1652a86127e201a0e867a62545ec53de7376f3b (diff) | |
| download | emacs-b944a155cfeeb822c27cb31cfed4eb96e6eb50fb.tar.gz emacs-b944a155cfeeb822c27cb31cfed4eb96e6eb50fb.zip | |
(Make Network): Add IPv6 addresses and handling.
(Network Feature Testing): Mention (:family ipv6).
(Misc Network): Add IPv6 formats to format-network-address.
| -rw-r--r-- | lispref/processes.texi | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/lispref/processes.texi b/lispref/processes.texi index 624fd5f912f..735a253259d 100644 --- a/lispref/processes.texi +++ b/lispref/processes.texi | |||
| @@ -1782,8 +1782,10 @@ the system select an unused port number. | |||
| 1782 | 1782 | ||
| 1783 | @item :family @var{family} | 1783 | @item :family @var{family} |
| 1784 | @var{family} specifies the address (and protocol) family for | 1784 | @var{family} specifies the address (and protocol) family for |
| 1785 | communication. @code{nil} stands for IPv4. @code{local} specifies a | 1785 | communication. @code{nil} stands for automatically determine a the |
| 1786 | Unix socket, in which case @var{host} is ignored. | 1786 | proper address family for the given @var{host} and @var{service}. |
| 1787 | @code{local} specifies a Unix socket, in which case @var{host} is ignored. | ||
| 1788 | @code{ipv4} and @code{ipv6} specify to use IPv4 and IPv6 respectively. | ||
| 1787 | 1789 | ||
| 1788 | @item :local @var{local-address} | 1790 | @item :local @var{local-address} |
| 1789 | For a server process, @var{local-address} is the address to listen on. | 1791 | For a server process, @var{local-address} is the address to listen on. |
| @@ -1803,9 +1805,18 @@ the address family: | |||
| 1803 | 1805 | ||
| 1804 | @itemize - | 1806 | @itemize - |
| 1805 | @item | 1807 | @item |
| 1806 | An IPv4 address is represented as a vector of integers @code{[@var{a} | 1808 | An IPv4 address is represented as a five-element vector of four 8-bit |
| 1807 | @var{b} @var{c} @var{d} @var{p}]} corresponding to numeric IP address | 1809 | integers and one 16-bit integer |
| 1808 | @var{a}.@var{b}.@var{c}.@var{d} and port number @var{p}. | 1810 | @code{[@var{a} @var{b} @var{c} @var{d} @var{p}]} corresponding to |
| 1811 | numeric IPv4 address @var{a}.@var{b}.@var{c}.@var{d} and port number | ||
| 1812 | @var{p}. | ||
| 1813 | |||
| 1814 | @item | ||
| 1815 | An IPv6 address is represented as a nine-element vector of 16-bit | ||
| 1816 | integers @code{[@var{a} @var{b} @var{c} @var{d} @var{e} @var{f} | ||
| 1817 | @var{g} @var{h} @var{p}]} corresponding to numeric IPv6 address | ||
| 1818 | @var{a}:@var{b}:@var{c}:@var{d}:@var{e}:@var{f}:@var{g}:@var{h} and | ||
| 1819 | port number @var{p}. | ||
| 1809 | 1820 | ||
| 1810 | @item | 1821 | @item |
| 1811 | A local address is represented as a string which specifies the address | 1822 | A local address is represented as a string which specifies the address |
| @@ -1979,6 +1990,8 @@ Non-@code{nil} if non-blocking connect is supported. | |||
| 1979 | Non-@code{nil} if datagrams are supported. | 1990 | Non-@code{nil} if datagrams are supported. |
| 1980 | @item (:family local) | 1991 | @item (:family local) |
| 1981 | Non-@code{nil} if local (aka ``UNIX domain'') sockets are supported. | 1992 | Non-@code{nil} if local (aka ``UNIX domain'') sockets are supported. |
| 1993 | @item (:family ipv6) | ||
| 1994 | Non-@code{nil} if IPv6 is supported. | ||
| 1982 | @item (:service t) | 1995 | @item (:service t) |
| 1983 | Non-@code{nil} if the system can select the port for a server. | 1996 | Non-@code{nil} if the system can select the port for a server. |
| 1984 | @end table | 1997 | @end table |
| @@ -2041,14 +2054,19 @@ The current flags of the interface. | |||
| 2041 | 2054 | ||
| 2042 | @defun format-network-address address &optional omit-port | 2055 | @defun format-network-address address &optional omit-port |
| 2043 | This function converts the Lisp representation of a network address to | 2056 | This function converts the Lisp representation of a network address to |
| 2044 | a string. For example, a five-element vector @code{[@var{a} @var{b} | 2057 | a string. |
| 2045 | @var{c} @var{d} @var{p}]} represents an IP address | 2058 | A five-element vector @code{[@var{a} @var{b} |
| 2059 | @var{c} @var{d} @var{p}]} represents an IPv4 address | ||
| 2046 | @var{a}.@var{b}.@var{c}.@var{d} and port number @var{p}. | 2060 | @var{a}.@var{b}.@var{c}.@var{d} and port number @var{p}. |
| 2047 | @code{format-network-address} converts that to the string | 2061 | @code{format-network-address} converts that to the string |
| 2048 | @code{"@var{a}.@var{b}.@var{c}.@var{d}:@var{p}"}. | 2062 | @code{"@var{a}.@var{b}.@var{c}.@var{d}:@var{p}"}. |
| 2063 | A nine-element vector @code{[@var{a} @var{b} @var{c} @var{d} @var{e} | ||
| 2064 | @var{f} @var{g} @var{h} @var{p}]} represents an IPv6 address and port | ||
| 2065 | number. @code{format-network-address} converts that to the string | ||
| 2066 | @code{"[@var{a}:@var{b}:@var{c}:@var{d}:@var{e}:@var{f}:@var{g}:@var{h}]:@var{p}"}. | ||
| 2049 | 2067 | ||
| 2050 | If @var{omit-port} is non-@code{nil}, the value does not include | 2068 | If @var{omit-port} is non-@code{nil}, the value does not include |
| 2051 | the port number. | 2069 | the port number, or the port number is ignored if it does. |
| 2052 | @end defun | 2070 | @end defun |
| 2053 | 2071 | ||
| 2054 | @node Byte Packing | 2072 | @node Byte Packing |