diff options
Diffstat (limited to 'po/ru/man7/sock_diag.7.po')
-rw-r--r-- | po/ru/man7/sock_diag.7.po | 2496 |
1 files changed, 2496 insertions, 0 deletions
diff --git a/po/ru/man7/sock_diag.7.po b/po/ru/man7/sock_diag.7.po new file mode 100644 index 00000000..c44bfac5 --- /dev/null +++ b/po/ru/man7/sock_diag.7.po @@ -0,0 +1,2496 @@ +# Russian translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# Alexander Golubev <fatzer2@gmail.com>, 2018. +# Azamat Hackimov <azamat.hackimov@gmail.com>, 2011, 2014-2016. +# Hotellook, 2014. +# Nikita <zxcvbnm3230@mail.ru>, 2014. +# Spiros Georgaras <sng@hellug.gr>, 2016. +# Vladislav <ivladislavefimov@gmail.com>, 2015. +# Yuri Kozlov <yuray@komyakino.ru>, 2011-2019. +# Иван Павлов <pavia00@gmail.com>, 2017. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n\n" +"POT-Creation-Date: 2024-03-01 17:08+0100\n" +"PO-Revision-Date: 2019-10-15 18:55+0300\n" +"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" +"Language-Team: Russian <man-pages-ru-talks@lists.sourceforge.net>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" +"X-Generator: Lokalize 2.0\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 октября 2023 г." + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "Linux man-pages 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 "ИМЯ" + +#. 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 "sock_diag - возвращает информацию о сокетах" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SYNOPSIS" +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<#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 "" +"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>> /* для доменных сокетов UNIX */\n" +"B<#include E<lt>linux/inet_diag.hE<gt>> /* для сокетов IPv4 и IPv6 */\n" + +#. 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 "B<diag_socket = socket(AF_NETLINK, >I<socket_type>B<, NETLINK_SOCK_DIAG);>\n" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "DESCRIPTION" +msgstr "ОПИСАНИЕ" + +#. 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 "" +"Подсистема sock_diag netlink предоставляет механизм получения информации о " +"сокетах различных семейств адресов из ядра. Данная подсистема может " +"использоваться для получения информации об отдельных сокетах или запрашивать " +"список сокетов." + +#. 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 "" +"Заметим, что sock_diag возвращает только сокеты с именем; то есть, явно " +"привязанные сокеты с помощью B<bind>(2) или автоматически привязанные к " +"адресу сокеты (например, с помощью B<connect>(2)). Данный набор сокетов " +"совпадает со списком в I</proc/net/unix>, I</proc/net/tcp>, I</proc/net/udp> " +"и т. п." + +#. 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 "" +"Запрос начинается с заголовка I<struct nlmsghdr>, описанного в " +"B<netlink>(7), в котором поле I<nlmsg_type> равно B<SOCK_DIAG_BY_FAMILY>. За " +"ним следует заголовок, соответствующий семейству адресов, начинающийся с " +"общей части, используемой для всех семейств адресов:" + +#. 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 "" +"struct sock_diag_req {\n" +" __u8 sdiag_family;\n" +" __u8 sdiag_protocol;\n" +"};\n" + +#. 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 "I<sdiag_family>" + +#. 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 "" +"Семейство адресов. Должна быть указана соответствующая константа B<AF_*>." + +#. 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 "I<sdiag_protocol>" + +#. 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 "" +"Зависит от I<sdiag_family>. Должна быть указана соответствующая константа " +"B<IPPROTO_*> при B<AF_INET> и B<AF_INET6>, и 0 в остальных случаях." + +#. 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 "" +"Если в поле I<nlmsg_flags> заголовка I<struct nlmsghdr> установлен флаг " +"B<NLM_F_DUMP>, то это означает, что запрашивается список сокетов; в " +"противном случае запрашивается информация об конкретном сокете." + +#. 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 "" +"Ответ начинается с заголовка I<struct nlmsghdr>, за которым следует массив " +"объектов, соответствующих семейству адресов. Массив доступен через " +"стандартные макросы из B<NLMSG_*> программного интерфейса B<netlink>(3)." + +#. 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 "" +"Каждый объект представляет собой список NLA (атрибутов netlink), которые " +"доступны через макросы B<RTA_*> программного интерфейса B<rtnetlink>(3)." + +#. 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 "Доменные сокеты UNIX" + +#. 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 "Запрос доменных сокетов UNIX описывается в следующей структуре:" + +#. 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 "" +"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" + +#. 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 "Семейство адресов; должно быть равно B<AF_UNIX>." + +#. 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 "I<pad>" + +#. 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 "Эти поля должны быть равны 0." + +#. 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 "I<udiag_states>" + +#. 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 "1 E<lt>E<lt> B<TCP_ESTABLISHED>" + +#. 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 "1 E<lt>E<lt> B<TCP_LISTEN>" + +#. 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 "I<udiag_ino>" + +#. 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 "I<udiag_show>" + +#. 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 "" +"Набор флагов, определяющий тип возвращаемой информации. Каждый запрашиваемый " +"тип информации возвращается в виде атрибута netlink, описанного ниже:" + +#. 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 "B<UDIAG_SHOW_NAME>" + +#. 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 "" +"Атрибут, возвращаемый в ответе на этот запрос — B<UNIX_DIAG_NAME>. Полезные " +"данные, связанные с этим атрибутом — путь, с которым был связан сокет " +"(последовательность байт длиной до B<UNIX_PATH_MAX>)." + +#. 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 "B<UDIAG_SHOW_VFS>" + +#. 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 "" +"Атрибут, возвращаемый в ответе на этот запрос — B<UNIX_DIAG_VFS>. Полезные " +"данные, связанные с этим атрибутом представляются следующей структурой:" + +#. 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 "" +"struct unix_diag_vfs {\n" +" __u32 udiag_vfs_dev;\n" +" __u32 udiag_vfs_ino;\n" +"};\n" + +#. 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 "I<udiag_vfs_dev>" + +#. 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 "I<udiag_vfs_ino>" + +#. 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 "B<UDIAG_SHOW_PEER>" + +#. 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 "" +"Атрибут, возвращаемый в ответе на этот запрос — B<UNIX_DIAG_PEER>. Полезные " +"данные, связанные с этим атрибутом — значение __u32, представляющее номер " +"иноды ответной стороны. Данный атрибут возвращается только для соединённых " +"сокетов." + +#. 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 "B<UDIAG_SHOW_ICONS>" + +#. 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 "" +"Атрибут, возвращаемый в ответе на этот запрос — B<UNIX_DIAG_ICONS>. Полезные " +"данные, связанные с этим атрибутом — значения __u32, представляющие номера " +"инод сокетов, которые переданы вызову B<connect>(2), но ещё не были " +"обработаны B<accept>(2). Данный атрибут возвращается, если запрашивается " +"список сокетов." + +#. 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 "B<UDIAG_SHOW_RQLEN>" + +#. 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 "" +"Атрибут, возвращаемый в ответе на этот запрос — B<UNIX_DIAG_RQLEN>. Полезные " +"данные, связанные с этим атрибутом представляются следующей структурой:" + +#. 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 "" +"struct unix_diag_rqlen {\n" +" __u32 udiag_rqueue;\n" +" __u32 udiag_wqueue;\n" +"};\n" + +#. 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 "I<udiag_rqueue>" + +#. 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 "" +"Для слушающих сокетов: количество ожидающих подключений. Этому значению " +"равна длина массива, связанного с атрибутом ответа B<UNIX_DIAG_ICONS>." + +#. 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 "I<udiag_wqueue>" + +#. 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 "" +"Для слушающих сокетов: длина недодела (backlog), равная значению, " +"переданному во втором аргументе B<listen>(2)." + +#. 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 "B<UDIAG_SHOW_MEMINFO>" + +#. 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 "" +"Атрибут, возвращаемый в ответе на этот запрос — B<UNIX_DIAG_MEMINFO>. " +"Полезные данные, связанные с этим атрибутом представляют собой массив " +"значений с типом __u32,описанный далее в подразделе «Информация о памяти " +"сокетов»." + +#. 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 "B<UNIX_DIAG_SHUTDOWN>" + +#. 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 "" +"Полезные данные, связанные с этим атрибутом, имеют тип __u8 и представляют " +"биты состояния из B<shutdown>(2)." + +#. 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 "I<udiag_cookie>" + +#. 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 "" +"Массив скрытых идентификаторов, которые можно использовать вместе с " +"I<udiag_ino> для указания определённого сокета. Игнорируется при запросе " +"списка сокетов, а также когда все его элементы равны -1." + +#. 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 "Ответ на запрос о доменных сокетах UNIX представляется в виде массива" + +#. 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 "" +"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" + +#. 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 "и следует за атрибутами netlink." + +#. 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 "I<udiag_family>" + +#. 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 "Данное поле имеет то же значение что в I<struct unix_diag_req>." + +#. 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 "I<udiag_type>" + +#. 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 "Может быть B<SOCK_PACKET>, B<SOCK_STREAM> или B<SOCK_SEQPACKET>." + +#. 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 "I<udiag_state>" + +#. 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 "Может быть B<TCP_LISTEN> или B<TCP_ESTABLISHED>." + +#. 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 "Это поле равно 0." + +#. 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 "Сокеты IPv4 и IPv6" + +#. 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 "Запрос сокетов IPv4 и IPv6 описывается в следующей структуре:" + +#. 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 "" +"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" + +#. 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 "где I<struct inet_diag_sockid> определена как:" + +#. 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 "" +"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" + +#. 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 "Поля I<struct inet_diag_req_v2>:" + +#. 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 "" +"Должно быть равно B<AF_INET> или B<AF_INET6> для сокетов IPv4 или IPv6, " +"соответственно." + +#. 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 "" +"Должно быть равно B<IPPROTO_TCP>, B<IPPROTO_UDP> или B<IPPROTO_UDPLITE>." + +#. 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 "I<idiag_ext>" + +#. 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 "" +"Набор флагов, определяющий тип возвращаемой расширенной информации. Каждый " +"запрашиваемый тип информации возвращается в виде атрибута netlink, " +"описанного ниже:" + +#. 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 "B<INET_DIAG_TOS>" + +#. 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 "" +"Полезные данные, связанные с этим атрибутом, имеют тип __u8 и представляют " +"TOS сокета." + +#. 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 "B<INET_DIAG_TCLASS>" + +#. 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 "" +"Полезные данные, связанные с этим атрибутом, имеют тип __u8 и представляют " +"TClass сокета. Только для сокетов IPv6. Для сокетов LISTEN и CLOSE эти " +"данные следуют за атрибутом B<INET_DIAG_SKV6ONLY> с значением полезных " +"данных (тип __u8), описывающим является ли сокет только IPv6 или нет." + +#. 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 "B<INET_DIAG_MEMINFO>" + +#. 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 "" +"struct inet_diag_meminfo {\n" +" __u32 idiag_rmem;\n" +" __u32 idiag_wmem;\n" +" __u32 idiag_fmem;\n" +" __u32 idiag_tmem;\n" +"};\n" + +#. 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 "I<idiag_rmem>" + +#. 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 "I<idiag_wmem>" + +#. 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 "Количество данных, помещённых в очередь TCP и ещё не отправленных." + +#. 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 "I<idiag_fmem>" + +#. 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 "" +"Объём памяти, запланированной для использования в будущем (только TCP)." + +#. 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 "I<idiag_tmem>" + +#. 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 "B<INET_DIAG_SKMEMINFO>" + +#. 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 "" +"Полезные данные, связанные с этим атрибутом представляют собой массив " +"значений с типом __u32,описанный далее в подразделе «Информация о памяти " +"сокетов»." + +#. 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 "B<INET_DIAG_INFO>" + +#. 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 "" +"Полезные данные, связанные с этим атрибутом, относятся к определённому " +"семейству адресов. Для сокетов TCP объект имеет тип I<struct tcp_info>." + +#. 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 "B<INET_DIAG_CONG>" + +#. 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 "" +"Полезные данные, связанные с этим атрибутом, представляют собой строку, " +"описывающую используемый алгоритм контроля перегрузки. Только для сокетов " +"TCP." + +#. 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 "Должно равняться 0." + +#. 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 "I<idiag_states>" + +#. 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 "I<id>" + +#. 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 "" +"Идентификатор объекта сокета, использующийся при запросах дампа, в опросах " +"отдельных сокетов и возвращается в каждом ответе. В отличие от доменных " +"сокетов UNIX, сокеты IPv4 и IPv6 опознаются по адресам и портам. Все " +"значения указываются в сетевом порядке байт." + +#. 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 "Поля I<struct inet_diag_sockid>:" + +#. 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 "I<idiag_sport>" + +#. 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 "I<idiag_dport>" + +#. 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 "I<idiag_src>" + +#. 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 "I<idiag_dst>" + +#. 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 "I<idiag_if>" + +#. 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 "I<idiag_cookie>" + +#. 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 "" +"Массив скрытых идентификаторов, которые можно использовать вместе с другими " +"полями этой структуры для указания определённого сокета. Игнорируется при " +"запросе списка сокетов, а также когда все его элементы равны -1." + +#. 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 "Ответ на запрос о сокетах IPv4 или IPv6 представляется в виде массива" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, fuzzy, 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" +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 "" +"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" + +#. 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 "I<idiag_family>" + +#. 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 "Это тоже поле что и в I<struct inet_diag_req_v2>." + +#. 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 "I<idiag_state>" + +#. 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 "Обозначает состояние сокета как в I<struct inet_diag_req_v2>." + +#. 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 "I<idiag_timer>" + +#. 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 "" +"Для сокетов TCP это поле описывает тип активного в данный момент таймера " +"сокета. Задаётся одной из следующих констант:" + +#. 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 "таймер TIME_WAIT" + +#. 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 "Для сокетов не TCP, значение этого поля равно 0." + +#. 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 "I<idiag_retrans>" + +#. 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 "" +"Если I<idiag_timer> содержит 1, 2 и 4, то это поле содержит количество " +"повторных передач. При других значениях I<idiag_timer> это поле равно 0." + +#. 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 "I<idiag_expires>" + +#. 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 "" +"Для сокетов TCP, имеющих активный таймер, это поле описывает его время " +"окончания в миллисекундах. Для других сокетов значение этого поля равно 0." + +#. 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 "I<idiag_rqueue>" + +#. 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 "I<idiag_wqueue>" + +#. 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 "Для слушающих сокетов: длина недодела (backlog)." + +#. 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 "I<idiag_uid>" + +#. 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 "I<idiag_inode>" + +#. 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 "" +"Полезные данные, связанные с атрибутами netlink B<UNIX_DIAG_MEMINFO> и " +"B<INET_DIAG_SKMEMINFO>, представляют собой массив следующих значений с типом " +"__u32:" + +#. 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 "B<SK_MEMINFO_RMEM_ALLOC>" + +#. 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 "B<SK_MEMINFO_RCVBUF>" + +#. 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 "Приёмный буфер сокета, заданный B<SO_RCVBUF>." + +#. 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 "B<SK_MEMINFO_WMEM_ALLOC>" + +#. 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 "B<SK_MEMINFO_SNDBUF>" + +#. 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 "Буфер отправки сокета, заданный B<SO_SNDBUF>." + +#. 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 "B<SK_MEMINFO_FWD_ALLOC>" + +#. 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 "B<SK_MEMINFO_WMEM_QUEUED>" + +#. 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 "Количество данных, помещённых в очередь TCP, но ещё не отправленных." + +#. 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 "B<SK_MEMINFO_OPTMEM>" + +#. 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 "B<SK_MEMINFO_BACKLOG>" + +#. 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 "ВЕРСИИ" + +#. 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 "" +"Программный интерфейс B<NETLINK_INET_DIAG> появился в Linux 2.6.14 и " +"поддерживал только сокеты B<AF_INET> и B<AF_INET6>. В Linux 3.3 он был " +"переименован в B<NETLINK_SOCK_DIAG> и появилась поддержка сокетов B<AF_UNIX>." + +#. 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 "" +"Программный интерфейс B<UNIX_DIAG_MEMINFO> и B<INET_DIAG_SKMEMINFO> появился " +"в Linux 3.6." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "STANDARDS" +msgstr "СТАНДАРТЫ" + +#. 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 "ПРИМЕРЫ" + +#. 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 "" +"Следующий пример программы печатает номер иноды, номер иноды противоположной " +"стороны и имена всех доменных сокетов UNIX в текущем пространстве имён." + +#. 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 "СМ. ТАКЖЕ" + +#. 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 "B<netlink>(3), B<rtnetlink>(3), B<netlink>(7), B<tcp>(7)" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2023-02-05" +msgstr "5 февраля 2023 г." + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "Linux man-pages 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 "" +"struct inet_diag_msg {\n" +" __u8 idiag_family;\n" +" __u8 idiag_state;\n" +" __u8 idiag_timer;\n" +" __u8 idiag_retrans;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " struct inet_diag_sockid id;\n" +msgstr " struct inet_diag_sockid id;\n" + +#. 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 "" +" __u32 idiag_expires;\n" +" __u32 idiag_rqueue;\n" +" __u32 idiag_wqueue;\n" +" __u32 idiag_uid;\n" +" __u32 idiag_inode;\n" +"};\n" + +#. type: Plain text +#: debian-bookworm +msgid "The NETLINK_SOCK_DIAG API is Linux-specific." +msgstr "Программный интерфейс NETLINK_SOCK_DIAG есть только в Linux." + +#. 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 "" +"#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" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, 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 = (void *) &nladdr,\n" +#| " .msg_namelen = sizeof(nladdr),\n" +#| " .msg_iov = &iov,\n" +#| " .msg_iovlen = 1\n" +#| " };\n" +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 "" +"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 = (void *) &nladdr,\n" +" .msg_namelen = sizeof(nladdr),\n" +" .msg_iov = &iov,\n" +" .msg_iovlen = 1\n" +" };\n" + +#. 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 "" +" for (;;) {\n" +" if (sendmsg(fd, &msg, 0) E<lt> 0) {\n" +" if (errno == EINTR)\n" +" continue;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" perror(\"sendmsg\");\n" +" return -1;\n" +" }\n" +msgstr "" +" perror(\"sendmsg\");\n" +" return -1;\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" return 0;\n" +" }\n" +"}\n" +msgstr "" +" return 0;\n" +" }\n" +"}\n" + +#. 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 "" +"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(\"короткий ответ\\en\", stderr);\n" +" return -1;\n" +" }\n" +" if (diag-E<gt>udiag_family != AF_UNIX) {\n" +" fprintf(stderr, \"неожиданное семейство %u\\en\", diag-E<gt>udiag_family);\n" +" return -1;\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " struct rtattr *attr;\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" +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 "" +" struct rtattr *attr;\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" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " for (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] = '\\e0';\n" +#| " }\n" +#| " break;\n" +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 "" +" for (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] = '\\e0';\n" +" }\n" +" break;\n" + +#. 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 "" +" 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" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " printf(\"inode=%u\", diag-E<gt>udiag_ino);\n" +msgstr " printf(\"инода=%u\", diag-E<gt>udiag_ino);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (peer)\n" +" printf(\", peer=%u\", peer);\n" +msgstr "" +" if (peer)\n" +" printf(\", другая сторона=%u\", peer);\n" + +#. 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 "" +" if (path_len)\n" +" printf(\", имя=%s%s\", *path ? \"\" : \"@\",\n" +" *path ? path : path + 1);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " putchar('\\en');\n" +#| " return 0;\n" +#| "}\n" +msgid "" +" putchar(\\[aq]\\en\\[aq]);\n" +" return 0;\n" +"}\n" +msgstr "" +" putchar('\\en');\n" +" return 0;\n" +"}\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| "static int\n" +#| "receive_responses(int fd)\n" +#| "{\n" +#| " long buf[8192 / sizeof(long)];\n" +#| " struct sockaddr_nl nladdr = {\n" +#| " .nl_family = AF_NETLINK\n" +#| " };\n" +#| " struct iovec iov = {\n" +#| " .iov_base = buf,\n" +#| " .iov_len = sizeof(buf)\n" +#| " };\n" +#| " int flags = 0;\n" +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 "" +"static int\n" +"receive_responses(int fd)\n" +"{\n" +" long buf[8192 / sizeof(long)];\n" +" struct sockaddr_nl nladdr = {\n" +" .nl_family = AF_NETLINK\n" +" };\n" +" struct iovec iov = {\n" +" .iov_base = buf,\n" +" .iov_len = sizeof(buf)\n" +" };\n" +" int flags = 0;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " for (;;) {\n" +#| " struct msghdr msg = {\n" +#| " .msg_name = (void *) &nladdr,\n" +#| " .msg_namelen = sizeof(nladdr),\n" +#| " .msg_iov = &iov,\n" +#| " .msg_iovlen = 1\n" +#| " };\n" +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 "" +" for (;;) {\n" +" struct msghdr msg = {\n" +" .msg_name = (void *) &nladdr,\n" +" .msg_namelen = sizeof(nladdr),\n" +" .msg_iov = &iov,\n" +" .msg_iovlen = 1\n" +" };\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " ssize_t ret = recvmsg(fd, &msg, flags);\n" +msgstr " ssize_t ret = recvmsg(fd, &msg, flags);\n" + +#. 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 "" +" if (ret E<lt> 0) {\n" +" if (errno == EINTR)\n" +" continue;\n" + +#. 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 "" +" perror(\"recvmsg\");\n" +" return -1;\n" +" }\n" +" if (ret == 0)\n" +" return 0;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " if (!NLMSG_OK(h, ret)) {\n" +#| " fputs(\"!NLMSG_OK\\en\", stderr);\n" +#| " return -1;\n" +#| " }\n" +msgid "" +" if (nladdr.nl_family != AF_NETLINK) {\n" +" fputs(\"!AF_NETLINK\\en\", stderr);\n" +" return -1;\n" +" }\n" +msgstr "" +" if (!NLMSG_OK(h, ret)) {\n" +" fputs(\"!NLMSG_OK\\en\", stderr);\n" +" return -1;\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " const struct nlmsghdr *h = (struct nlmsghdr *) buf;\n" +msgstr " const struct nlmsghdr *h = (struct nlmsghdr *) buf;\n" + +#. 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 "" +" if (!NLMSG_OK(h, ret)) {\n" +" fputs(\"!NLMSG_OK\\en\", stderr);\n" +" return -1;\n" +" }\n" + +#. 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 "" +" for (; NLMSG_OK(h, ret); h = NLMSG_NEXT(h, ret)) {\n" +" if (h-E<gt>nlmsg_type == NLMSG_DONE)\n" +" return 0;\n" + +#. 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 "" +" if (h-E<gt>nlmsg_type == NLMSG_ERROR) {\n" +" const struct nlmsgerr *err = NLMSG_DATA(h);\n" + +#. 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 "" +" 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" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" return -1;\n" +" }\n" +msgstr "" +" return -1;\n" +" }\n" + +#. 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 "" +" if (h-E<gt>nlmsg_type != SOCK_DIAG_BY_FAMILY) {\n" +" fprintf(stderr, \"неожиданный nlmsg_type %u\\en\",\n" +" (unsigned) h-E<gt>nlmsg_type);\n" +" return -1;\n" +" }\n" + +#. 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 "" +" if (print_diag(NLMSG_DATA(h), h-E<gt>nlmsg_len))\n" +" return -1;\n" +" }\n" +" }\n" +"}\n" + +#. 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 "" +"int\n" +"main(void)\n" +"{\n" +" int fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG);\n" + +#. 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 "" +" if (fd E<lt> 0) {\n" +" perror(\"socket\");\n" +" return 1;\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " int ret = send_query(fd) || receive_responses(fd);\n" +msgstr " int ret = send_query(fd) || receive_responses(fd);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" close(fd);\n" +" return ret;\n" +"}\n" +msgstr "" +" close(fd);\n" +" return ret;\n" +"}\n" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-05-03" +msgstr "3 мая 2023 г." + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "Linux man-pages 6.05.01" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "30 марта 2023 г." + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "Linux man-pages 6.04" |