summaryrefslogtreecommitdiffstats
path: root/templates/man7/netlink.7.pot
diff options
context:
space:
mode:
Diffstat (limited to 'templates/man7/netlink.7.pot')
-rw-r--r--templates/man7/netlink.7.pot1292
1 files changed, 1292 insertions, 0 deletions
diff --git a/templates/man7/netlink.7.pot b/templates/man7/netlink.7.pot
new file mode 100644
index 00000000..0ccf72df
--- /dev/null
+++ b/templates/man7/netlink.7.pot
@@ -0,0 +1,1292 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2024-03-01 17:02+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "netlink"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-10-31"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "Linux man-pages 6.06"
+msgstr ""
+
+#. 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 "netlink - communication between kernel and user space (AF_NETLINK)"
+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 ""
+
+#. 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>asm/types.hE<gt>>\n"
+"B<#include E<lt>sys/socket.hE<gt>>\n"
+"B<#include E<lt>linux/netlink.hE<gt>>\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<netlink_socket = socket(AF_NETLINK, >I<socket_type>B<, >I<netlink_family>B<);>\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 ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Netlink is used to transfer information between the kernel and user-space "
+"processes. It consists of a standard sockets-based interface for user space "
+"processes and an internal kernel API for kernel modules. The internal "
+"kernel interface is not documented in this manual page. There is also an "
+"obsolete netlink interface via netlink character devices; this interface is "
+"not documented here and is provided only for backward compatibility."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Netlink is a datagram-oriented service. Both B<SOCK_RAW> and B<SOCK_DGRAM> "
+"are valid values for I<socket_type>. However, the netlink protocol does not "
+"distinguish between datagram and raw sockets."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"I<netlink_family> selects the kernel module or netlink group to communicate "
+"with. The currently assigned netlink families are:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_ROUTE>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Receives routing and link updates and may be used to modify the routing "
+"tables (both IPv4 and IPv6), IP addresses, link parameters, neighbor setups, "
+"queueing disciplines, traffic classes, and packet classifiers (see "
+"B<rtnetlink>(7))."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_W1> (Linux 2.6.13 to Linux 2.16.17)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Messages from 1-wire subsystem."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_USERSOCK>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Reserved for user-mode socket protocols."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_FIREWALL> (up to and including Linux 3.4)"
+msgstr ""
+
+#. removed by commit d16cf20e2f2f13411eece7f7fb72c17d141c4a84
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Transport IPv4 packets from netfilter to user space. Used by I<ip_queue> "
+"kernel module. After a long period of being declared obsolete (in favor of "
+"the more advanced I<nfnetlink_queue> feature), B<NETLINK_FIREWALL> was "
+"removed in Linux 3.5."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_SOCK_DIAG> (since Linux 3.3)"
+msgstr ""
+
+#. commit 7f1fb60c4fc9fb29fbb406ac8c4cfb4e59e168d6
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Query information about sockets of various protocol families from the kernel "
+"(see B<sock_diag>(7))."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_INET_DIAG> (since Linux 2.6.14)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "An obsolete synonym for B<NETLINK_SOCK_DIAG>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_NFLOG> (up to and including Linux 3.16)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Netfilter/iptables ULOG."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_XFRM>"
+msgstr ""
+
+#. FIXME More details on NETLINK_XFRM needed.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "IPsec."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_SELINUX> (since Linux 2.6.4)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "SELinux event notifications."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_ISCSI> (since Linux 2.6.15)"
+msgstr ""
+
+#. FIXME More details on NETLINK_ISCSI needed.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Open-iSCSI."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_AUDIT> (since Linux 2.6.6)"
+msgstr ""
+
+#. FIXME More details on NETLINK_AUDIT needed.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Auditing."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_FIB_LOOKUP> (since Linux 2.6.13)"
+msgstr ""
+
+#. FIXME More details on NETLINK_FIB_LOOKUP needed.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Access to FIB lookup from user space."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_CONNECTOR> (since Linux 2.6.14)"
+msgstr ""
+
+#. commit baa293e9544bea71361950d071579f0e4d5713ed
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Kernel connector. See I<Documentation/driver-api/connector.rst> (or I</"
+"Documentation/connector/connector.*> in Linux 5.2 and earlier) in the Linux "
+"kernel source tree for further 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<NETLINK_NETFILTER> (since Linux 2.6.14)"
+msgstr ""
+
+#. FIXME More details on NETLINK_NETFILTER needed.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Netfilter subsystem."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_SCSITRANSPORT> (since Linux 2.6.19)"
+msgstr ""
+
+#. commit 84314fd4740ad73550c76dee4a9578979d84af48
+#. FIXME More details on NETLINK_SCSITRANSPORT needed.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "SCSI Transports."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_RDMA> (since Linux 3.0)"
+msgstr ""
+
+#. commit b2cbae2c248776d81cc265ff7d48405b6a4cc463
+#. FIXME More details on NETLINK_RDMA needed.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Infiniband RDMA."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_IP6_FW> (up to and including Linux 3.4)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Transport IPv6 packets from netfilter to user space. Used by I<ip6_queue> "
+"kernel module."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_DNRTMSG>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "DECnet routing messages."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_KOBJECT_UEVENT> (since Linux 2.6.10)"
+msgstr ""
+
+#. FIXME More details on NETLINK_KOBJECT_UEVENT needed.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Kernel messages to user space."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_GENERIC> (since Linux 2.6.15)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Generic netlink family for simplified netlink usage."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_CRYPTO> (since Linux 3.2)"
+msgstr ""
+
+#. commit a38f7907b926e4c6c7d389ad96cc38cec2e5a9e9
+#. Author: Steffen Klassert <steffen.klassert@secunet.com>
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Netlink interface to request information about ciphers registered with the "
+"kernel crypto API as well as allow configuration of the kernel crypto API."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Netlink messages consist of a byte stream with one or multiple I<nlmsghdr> "
+"headers and associated payload. The byte stream should be accessed only "
+"with the standard B<NLMSG_*> macros. See B<netlink>(3) for further "
+"information."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"In multipart messages (multiple I<nlmsghdr> headers with associated payload "
+"in one byte stream) the first and all following headers have the "
+"B<NLM_F_MULTI> flag set, except for the last header which has the type "
+"B<NLMSG_DONE>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "After each I<nlmsghdr> the payload 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 nlmsghdr {\n"
+" __u32 nlmsg_len; /* Length of message including header */\n"
+" __u16 nlmsg_type; /* Type of message content */\n"
+" __u16 nlmsg_flags; /* Additional flags */\n"
+" __u32 nlmsg_seq; /* Sequence number */\n"
+" __u32 nlmsg_pid; /* Sender port 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 ""
+"I<nlmsg_type> can be one of the standard message types: B<NLMSG_NOOP> "
+"message is to be ignored, B<NLMSG_ERROR> message signals an error and the "
+"payload contains an I<nlmsgerr> structure, B<NLMSG_DONE> message terminates "
+"a multipart message. Error messages get the original request appended, "
+"unless the user requests to cap the error message, and get extra error data "
+"if requested."
+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 nlmsgerr {\n"
+" int error; /* Negative errno or 0 for acknowledgements */\n"
+" struct nlmsghdr msg; /* Message header that caused the error */\n"
+" /*\n"
+" * followed by the message contents\n"
+" * unless NETLINK_CAP_ACK was set\n"
+" * or the ACK indicates success (error == 0).\n"
+" * For example Generic Netlink message with attributes.\n"
+" * message length is aligned with NLMSG_ALIGN()\n"
+" */\n"
+" /*\n"
+" * followed by TLVs defined in enum nlmsgerr_attrs\n"
+" * if NETLINK_EXT_ACK was set\n"
+" */\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"A netlink family usually specifies more message types, see the appropriate "
+"manual pages for that, for example, B<rtnetlink>(7) for B<NETLINK_ROUTE>."
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Standard flag bits in I<nlmsg_flags>"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "_"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NLM_F_REQUEST"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Must be set on all request messages."
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NLM_F_MULTI"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"The message is part of a multipart message terminated by\n"
+"B<NLMSG_DONE>."
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NLM_F_ACK"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Request for an acknowledgement on success."
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NLM_F_ECHO"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Echo this request."
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Additional flag bits for GET requests"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NLM_F_ROOT"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Return the complete table instead of a single entry."
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NLM_F_MATCH"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"Return all entries matching criteria passed in message content.\n"
+"Not implemented yet."
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NLM_F_ATOMIC"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Return an atomic snapshot of the table."
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NLM_F_DUMP"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"Convenience macro; equivalent to\n"
+"(NLM_F_ROOT|NLM_F_MATCH)."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Note that B<NLM_F_ATOMIC> requires the B<CAP_NET_ADMIN> capability or an "
+"effective UID of 0."
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Additional flag bits for NEW requests"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NLM_F_REPLACE"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Replace existing matching object."
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NLM_F_EXCL"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Don't replace if the object already exists."
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NLM_F_CREATE"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Create object if it doesn't already exist."
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NLM_F_APPEND"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Add to the end of the object list."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"I<nlmsg_seq> and I<nlmsg_pid> are used to track messages. I<nlmsg_pid> "
+"shows the origin of the message. Note that there isn't a 1:1 relationship "
+"between I<nlmsg_pid> and the PID of the process if the message originated "
+"from a netlink socket. See the B<ADDRESS FORMATS> section for further "
+"information."
+msgstr ""
+
+#. FIXME Explain more about nlmsg_seq and nlmsg_pid.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Both I<nlmsg_seq> and I<nlmsg_pid> are opaque to netlink core."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Netlink is not a reliable protocol. It tries its best to deliver a message "
+"to its destination(s), but may drop messages when an out-of-memory condition "
+"or other error occurs. For reliable transfer the sender can request an "
+"acknowledgement from the receiver by setting the B<NLM_F_ACK> flag. An "
+"acknowledgement is an B<NLMSG_ERROR> packet with the error field set to 0. "
+"The application must generate acknowledgements for received messages "
+"itself. The kernel tries to send an B<NLMSG_ERROR> message for every failed "
+"packet. A user process should follow this convention too."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"However, reliable transmissions from kernel to user are impossible in any "
+"case. The kernel can't send a netlink message if the socket buffer is full: "
+"the message will be dropped and the kernel and the user-space process will "
+"no longer have the same view of kernel state. It is up to the application "
+"to detect when this happens (via the B<ENOBUFS> error returned by "
+"B<recvmsg>(2)) and resynchronize."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Address formats"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<sockaddr_nl> structure describes a netlink client in user space or in "
+"the kernel. A I<sockaddr_nl> can be either unicast (only sent to one peer) "
+"or sent to netlink multicast groups (I<nl_groups> not equal 0)."
+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 sockaddr_nl {\n"
+" sa_family_t nl_family; /* AF_NETLINK */\n"
+" unsigned short nl_pad; /* Zero */\n"
+" pid_t nl_pid; /* Port ID */\n"
+" __u32 nl_groups; /* Multicast groups mask */\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"I<nl_pid> is the unicast address of netlink socket. It's always 0 if the "
+"destination is in the kernel. For a user-space process, I<nl_pid> is "
+"usually the PID of the process owning the destination socket. However, "
+"I<nl_pid> identifies a netlink socket, not a process. If a process owns "
+"several netlink sockets, then I<nl_pid> can be equal to the process ID only "
+"for at most one socket. There are two ways to assign I<nl_pid> to a netlink "
+"socket. If the application sets I<nl_pid> before calling B<bind>(2), then "
+"it is up to the application to make sure that I<nl_pid> is unique. If the "
+"application sets it to 0, the kernel takes care of assigning it. The kernel "
+"assigns the process ID to the first netlink socket the process opens and "
+"assigns a unique I<nl_pid> to every netlink socket that the process "
+"subsequently creates."
+msgstr ""
+
+#. commit d629b836d151d43332492651dd841d32e57ebe3b
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"I<nl_groups> is a bit mask with every bit representing a netlink group "
+"number. Each netlink family has a set of 32 multicast groups. When "
+"B<bind>(2) is called on the socket, the I<nl_groups> field in the "
+"I<sockaddr_nl> should be set to a bit mask of the groups which it wishes to "
+"listen to. The default value for this field is zero which means that no "
+"multicasts will be received. A socket may multicast messages to any of the "
+"multicast groups by setting I<nl_groups> to a bit mask of the groups it "
+"wishes to send to when it calls B<sendmsg>(2) or does a B<connect>(2). "
+"Only processes with an effective UID of 0 or the B<CAP_NET_ADMIN> capability "
+"may send or listen to a netlink multicast group. Since Linux 2.6.13, "
+"messages can't be broadcast to multiple groups. Any replies to a message "
+"received for a multicast group should be sent back to the sending PID and "
+"the multicast group. Some Linux kernel subsystems may additionally allow "
+"other users to send and/or receive messages. As at Linux 3.0, the "
+"B<NETLINK_KOBJECT_UEVENT>, B<NETLINK_GENERIC>, B<NETLINK_ROUTE>, and "
+"B<NETLINK_SELINUX> groups allow other users to receive messages. No groups "
+"allow other users to send messages."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Socket options"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"To set or get a netlink socket option, call B<getsockopt>(2) to read or "
+"B<setsockopt>(2) to write the option with the option level argument set to "
+"B<SOL_NETLINK>. Unless otherwise noted, I<optval> is a pointer to an I<int>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_PKTINFO> (since Linux 2.6.14)"
+msgstr ""
+
+#. commit 9a4595bc7e67962f13232ee55a64e063062c3a99
+#. Author: Patrick McHardy <kaber@trash.net>
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Enable B<nl_pktinfo> control messages for received packets to get the "
+"extended destination group number."
+msgstr ""
+
+#. type: TP
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "B<NETLINK_ADD_MEMBERSHIP>"
+msgstr ""
+
+#. type: TQ
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "B<NETLINK_DROP_MEMBERSHIP> (since Linux 2.6.14)"
+msgstr ""
+
+#. commit 9a4595bc7e67962f13232ee55a64e063062c3a99
+#. Author: Patrick McHardy <kaber@trash.net>
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Join/leave a group specified by I<optval>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_LIST_MEMBERSHIPS> (since Linux 4.2)"
+msgstr ""
+
+#. commit b42be38b2778eda2237fc759e55e3b698b05b315
+#. Author: David Herrmann <dh.herrmann@gmail.com>
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Retrieve all groups a socket is a member of. I<optval> is a pointer to "
+"B<__u32> and I<optlen> is the size of the array. The array is filled with "
+"the full membership set of the socket, and the required array size is "
+"returned in I<optlen>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_BROADCAST_ERROR> (since Linux 2.6.30)"
+msgstr ""
+
+#. commit be0c22a46cfb79ab2342bb28fde99afa94ef868e
+#. Author: Pablo Neira Ayuso <pablo@netfilter.org>
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"When not set, B<netlink_broadcast()> only reports B<ESRCH> errors and "
+"silently ignore B<ENOBUFS> errors."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_NO_ENOBUFS> (since Linux 2.6.30)"
+msgstr ""
+
+#. commit 38938bfe3489394e2eed5e40c9bb8f66a2ce1405
+#. Author: Pablo Neira Ayuso <pablo@netfilter.org>
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This flag can be used by unicast and broadcast listeners to avoid receiving "
+"B<ENOBUFS> errors."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_LISTEN_ALL_NSID> (since Linux 4.2)"
+msgstr ""
+
+#. commit 59324cf35aba5336b611074028777838a963d03b
+#. Author: Nicolas Dichtel <nicolas.dichtel@6wind.com>
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"When set, this socket will receive netlink notifications from all network "
+"namespaces that have an I<nsid> assigned into the network namespace where "
+"the socket has been opened. The I<nsid> is sent to user space via an "
+"ancillary data."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_CAP_ACK> (since Linux 4.3)"
+msgstr ""
+
+#. commit 0a6a3a23ea6efde079a5b77688541a98bf202721
+#. Author: Christophe Ricard <christophe.ricard@gmail.com>
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The kernel may fail to allocate the necessary room for the acknowledgement "
+"message back to user space. This option trims off the payload of the "
+"original netlink message. The netlink message header is still included, so "
+"the user can guess from the sequence number which message triggered the "
+"acknowledgement."
+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 "The socket interface to netlink first appeared Linux 2.2."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Linux 2.0 supported a more primitive device-based netlink interface (which "
+"is still available as a compatibility option). This obsolete interface is "
+"not described here."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NOTES"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"It is often better to use netlink via I<libnetlink> or I<libnl> than via the "
+"low-level kernel interface."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "BUGS"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "This manual page is not complete."
+msgstr ""
+
+#. 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 creates a B<NETLINK_ROUTE> netlink socket which will "
+"listen to the B<RTMGRP_LINK> (network interface create/delete/up/down "
+"events) and B<RTMGRP_IPV4_IFADDR> (IPv4 addresses add/delete events) "
+"multicast groups."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct sockaddr_nl sa;\n"
+"\\&\n"
+"memset(&sa, 0, sizeof(sa));\n"
+"sa.nl_family = AF_NETLINK;\n"
+"sa.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR;\n"
+"\\&\n"
+"fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);\n"
+"bind(fd, (struct sockaddr *) &sa, sizeof(sa));\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The next example demonstrates how to send a netlink message to the kernel "
+"(pid 0). Note that the application must take care of message sequence "
+"numbers in order to reliably track acknowledgements."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct nlmsghdr *nh; /* The nlmsghdr with payload to send */\n"
+"struct sockaddr_nl sa;\n"
+"struct iovec iov = { nh, nh-E<gt>nlmsg_len };\n"
+"struct msghdr msg;\n"
+"\\&\n"
+"msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n"
+"memset(&sa, 0, sizeof(sa));\n"
+"sa.nl_family = AF_NETLINK;\n"
+"nh-E<gt>nlmsg_pid = 0;\n"
+"nh-E<gt>nlmsg_seq = ++sequence_number;\n"
+"/* Request an ack from kernel by setting NLM_F_ACK */\n"
+"nh-E<gt>nlmsg_flags |= NLM_F_ACK;\n"
+"\\&\n"
+"sendmsg(fd, &msg, 0);\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "And the last example is about reading netlink message."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"int len;\n"
+"/* 8192 to avoid message truncation on platforms with\n"
+" page size E<gt> 4096 */\n"
+"struct nlmsghdr buf[8192/sizeof(struct nlmsghdr)];\n"
+"struct iovec iov = { buf, sizeof(buf) };\n"
+"struct sockaddr_nl sa;\n"
+"struct msghdr msg;\n"
+"struct nlmsghdr *nh;\n"
+"\\&\n"
+"msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n"
+"len = recvmsg(fd, &msg, 0);\n"
+"\\&\n"
+"for (nh = (struct nlmsghdr *) buf; NLMSG_OK (nh, len);\n"
+" nh = NLMSG_NEXT (nh, len)) {\n"
+" /* The end of multipart message */\n"
+" if (nh-E<gt>nlmsg_type == NLMSG_DONE)\n"
+" return;\n"
+"\\&\n"
+" if (nh-E<gt>nlmsg_type == NLMSG_ERROR)\n"
+" /* Do some error handling */\n"
+" ...\n"
+"\\&\n"
+" /* Continue with parsing payload */\n"
+" ...\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<cmsg>(3), B<netlink>(3), B<capabilities>(7), B<rtnetlink>(7), "
+"B<sock_diag>(7)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"E<.UR ftp://ftp.inr.ac.ru\\:/ip-routing\\:/iproute2*> information about "
+"libnetlink E<.UE>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"E<.UR http://www.infradead.org\\:/\\[ti]tgr\\:/libnl/> information about "
+"libnl E<.UE>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "RFC 3549 \"Linux Netlink as an IP Services Protocol\""
+msgstr ""
+
+#. type: TH
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "2023-02-05"
+msgstr ""
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "Linux man-pages 6.03"
+msgstr ""
+
+#. type: TP
+#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<NETLINK_ADD_MEMBERSHIP>,\\ B<NETLINK_DROP_MEMBERSHIP> (since Linux 2.6.14)"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "struct sockaddr_nl sa;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"memset(&sa, 0, sizeof(sa));\n"
+"sa.nl_family = AF_NETLINK;\n"
+"sa.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);\n"
+"bind(fd, (struct sockaddr *) &sa, sizeof(sa));\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"struct nlmsghdr *nh; /* The nlmsghdr with payload to send */\n"
+"struct sockaddr_nl sa;\n"
+"struct iovec iov = { nh, nh-E<gt>nlmsg_len };\n"
+"struct msghdr msg;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n"
+"memset(&sa, 0, sizeof(sa));\n"
+"sa.nl_family = AF_NETLINK;\n"
+"nh-E<gt>nlmsg_pid = 0;\n"
+"nh-E<gt>nlmsg_seq = ++sequence_number;\n"
+"/* Request an ack from kernel by setting NLM_F_ACK */\n"
+"nh-E<gt>nlmsg_flags |= NLM_F_ACK;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "sendmsg(fd, &msg, 0);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"int len;\n"
+"/* 8192 to avoid message truncation on platforms with\n"
+" page size E<gt> 4096 */\n"
+"struct nlmsghdr buf[8192/sizeof(struct nlmsghdr)];\n"
+"struct iovec iov = { buf, sizeof(buf) };\n"
+"struct sockaddr_nl sa;\n"
+"struct msghdr msg;\n"
+"struct nlmsghdr *nh;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n"
+"len = recvmsg(fd, &msg, 0);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"for (nh = (struct nlmsghdr *) buf; NLMSG_OK (nh, len);\n"
+" nh = NLMSG_NEXT (nh, len)) {\n"
+" /* The end of multipart message */\n"
+" if (nh-E<gt>nlmsg_type == NLMSG_DONE)\n"
+" return;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (nh-E<gt>nlmsg_type == NLMSG_ERROR)\n"
+" /* Do some error handling */\n"
+" ...\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* Continue with parsing payload */\n"
+" ...\n"
+"}\n"
+msgstr ""
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2023-07-30"
+msgstr ""
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "Linux man-pages 6.05.01"
+msgstr ""
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "Linux man-pages 6.04"
+msgstr ""