summaryrefslogtreecommitdiffstats
path: root/po/es/man7/sock_diag.7.po
diff options
context:
space:
mode:
Diffstat (limited to 'po/es/man7/sock_diag.7.po')
-rw-r--r--po/es/man7/sock_diag.7.po2031
1 files changed, 2031 insertions, 0 deletions
diff --git a/po/es/man7/sock_diag.7.po b/po/es/man7/sock_diag.7.po
new file mode 100644
index 00000000..16b5b652
--- /dev/null
+++ b/po/es/man7/sock_diag.7.po
@@ -0,0 +1,2031 @@
+# Spanish translation of manpages
+# This file is distributed under the same license as the manpages-l10n package.
+# Copyright © of this file:
+msgid ""
+msgstr ""
+"Project-Id-Version: manpages-l10n 4.11.0\n"
+"POT-Creation-Date: 2024-03-01 17:08+0100\n"
+"PO-Revision-Date: 2021-09-03 21:25+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: Spanish <debian-l10n-spanish@lists.debian.org>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: TH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "sock_diag"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-10-31"
+msgstr "31 Octubre 2023"
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "Linux man-pages 6.06"
+msgstr "Páginas de manual de Linux 6.06"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NAME"
+msgstr "NOMBRE"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "sock_diag - obtaining information about sockets"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr "SINOPSIS"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<#include E<lt>sys/socket.hE<gt>>\n"
+"B<#include E<lt>linux/sock_diag.hE<gt>>\n"
+"B<#include E<lt>linux/unix_diag.hE<gt>> /* for UNIX domain sockets */\n"
+"B<#include E<lt>linux/inet_diag.hE<gt>> /* for IPv4 and IPv6 sockets */\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<diag_socket = socket(AF_NETLINK, >I<socket_type>B<, NETLINK_SOCK_DIAG);>\n"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr "DESCRIPCIÓN"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The sock_diag netlink subsystem provides a mechanism for obtaining "
+"information about sockets of various address families from the kernel. This "
+"subsystem can be used to obtain information about individual sockets or "
+"request a list of sockets."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"In the request, the caller can specify additional information it would like "
+"to obtain about the socket, for example, memory information or information "
+"specific to the address family."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"When requesting a list of sockets, the caller can specify filters that would "
+"be applied by the kernel to select a subset of sockets to report. For now, "
+"there is only the ability to filter sockets by state (connected, listening, "
+"and so on.)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Note that sock_diag reports only those sockets that have a name; that is, "
+"either sockets bound explicitly with B<bind>(2) or sockets that were "
+"automatically bound to an address (e.g., by B<connect>(2)). This is the "
+"same set of sockets that is available via I</proc/net/unix>, I</proc/net/"
+"tcp>, I</proc/net/udp>, and so on."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Request"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The request starts with a I<struct nlmsghdr> header described in "
+"B<netlink>(7) with I<nlmsg_type> field set to B<SOCK_DIAG_BY_FAMILY>. It "
+"is followed by a header specific to the address family that starts with a "
+"common part shared by all address families:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct sock_diag_req {\n"
+" __u8 sdiag_family;\n"
+" __u8 sdiag_protocol;\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The fields of this structure are as follows:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<sdiag_family>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"An address family. It should be set to the appropriate B<AF_*> constant."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<sdiag_protocol>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Depends on I<sdiag_family>. It should be set to the appropriate "
+"B<IPPROTO_*> constant for B<AF_INET> and B<AF_INET6>, and to 0 otherwise."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the I<nlmsg_flags> field of the I<struct nlmsghdr> header has the "
+"B<NLM_F_DUMP> flag set, it means that a list of sockets is being requested; "
+"otherwise it is a query about an individual socket."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Response"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The response starts with a I<struct nlmsghdr> header and is followed by an "
+"array of objects specific to the address family. The array is to be "
+"accessed with the standard B<NLMSG_*> macros from the B<netlink>(3) API."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Each object is the NLA (netlink attributes) list that is to be accessed with "
+"the B<RTA_*> macros from B<rtnetlink>(3) API."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "UNIX domain sockets"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For UNIX domain sockets the request is represented in the following "
+"structure:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct unix_diag_req {\n"
+" __u8 sdiag_family;\n"
+" __u8 sdiag_protocol;\n"
+" __u16 pad;\n"
+" __u32 udiag_states;\n"
+" __u32 udiag_ino;\n"
+" __u32 udiag_show;\n"
+" __u32 udiag_cookie[2];\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The address family; it should be set to B<AF_UNIX>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<pad>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "These fields should be set to 0."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<udiag_states>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This is a bit mask that defines a filter of sockets states. Only those "
+"sockets whose states are in this mask will be reported. Ignored when "
+"querying for an individual socket. Supported values are:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "1 E<lt>E<lt> B<TCP_ESTABLISHED>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "1 E<lt>E<lt> B<TCP_LISTEN>"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<udiag_ino>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This is an inode number when querying for an individual socket. Ignored "
+"when querying for a list of sockets."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<udiag_show>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This is a set of flags defining what kind of information to report. Each "
+"requested kind of information is reported back as a netlink attribute as "
+"described below:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<UDIAG_SHOW_NAME>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The attribute reported in answer to this request is B<UNIX_DIAG_NAME>. The "
+"payload associated with this attribute is the pathname to which the socket "
+"was bound (a sequence of bytes up to B<UNIX_PATH_MAX> length)."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<UDIAG_SHOW_VFS>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The attribute reported in answer to this request is B<UNIX_DIAG_VFS>. The "
+"payload associated with this attribute is represented in the following "
+"structure:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct unix_diag_vfs {\n"
+" __u32 udiag_vfs_dev;\n"
+" __u32 udiag_vfs_ino;\n"
+"};\n"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<udiag_vfs_dev>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The device number of the corresponding on-disk socket inode."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<udiag_vfs_ino>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The inode number of the corresponding on-disk socket inode."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<UDIAG_SHOW_PEER>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The attribute reported in answer to this request is B<UNIX_DIAG_PEER>. The "
+"payload associated with this attribute is a __u32 value which is the peer's "
+"inode number. This attribute is reported for connected sockets only."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<UDIAG_SHOW_ICONS>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The attribute reported in answer to this request is B<UNIX_DIAG_ICONS>. The "
+"payload associated with this attribute is an array of __u32 values which are "
+"inode numbers of sockets that has passed the B<connect>(2) call, but hasn't "
+"been processed with B<accept>(2) yet. This attribute is reported for "
+"listening sockets only."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<UDIAG_SHOW_RQLEN>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The attribute reported in answer to this request is B<UNIX_DIAG_RQLEN>. The "
+"payload associated with this attribute is represented in the following "
+"structure:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct unix_diag_rqlen {\n"
+" __u32 udiag_rqueue;\n"
+" __u32 udiag_wqueue;\n"
+"};\n"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<udiag_rqueue>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For listening sockets: the number of pending connections. The length of the "
+"array associated with the B<UNIX_DIAG_ICONS> response attribute is equal to "
+"this value."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "For established sockets: the amount of data in incoming queue."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<udiag_wqueue>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For listening sockets: the backlog length which equals to the value passed "
+"as the second argument to B<listen>(2)."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "For established sockets: the amount of memory available for sending."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<UDIAG_SHOW_MEMINFO>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The attribute reported in answer to this request is B<UNIX_DIAG_MEMINFO>. "
+"The payload associated with this attribute is an array of __u32 values "
+"described below in the subsection \"Socket memory information\"."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The following attributes are reported back without any specific request:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<UNIX_DIAG_SHUTDOWN>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The payload associated with this attribute is __u8 value which represents "
+"bits of B<shutdown>(2) state."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<udiag_cookie>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This is an array of opaque identifiers that could be used along with "
+"I<udiag_ino> to specify an individual socket. It is ignored when querying "
+"for a list of sockets, as well as when all its elements are set to -1."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The response to a query for UNIX domain sockets is represented as an array of"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct unix_diag_msg {\n"
+" __u8 udiag_family;\n"
+" __u8 udiag_type;\n"
+" __u8 udiag_state;\n"
+" __u8 pad;\n"
+" __u32 udiag_ino;\n"
+" __u32 udiag_cookie[2];\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "followed by netlink attributes."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<udiag_family>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "This field has the same meaning as in I<struct unix_diag_req>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<udiag_type>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This is set to one of B<SOCK_PACKET>, B<SOCK_STREAM>, or B<SOCK_SEQPACKET>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<udiag_state>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "This is set to one of B<TCP_LISTEN> or B<TCP_ESTABLISHED>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "This field is set to 0."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "This is the socket inode number."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This is an array of opaque identifiers that could be used in subsequent "
+"queries."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "IPv4 and IPv6 sockets"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For IPv4 and IPv6 sockets, the request is represented in the following "
+"structure:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct inet_diag_req_v2 {\n"
+" __u8 sdiag_family;\n"
+" __u8 sdiag_protocol;\n"
+" __u8 idiag_ext;\n"
+" __u8 pad;\n"
+" __u32 idiag_states;\n"
+" struct inet_diag_sockid id;\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "where I<struct inet_diag_sockid> is defined as follows:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct inet_diag_sockid {\n"
+" __be16 idiag_sport;\n"
+" __be16 idiag_dport;\n"
+" __be32 idiag_src[4];\n"
+" __be32 idiag_dst[4];\n"
+" __u32 idiag_if;\n"
+" __u32 idiag_cookie[2];\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The fields of I<struct inet_diag_req_v2> are as follows:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This should be set to either B<AF_INET> or B<AF_INET6> for IPv4 or IPv6 "
+"sockets respectively."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This should be set to one of B<IPPROTO_TCP>, B<IPPROTO_UDP>, or "
+"B<IPPROTO_UDPLITE>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_ext>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This is a set of flags defining what kind of extended information to "
+"report. Each requested kind of information is reported back as a netlink "
+"attribute as described below:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<INET_DIAG_TOS>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The payload associated with this attribute is a __u8 value which is the TOS "
+"of the socket."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<INET_DIAG_TCLASS>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The payload associated with this attribute is a __u8 value which is the "
+"TClass of the socket. IPv6 sockets only. For LISTEN and CLOSE sockets, "
+"this is followed by B<INET_DIAG_SKV6ONLY> attribute with associated __u8 "
+"payload value meaning whether the socket is IPv6-only or not."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<INET_DIAG_MEMINFO>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The payload associated with this attribute is represented in the following "
+"structure:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct inet_diag_meminfo {\n"
+" __u32 idiag_rmem;\n"
+" __u32 idiag_wmem;\n"
+" __u32 idiag_fmem;\n"
+" __u32 idiag_tmem;\n"
+"};\n"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_rmem>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The amount of data in the receive queue."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_wmem>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The amount of data that is queued by TCP but not yet sent."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_fmem>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The amount of memory scheduled for future use (TCP only)."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_tmem>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The amount of data in send queue."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<INET_DIAG_SKMEMINFO>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The payload associated with this attribute is an array of __u32 values "
+"described below in the subsection \"Socket memory information\"."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<INET_DIAG_INFO>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The payload associated with this attribute is specific to the address "
+"family. For TCP sockets, it is an object of type I<struct tcp_info>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<INET_DIAG_CONG>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The payload associated with this attribute is a string that describes the "
+"congestion control algorithm used. For TCP sockets only."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "This should be set to 0."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_states>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This is a bit mask that defines a filter of socket states. Only those "
+"sockets whose states are in this mask will be reported. Ignored when "
+"querying for an individual socket."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<id>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This is a socket ID object that is used in dump requests, in queries about "
+"individual sockets, and is reported back in each response. Unlike UNIX "
+"domain sockets, IPv4 and IPv6 sockets are identified using addresses and "
+"ports. All values are in network byte order."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The fields of I<struct inet_diag_sockid> are as follows:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_sport>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The source port."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_dport>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The destination port."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_src>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The source address."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_dst>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The destination address."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_if>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The interface number the socket is bound to."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_cookie>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This is an array of opaque identifiers that could be used along with other "
+"fields of this structure to specify an individual socket. It is ignored "
+"when querying for a list of sockets, as well as when all its elements are "
+"set to -1."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The response to a query for IPv4 or IPv6 sockets is represented as an array "
+"of"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct inet_diag_msg {\n"
+" __u8 idiag_family;\n"
+" __u8 idiag_state;\n"
+" __u8 idiag_timer;\n"
+" __u8 idiag_retrans;\n"
+"\\&\n"
+" struct inet_diag_sockid id;\n"
+"\\&\n"
+" __u32 idiag_expires;\n"
+" __u32 idiag_rqueue;\n"
+" __u32 idiag_wqueue;\n"
+" __u32 idiag_uid;\n"
+" __u32 idiag_inode;\n"
+"};\n"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_family>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "This is the same field as in I<struct inet_diag_req_v2>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_state>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "This denotes socket state as in I<struct inet_diag_req_v2>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_timer>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For TCP sockets, this field describes the type of timer that is currently "
+"active for the socket. It is set to one of the following constants:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<0>"
+msgstr "B<0>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "no timer is active"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<1>"
+msgstr "B<1>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "a retransmit timer"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<2>"
+msgstr "B<2>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "a keep-alive timer"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<3>"
+msgstr "B<3>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "a TIME_WAIT timer"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<4>"
+msgstr "B<4>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "a zero window probe timer"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "For non-TCP sockets, this field is set to 0."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_retrans>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For I<idiag_timer> values 1, 2, and 4, this field contains the number of "
+"retransmits. For other I<idiag_timer> values, this field is set to 0."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_expires>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For TCP sockets that have an active timer, this field describes its "
+"expiration time in milliseconds. For other sockets, this field is set to 0."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_rqueue>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "For listening sockets: the number of pending connections."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "For other sockets: the amount of data in the incoming queue."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_wqueue>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "For listening sockets: the backlog length."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "For other sockets: the amount of memory available for sending."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_uid>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "This is the socket owner UID."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<idiag_inode>"
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Socket memory information"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The payload associated with B<UNIX_DIAG_MEMINFO> and B<INET_DIAG_SKMEMINFO> "
+"netlink attributes is an array of the following __u32 values:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SK_MEMINFO_RMEM_ALLOC>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The amount of data in receive queue."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SK_MEMINFO_RCVBUF>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The receive socket buffer as set by B<SO_RCVBUF>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SK_MEMINFO_WMEM_ALLOC>"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SK_MEMINFO_SNDBUF>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The send socket buffer as set by B<SO_SNDBUF>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SK_MEMINFO_FWD_ALLOC>"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SK_MEMINFO_WMEM_QUEUED>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The amount of data queued by TCP, but not yet sent."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SK_MEMINFO_OPTMEM>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The amount of memory allocated for the socket's service needs (e.g., socket "
+"filter)."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SK_MEMINFO_BACKLOG>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The amount of packets in the backlog (not yet processed)."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "VERSIONS"
+msgstr "VERSIONES"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<NETLINK_INET_DIAG> was introduced in Linux 2.6.14 and supported B<AF_INET> "
+"and B<AF_INET6> sockets only. In Linux 3.3, it was renamed to "
+"B<NETLINK_SOCK_DIAG> and extended to support B<AF_UNIX> sockets."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<UNIX_DIAG_MEMINFO> and B<INET_DIAG_SKMEMINFO> were introduced in Linux 3.6."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "STANDARDS"
+msgstr "ESTÁNDARES"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Linux."
+msgstr "Linux."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "EXAMPLES"
+msgstr "EJEMPLOS"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The following example program prints inode number, peer's inode number, and "
+"name of all UNIX domain sockets in the current namespace."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>linux/netlink.hE<gt>\n"
+"#include E<lt>linux/rtnetlink.hE<gt>\n"
+"#include E<lt>linux/sock_diag.hE<gt>\n"
+"#include E<lt>linux/unix_diag.hE<gt>\n"
+"\\&\n"
+"static int\n"
+"send_query(int fd)\n"
+"{\n"
+" struct sockaddr_nl nladdr = {\n"
+" .nl_family = AF_NETLINK\n"
+" };\n"
+" struct\n"
+" {\n"
+" struct nlmsghdr nlh;\n"
+" struct unix_diag_req udr;\n"
+" } req = {\n"
+" .nlh = {\n"
+" .nlmsg_len = sizeof(req),\n"
+" .nlmsg_type = SOCK_DIAG_BY_FAMILY,\n"
+" .nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP\n"
+" },\n"
+" .udr = {\n"
+" .sdiag_family = AF_UNIX,\n"
+" .udiag_states = -1,\n"
+" .udiag_show = UDIAG_SHOW_NAME | UDIAG_SHOW_PEER\n"
+" }\n"
+" };\n"
+" struct iovec iov = {\n"
+" .iov_base = &req,\n"
+" .iov_len = sizeof(req)\n"
+" };\n"
+" struct msghdr msg = {\n"
+" .msg_name = &nladdr,\n"
+" .msg_namelen = sizeof(nladdr),\n"
+" .msg_iov = &iov,\n"
+" .msg_iovlen = 1\n"
+" };\n"
+"\\&\n"
+" for (;;) {\n"
+" if (sendmsg(fd, &msg, 0) E<lt> 0) {\n"
+" if (errno == EINTR)\n"
+" continue;\n"
+"\\&\n"
+" perror(\"sendmsg\");\n"
+" return -1;\n"
+" }\n"
+"\\&\n"
+" return 0;\n"
+" }\n"
+"}\n"
+"\\&\n"
+"static int\n"
+"print_diag(const struct unix_diag_msg *diag, unsigned int len)\n"
+"{\n"
+" if (len E<lt> NLMSG_LENGTH(sizeof(*diag))) {\n"
+" fputs(\"short response\\en\", stderr);\n"
+" return -1;\n"
+" }\n"
+" if (diag-E<gt>udiag_family != AF_UNIX) {\n"
+" fprintf(stderr, \"unexpected family %u\\en\", diag-E<gt>udiag_family);\n"
+" return -1;\n"
+" }\n"
+"\\&\n"
+" unsigned int rta_len = len - NLMSG_LENGTH(sizeof(*diag));\n"
+" unsigned int peer = 0;\n"
+" size_t path_len = 0;\n"
+" char path[sizeof(((struct sockaddr_un *) 0)-E<gt>sun_path) + 1];\n"
+"\\&\n"
+" for (struct rtattr *attr = (struct rtattr *) (diag + 1);\n"
+" RTA_OK(attr, rta_len); attr = RTA_NEXT(attr, rta_len)) {\n"
+" switch (attr-E<gt>rta_type) {\n"
+" case UNIX_DIAG_NAME:\n"
+" if (!path_len) {\n"
+" path_len = RTA_PAYLOAD(attr);\n"
+" if (path_len E<gt> sizeof(path) - 1)\n"
+" path_len = sizeof(path) - 1;\n"
+" memcpy(path, RTA_DATA(attr), path_len);\n"
+" path[path_len] = \\[aq]\\e0\\[aq];\n"
+" }\n"
+" break;\n"
+"\\&\n"
+" case UNIX_DIAG_PEER:\n"
+" if (RTA_PAYLOAD(attr) E<gt>= sizeof(peer))\n"
+" peer = *(unsigned int *) RTA_DATA(attr);\n"
+" break;\n"
+" }\n"
+" }\n"
+"\\&\n"
+" printf(\"inode=%u\", diag-E<gt>udiag_ino);\n"
+"\\&\n"
+" if (peer)\n"
+" printf(\", peer=%u\", peer);\n"
+"\\&\n"
+" if (path_len)\n"
+" printf(\", name=%s%s\", *path ? \"\" : \"@\",\n"
+" *path ? path : path + 1);\n"
+"\\&\n"
+" putchar(\\[aq]\\en\\[aq]);\n"
+" return 0;\n"
+"}\n"
+"\\&\n"
+"static int\n"
+"receive_responses(int fd)\n"
+"{\n"
+" long buf[8192 / sizeof(long)];\n"
+" struct sockaddr_nl nladdr;\n"
+" struct iovec iov = {\n"
+" .iov_base = buf,\n"
+" .iov_len = sizeof(buf)\n"
+" };\n"
+" int flags = 0;\n"
+"\\&\n"
+" for (;;) {\n"
+" struct msghdr msg = {\n"
+" .msg_name = &nladdr,\n"
+" .msg_namelen = sizeof(nladdr),\n"
+" .msg_iov = &iov,\n"
+" .msg_iovlen = 1\n"
+" };\n"
+"\\&\n"
+" ssize_t ret = recvmsg(fd, &msg, flags);\n"
+"\\&\n"
+" if (ret E<lt> 0) {\n"
+" if (errno == EINTR)\n"
+" continue;\n"
+"\\&\n"
+" perror(\"recvmsg\");\n"
+" return -1;\n"
+" }\n"
+" if (ret == 0)\n"
+" return 0;\n"
+"\\&\n"
+" if (nladdr.nl_family != AF_NETLINK) {\n"
+" fputs(\"!AF_NETLINK\\en\", stderr);\n"
+" return -1;\n"
+" }\n"
+"\\&\n"
+" const struct nlmsghdr *h = (struct nlmsghdr *) buf;\n"
+"\\&\n"
+" if (!NLMSG_OK(h, ret)) {\n"
+" fputs(\"!NLMSG_OK\\en\", stderr);\n"
+" return -1;\n"
+" }\n"
+"\\&\n"
+" for (; NLMSG_OK(h, ret); h = NLMSG_NEXT(h, ret)) {\n"
+" if (h-E<gt>nlmsg_type == NLMSG_DONE)\n"
+" return 0;\n"
+"\\&\n"
+" if (h-E<gt>nlmsg_type == NLMSG_ERROR) {\n"
+" const struct nlmsgerr *err = NLMSG_DATA(h);\n"
+"\\&\n"
+" if (h-E<gt>nlmsg_len E<lt> NLMSG_LENGTH(sizeof(*err))) {\n"
+" fputs(\"NLMSG_ERROR\\en\", stderr);\n"
+" } else {\n"
+" errno = -err-E<gt>error;\n"
+" perror(\"NLMSG_ERROR\");\n"
+" }\n"
+"\\&\n"
+" return -1;\n"
+" }\n"
+"\\&\n"
+" if (h-E<gt>nlmsg_type != SOCK_DIAG_BY_FAMILY) {\n"
+" fprintf(stderr, \"unexpected nlmsg_type %u\\en\",\n"
+" (unsigned) h-E<gt>nlmsg_type);\n"
+" return -1;\n"
+" }\n"
+"\\&\n"
+" if (print_diag(NLMSG_DATA(h), h-E<gt>nlmsg_len))\n"
+" return -1;\n"
+" }\n"
+" }\n"
+"}\n"
+"\\&\n"
+"int\n"
+"main(void)\n"
+"{\n"
+" int fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG);\n"
+"\\&\n"
+" if (fd E<lt> 0) {\n"
+" perror(\"socket\");\n"
+" return 1;\n"
+" }\n"
+"\\&\n"
+" int ret = send_query(fd) || receive_responses(fd);\n"
+"\\&\n"
+" close(fd);\n"
+" return ret;\n"
+"}\n"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SEE ALSO"
+msgstr "VÉASE TAMBIÉN"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "B<netlink>(3), B<rtnetlink>(3), B<netlink>(7), B<tcp>(7)"
+msgstr ""
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "2023-02-05"
+msgstr "5 Febrero 2023"
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "Linux man-pages 6.03"
+msgstr "Páginas de manual de Linux 6.03"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"struct inet_diag_msg {\n"
+" __u8 idiag_family;\n"
+" __u8 idiag_state;\n"
+" __u8 idiag_timer;\n"
+" __u8 idiag_retrans;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " struct inet_diag_sockid id;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" __u32 idiag_expires;\n"
+" __u32 idiag_rqueue;\n"
+" __u32 idiag_wqueue;\n"
+" __u32 idiag_uid;\n"
+" __u32 idiag_inode;\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm
+msgid "The NETLINK_SOCK_DIAG API is Linux-specific."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>linux/netlink.hE<gt>\n"
+"#include E<lt>linux/rtnetlink.hE<gt>\n"
+"#include E<lt>linux/sock_diag.hE<gt>\n"
+"#include E<lt>linux/unix_diag.hE<gt>\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"static int\n"
+"send_query(int fd)\n"
+"{\n"
+" struct sockaddr_nl nladdr = {\n"
+" .nl_family = AF_NETLINK\n"
+" };\n"
+" struct\n"
+" {\n"
+" struct nlmsghdr nlh;\n"
+" struct unix_diag_req udr;\n"
+" } req = {\n"
+" .nlh = {\n"
+" .nlmsg_len = sizeof(req),\n"
+" .nlmsg_type = SOCK_DIAG_BY_FAMILY,\n"
+" .nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP\n"
+" },\n"
+" .udr = {\n"
+" .sdiag_family = AF_UNIX,\n"
+" .udiag_states = -1,\n"
+" .udiag_show = UDIAG_SHOW_NAME | UDIAG_SHOW_PEER\n"
+" }\n"
+" };\n"
+" struct iovec iov = {\n"
+" .iov_base = &req,\n"
+" .iov_len = sizeof(req)\n"
+" };\n"
+" struct msghdr msg = {\n"
+" .msg_name = &nladdr,\n"
+" .msg_namelen = sizeof(nladdr),\n"
+" .msg_iov = &iov,\n"
+" .msg_iovlen = 1\n"
+" };\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" for (;;) {\n"
+" if (sendmsg(fd, &msg, 0) E<lt> 0) {\n"
+" if (errno == EINTR)\n"
+" continue;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" perror(\"sendmsg\");\n"
+" return -1;\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" return 0;\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"static int\n"
+"print_diag(const struct unix_diag_msg *diag, unsigned int len)\n"
+"{\n"
+" if (len E<lt> NLMSG_LENGTH(sizeof(*diag))) {\n"
+" fputs(\"short response\\en\", stderr);\n"
+" return -1;\n"
+" }\n"
+" if (diag-E<gt>udiag_family != AF_UNIX) {\n"
+" fprintf(stderr, \"unexpected family %u\\en\", diag-E<gt>udiag_family);\n"
+" return -1;\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" unsigned int rta_len = len - NLMSG_LENGTH(sizeof(*diag));\n"
+" unsigned int peer = 0;\n"
+" size_t path_len = 0;\n"
+" char path[sizeof(((struct sockaddr_un *) 0)-E<gt>sun_path) + 1];\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" for (struct rtattr *attr = (struct rtattr *) (diag + 1);\n"
+" RTA_OK(attr, rta_len); attr = RTA_NEXT(attr, rta_len)) {\n"
+" switch (attr-E<gt>rta_type) {\n"
+" case UNIX_DIAG_NAME:\n"
+" if (!path_len) {\n"
+" path_len = RTA_PAYLOAD(attr);\n"
+" if (path_len E<gt> sizeof(path) - 1)\n"
+" path_len = sizeof(path) - 1;\n"
+" memcpy(path, RTA_DATA(attr), path_len);\n"
+" path[path_len] = \\[aq]\\e0\\[aq];\n"
+" }\n"
+" break;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" case UNIX_DIAG_PEER:\n"
+" if (RTA_PAYLOAD(attr) E<gt>= sizeof(peer))\n"
+" peer = *(unsigned int *) RTA_DATA(attr);\n"
+" break;\n"
+" }\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " printf(\"inode=%u\", diag-E<gt>udiag_ino);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (peer)\n"
+" printf(\", peer=%u\", peer);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (path_len)\n"
+" printf(\", name=%s%s\", *path ? \"\" : \"@\",\n"
+" *path ? path : path + 1);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" putchar(\\[aq]\\en\\[aq]);\n"
+" return 0;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"static int\n"
+"receive_responses(int fd)\n"
+"{\n"
+" long buf[8192 / sizeof(long)];\n"
+" struct sockaddr_nl nladdr;\n"
+" struct iovec iov = {\n"
+" .iov_base = buf,\n"
+" .iov_len = sizeof(buf)\n"
+" };\n"
+" int flags = 0;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" for (;;) {\n"
+" struct msghdr msg = {\n"
+" .msg_name = &nladdr,\n"
+" .msg_namelen = sizeof(nladdr),\n"
+" .msg_iov = &iov,\n"
+" .msg_iovlen = 1\n"
+" };\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " ssize_t ret = recvmsg(fd, &msg, flags);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (ret E<lt> 0) {\n"
+" if (errno == EINTR)\n"
+" continue;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" perror(\"recvmsg\");\n"
+" return -1;\n"
+" }\n"
+" if (ret == 0)\n"
+" return 0;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (nladdr.nl_family != AF_NETLINK) {\n"
+" fputs(\"!AF_NETLINK\\en\", stderr);\n"
+" return -1;\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " const struct nlmsghdr *h = (struct nlmsghdr *) buf;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (!NLMSG_OK(h, ret)) {\n"
+" fputs(\"!NLMSG_OK\\en\", stderr);\n"
+" return -1;\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" for (; NLMSG_OK(h, ret); h = NLMSG_NEXT(h, ret)) {\n"
+" if (h-E<gt>nlmsg_type == NLMSG_DONE)\n"
+" return 0;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (h-E<gt>nlmsg_type == NLMSG_ERROR) {\n"
+" const struct nlmsgerr *err = NLMSG_DATA(h);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (h-E<gt>nlmsg_len E<lt> NLMSG_LENGTH(sizeof(*err))) {\n"
+" fputs(\"NLMSG_ERROR\\en\", stderr);\n"
+" } else {\n"
+" errno = -err-E<gt>error;\n"
+" perror(\"NLMSG_ERROR\");\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" return -1;\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (h-E<gt>nlmsg_type != SOCK_DIAG_BY_FAMILY) {\n"
+" fprintf(stderr, \"unexpected nlmsg_type %u\\en\",\n"
+" (unsigned) h-E<gt>nlmsg_type);\n"
+" return -1;\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (print_diag(NLMSG_DATA(h), h-E<gt>nlmsg_len))\n"
+" return -1;\n"
+" }\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"int\n"
+"main(void)\n"
+"{\n"
+" int fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (fd E<lt> 0) {\n"
+" perror(\"socket\");\n"
+" return 1;\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " int ret = send_query(fd) || receive_responses(fd);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" close(fd);\n"
+" return ret;\n"
+"}\n"
+msgstr ""
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2023-05-03"
+msgstr "3 Mayo 2023"
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "Linux man-pages 6.05.01"
+msgstr "Páginas de manual de Linux 6.05.01"
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "2023-03-30"
+msgstr "30 Marzo 2023"
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "Linux man-pages 6.04"
+msgstr "Linux man-pages 6.04"