ref: b3dc2af6d671b6311ccfc8a5f053dc85151cb7ed
parent: e402fd834015e36c307e8f84656e18b070d60f6b
author: Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
date: Sat Jun 11 09:00:05 EDT 2022
man/3/ip (ip): Discuss local IP addresses for "announce" and "bind".
--- a/sys/man/3/ip
+++ b/sys/man/3/ip
@@ -682,33 +682,43 @@
The connect fails if the combination of local and remote address/port pairs
are already assigned to another port.
.TP
-.BI announce\ X
-.I X
-is a decimal port number or
-.LR * .
-Set the local port
-number to
-.I X
-and accept calls to
-.IR X .
-If
-.I X
-is
+.BI announce\ [ip-address ! ]port
+Set the local IP address and port number and accept calls there. If
+ip-address is left out, accept calls on any address. If port is 0, a
+port is automatically choosen that is not yet announced.
+If the address is
.LR * ,
-accept
-calls for any port that no process has explicitly announced.
-The local IP address cannot be set.
+accept calls on any address.
+If port is
+.LR * ,
+accept calls on any port.
+If port is
+.LR * ,
+and the address is left out, accept calls on any address and port.
.B Announce
-fails if the connection is already announced or connected.
+fails if the connection is already announced.
.TP
-.BI bind\ X
-.I X
-is a decimal port number or
-.LR * .
-Set the local port number to
-.IR X .
-This exists to support emulation
-of BSD sockets by the APE libraries (see
+.BI bind\ [ip-address ! ]port
+Set the local IP address and port number like for a server connection
+similar to the
+.B announce
+command.
+If ip-address is left out, an address is automatically selected. If
+port is 0, a port is automatically choosen that is not yet announced.
+This command has no actual effect, beyond remembering the parameters
+and possibly selecting an unused port.
+The commands
+.B announce
+and
+.B connect
+reset both the local address and the port according to their own
+parameters.
+This command also does
+.B not
+reserve the IP address and port, another connection can use them, even
+while they are registered in a connection by this command.
+This exists to support emulation of BSD sockets by the APE libraries
+(see
.IR pcc (1))
and is not otherwise used.
.\" this is gone