<p><?=sprintf(gettext('Information about listening sockets for both %sIPv4%s and %sIPv6%s.'),'<a href="#IPv4">','</a>','<a href="#IPv6">','</a>')?></p>
<p><?=sprintf(gettext('Information about listening sockets for both %sIPv4%s and %sIPv6%s.'),'<a href="#IPv4">','</a>','<a href="#IPv6">','</a>')?></p>
<p><?=sprintf(gettext('For explanation about the meaning of the information listed for each socket click %shere%s.'),'<a href="#about">','</a>')?></p>
<p><?=sprintf(gettext('For explanation about the meaning of the information listed for each socket click %shere%s.'),'<a href="#about">','</a>')?></p>
<p><inputtype="button"class="btn btn-default"value="<?=$showAllText?>"onclick="window.location.href='diag_sockets.php<?=$showAllOption?>'"/><br/><?=gettext('To show information about both listening and connected sockets click this.')?></p>
<p><inputtype="button"class="btn btn-default"value="<?=$showAllText?>"onclick="window.location.href='diag_sockets.php<?=$showAllOption?>'"/><br/><?=gettext('To show information about both listening and connected sockets click this.')?></p>
<tr><tdclass="listlr">USER</td><tdclass="listr"><?=gettext('The user who owns the socket.')?></td></tr>
<tr><td>USER</td><td><?=gettext('The user who owns the socket.')?></td></tr>
<tr><tdclass="listlr">COMMAND</td><tdclass="listr"><?=gettext('The command which holds the socket.')?></td></tr>
<tr><td>COMMAND</td><td><?=gettext('The command which holds the socket.')?></td></tr>
<tr><tdclass="listlr">PID</td><tdclass="listr"><?=gettext('The process ID of the command which holds the socket.')?></td></tr>
<tr><td>PID</td><td><?=gettext('The process ID of the command which holds the socket.')?></td></tr>
<tr><tdclass="listlr">FD</td><tdclass="listr"><?=gettext('The file descriptor number of the socket.')?></td></tr>
<tr><td>FD</td><td><?=gettext('The file descriptor number of the socket.')?></td></tr>
<tr><tdclass="listlr">PROTO</td><tdclass="listr"><?=gettext('The transport protocol associated with the socket for Internet sockets, or the type of socket (stream or data-gram) for UNIX sockets.')?></td></tr>
<tr><td>PROTO</td><td><?=gettext('The transport protocol associated with the socket for Internet sockets, or the type of socket (stream or data-gram) for UNIX sockets.')?></td></tr>
<tr><tdclass="listlr">ADDRESS</td><tdclass="listr"><?=sprintf(gettext("(UNIX sockets only) For bound sockets, this is the file-name of the socket. %sFor other sockets, it is the name, PID and file descriptor number of the peer, or ``(none)'' if the socket is neither bound nor connected."),'<br />')?></td></tr>
<tr><td>ADDRESS</td><td><?=sprintf(gettext("(UNIX sockets only) For bound sockets, this is the file-name of the socket. %sFor other sockets, it is the name, PID and file descriptor number of the peer, or ``(none)'' if the socket is neither bound nor connected."),'<br />')?></td></tr>
<tr><tdclass="listlr">LOCAL ADDRESS</td><tdclass="listr"><?=gettext('(Internet sockets only) The address the local end of the socket is bound to (see getsockname(2)).')?></td></tr>
<tr><td>LOCAL ADDRESS</td><td><?=gettext('(Internet sockets only) The address the local end of the socket is bound to (see getsockname(2)).')?></td></tr>
<tr><tdclass="listlr">FOREIGN ADDRESS</td><tdclass="listr"><?=gettext('(Internet sockets only) The address the foreign end of the socket is bound to (see getpeername(2)).')?></td></tr>
<tr><td>FOREIGN ADDRESS</td><td><?=gettext('(Internet sockets only) The address the foreign end of the socket is bound to (see getpeername(2)).')?></td></tr>