diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /templates/man3/cmsg.3.pot | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'templates/man3/cmsg.3.pot')
-rw-r--r-- | templates/man3/cmsg.3.pot | 632 |
1 files changed, 632 insertions, 0 deletions
diff --git a/templates/man3/cmsg.3.pot b/templates/man3/cmsg.3.pot new file mode 100644 index 00000000..ceaad0da --- /dev/null +++ b/templates/man3/cmsg.3.pot @@ -0,0 +1,632 @@ +# 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 16:54+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 "CMSG" +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 "" +"CMSG_ALIGN, CMSG_SPACE, CMSG_NXTHDR, CMSG_FIRSTHDR - access ancillary data" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "LIBRARY" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Standard C library (I<libc>, I<-lc>)" +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>sys/socket.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<struct cmsghdr *CMSG_FIRSTHDR(struct msghdr *>I<msgh>B<);>\n" +"B<struct cmsghdr *CMSG_NXTHDR(struct msghdr *>I<msgh>B<,>\n" +"B< struct cmsghdr *>cmsgB<);>\n" +"B<size_t CMSG_ALIGN(size_t >I<length>B<);>\n" +"B<size_t CMSG_SPACE(size_t >I<length>B<);>\n" +"B<size_t CMSG_LEN(size_t >I<length>B<);>\n" +"B<unsigned char *CMSG_DATA(struct cmsghdr *>I<cmsg>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 "" +"These macros are used to create and access control messages (also called " +"ancillary data) that are not a part of the socket payload. This control " +"information may include the interface the packet was received on, various " +"rarely used header fields, an extended error description, a set of file " +"descriptors, or UNIX credentials. For instance, control messages can be " +"used to send additional header fields such as IP options. Ancillary data is " +"sent by calling B<sendmsg>(2) and received by calling B<recvmsg>(2). See " +"their manual pages for more information." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Ancillary data is a sequence of I<cmsghdr> structures with appended data. " +"See the specific protocol man pages for the available control message " +"types. The maximum ancillary buffer size allowed per socket can be set " +"using I</proc/sys/net/core/optmem_max>; see B<socket>(7)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The I<cmsghdr> structure is defined as follows:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"struct cmsghdr {\n" +" size_t cmsg_len; /* Data byte count, including header\n" +" (type is socklen_t in POSIX) */\n" +" int cmsg_level; /* Originating protocol */\n" +" int cmsg_type; /* Protocol-specific type */\n" +"/* followed by\n" +" unsigned char cmsg_data[]; */\n" +"};\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The sequence of I<cmsghdr> structures should never be accessed directly. " +"Instead, use only the following macros:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CMSG_FIRSTHDR>()" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"returns a pointer to the first I<cmsghdr> in the ancillary data buffer " +"associated with the passed I<msghdr>. It returns NULL if there isn't enough " +"space for a I<cmsghdr> in the buffer." +msgstr "" + +#. #-#-#-#-# archlinux: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# debian-bookworm: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TP +#. #-#-#-#-# debian-unstable: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# fedora-40: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# fedora-rawhide: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# mageia-cauldron: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# opensuse-leap-15-6: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# opensuse-tumbleweed: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CMSG_NXTHDR>()" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"returns the next valid I<cmsghdr> after the passed I<cmsghdr>. It returns " +"NULL when there isn't enough space left in the buffer." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When initializing a buffer that will contain a series of I<cmsghdr> " +"structures (e.g., to be sent with B<sendmsg>(2)), that buffer should first " +"be zero-initialized to ensure the correct operation of B<CMSG_NXTHDR>()." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CMSG_ALIGN>()," +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"given a length, returns it including the required alignment. This is a " +"constant expression." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CMSG_SPACE>()" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"returns the number of bytes an ancillary element with payload of the passed " +"data length occupies. This is a constant expression." +msgstr "" + +#. #-#-#-#-# archlinux: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# debian-bookworm: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TP +#. #-#-#-#-# debian-unstable: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# fedora-40: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# fedora-rawhide: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# mageia-cauldron: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# opensuse-leap-15-6: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# opensuse-tumbleweed: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CMSG_DATA>()" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"returns a pointer to the data portion of a I<cmsghdr>. The pointer returned " +"cannot be assumed to be suitably aligned for accessing arbitrary payload " +"data types. Applications should not cast it to a pointer type matching the " +"payload, but should instead use B<memcpy>(3) to copy data to or from a " +"suitably declared object." +msgstr "" + +#. #-#-#-#-# archlinux: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# debian-bookworm: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TP +#. #-#-#-#-# debian-unstable: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# fedora-40: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# fedora-rawhide: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# mageia-cauldron: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# opensuse-leap-15-6: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#. #-#-#-#-# opensuse-tumbleweed: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TQ +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CMSG_LEN>()" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"returns the value to store in the I<cmsg_len> member of the I<cmsghdr> " +"structure, taking into account any necessary alignment. It takes the data " +"length as an argument. This is a constant expression." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"To create ancillary data, first initialize the I<msg_controllen> member of " +"the I<msghdr> with the length of the control message buffer. Use " +"B<CMSG_FIRSTHDR>() on the I<msghdr> to get the first control message and " +"B<CMSG_NXTHDR>() to get all subsequent ones. In each control message, " +"initialize I<cmsg_len> (with B<CMSG_LEN>()), the other I<cmsghdr> header " +"fields, and the data portion using B<CMSG_DATA>(). Finally, the " +"I<msg_controllen> field of the I<msghdr> should be set to the sum of the " +"B<CMSG_SPACE>() of the length of all control messages in the buffer. For " +"more information on the I<msghdr>, see B<recvmsg>(2)." +msgstr "" + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "VERSIONS" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For portability, ancillary data should be accessed using only the macros " +"described here." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In Linux, B<CMSG_LEN>(), B<CMSG_DATA>(), and B<CMSG_ALIGN>() are constant " +"expressions (assuming their argument is constant), meaning that these values " +"can be used to declare the size of global variables. This may not be " +"portable, however." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "STANDARDS" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX.1-2008." +msgstr "" + +#. type: TQ +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CMSG_ALIGN>()" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "Linux." +msgstr "" + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "HISTORY" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This ancillary data model conforms to the POSIX.1g draft, 4.4BSD-Lite, the " +"IPv6 advanced API described in RFC\\ 2292 and SUSv2." +msgstr "" + +#. https://www.austingroupbugs.net/view.php?id=978#c3242 +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<CMSG_SPACE>() and B<CMSG_LEN>() will be included in the next POSIX " +"release (Issue 8)." +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 "" +"This code looks for the B<IP_TTL> option in a received ancillary buffer:" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"struct msghdr msgh;\n" +"struct cmsghdr *cmsg;\n" +"int received_ttl;\n" +"\\&\n" +"/* Receive auxiliary data in msgh */\n" +"\\&\n" +"for (cmsg = CMSG_FIRSTHDR(&msgh); cmsg != NULL;\n" +" cmsg = CMSG_NXTHDR(&msgh, cmsg)) {\n" +" if (cmsg-E<gt>cmsg_level == IPPROTO_IP\n" +" && cmsg-E<gt>cmsg_type == IP_TTL) {\n" +" memcpy(&receive_ttl, CMSG_DATA(cmsg), sizeof(received_ttl));\n" +" break;\n" +" }\n" +"}\n" +"\\&\n" +"if (cmsg == NULL) {\n" +" /* Error: IP_TTL not enabled or small buffer or I/O error */\n" +"}\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The code below passes an array of file descriptors over a UNIX domain socket " +"using B<SCM_RIGHTS>:" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"struct msghdr msg = { 0 };\n" +"struct cmsghdr *cmsg;\n" +"int myfds[NUM_FD]; /* Contains the file descriptors to pass */\n" +"char iobuf[1];\n" +"struct iovec io = {\n" +" .iov_base = iobuf,\n" +" .iov_len = sizeof(iobuf)\n" +"};\n" +"union { /* Ancillary data buffer, wrapped in a union\n" +" in order to ensure it is suitably aligned */\n" +" char buf[CMSG_SPACE(sizeof(myfds))];\n" +" struct cmsghdr align;\n" +"} u;\n" +"\\&\n" +"msg.msg_iov = &io;\n" +"msg.msg_iovlen = 1;\n" +"msg.msg_control = u.buf;\n" +"msg.msg_controllen = sizeof(u.buf);\n" +"cmsg = CMSG_FIRSTHDR(&msg);\n" +"cmsg-E<gt>cmsg_level = SOL_SOCKET;\n" +"cmsg-E<gt>cmsg_type = SCM_RIGHTS;\n" +"cmsg-E<gt>cmsg_len = CMSG_LEN(sizeof(myfds));\n" +"memcpy(CMSG_DATA(cmsg), myfds, sizeof(myfds));\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For a complete code example that shows passing of file descriptors over a " +"UNIX domain socket, see B<seccomp_unotify>(2)." +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<recvmsg>(2), B<sendmsg>(2)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "RFC\\ 2292" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2022-10-29" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "" + +#. https://www.austingroupbugs.net/view.php?id=978#c3242 +#. type: Plain text +#: debian-bookworm +msgid "" +"This ancillary data model conforms to the POSIX.1g draft, 4.4BSD-Lite, the " +"IPv6 advanced API described in RFC\\ 2292 and SUSv2. B<CMSG_FIRSTHDR>(), " +"B<CMSG_NXTHDR>(), and B<CMSG_DATA>() are specified in POSIX.1-2008. " +"B<CMSG_SPACE>() and B<CMSG_LEN>() will be included in the next POSIX " +"release (Issue 8)." +msgstr "" + +#. type: Plain text +#: debian-bookworm +msgid "B<CMSG_ALIGN>() is a Linux extension." +msgstr "" + +#. type: SH +#: debian-bookworm +#, no-wrap +msgid "NOTES" +msgstr "" + +#. type: Plain text +#: debian-bookworm +msgid "" +"For portability, ancillary data should be accessed using only the macros " +"described here. B<CMSG_ALIGN>() is a Linux extension and should not be " +"used in portable programs." +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"struct msghdr msgh;\n" +"struct cmsghdr *cmsg;\n" +"int received_ttl;\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "/* Receive auxiliary data in msgh */\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"for (cmsg = CMSG_FIRSTHDR(&msgh); cmsg != NULL;\n" +" cmsg = CMSG_NXTHDR(&msgh, cmsg)) {\n" +" if (cmsg-E<gt>cmsg_level == IPPROTO_IP\n" +" && cmsg-E<gt>cmsg_type == IP_TTL) {\n" +" memcpy(&receive_ttl, CMSG_DATA(cmsg), sizeof(received_ttl));\n" +" break;\n" +" }\n" +"}\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"if (cmsg == NULL) {\n" +" /* Error: IP_TTL not enabled or small buffer or I/O error */\n" +"}\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"struct msghdr msg = { 0 };\n" +"struct cmsghdr *cmsg;\n" +"int myfds[NUM_FD]; /* Contains the file descriptors to pass */\n" +"char iobuf[1];\n" +"struct iovec io = {\n" +" .iov_base = iobuf,\n" +" .iov_len = sizeof(iobuf)\n" +"};\n" +"union { /* Ancillary data buffer, wrapped in a union\n" +" in order to ensure it is suitably aligned */\n" +" char buf[CMSG_SPACE(sizeof(myfds))];\n" +" struct cmsghdr align;\n" +"} u;\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"msg.msg_iov = &io;\n" +"msg.msg_iovlen = 1;\n" +"msg.msg_control = u.buf;\n" +"msg.msg_controllen = sizeof(u.buf);\n" +"cmsg = CMSG_FIRSTHDR(&msg);\n" +"cmsg-E<gt>cmsg_level = SOL_SOCKET;\n" +"cmsg-E<gt>cmsg_type = SCM_RIGHTS;\n" +"cmsg-E<gt>cmsg_len = CMSG_LEN(sizeof(myfds));\n" +"memcpy(CMSG_DATA(cmsg), myfds, sizeof(myfds));\n" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-07-15" +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 "2023-03-30" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "" |