# Brazilian Portuguese translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Rubens de Jesus Nogueira , 2000. # André Luiz Fassone , 2000. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-03-01 17:12+0100\n" "PO-Revision-Date: 2000-05-31 17:26+0200\n" "Last-Translator: André Luiz Fassone \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Lokalize 20.04.1\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "UNIX" msgstr "UNIX" #. type: TH #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-12-21" msgstr "21 dezembro 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 "NOME" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "unix - sockets for local interprocess communication" msgstr "unix - 'sockets' para comunicação interprocessos local" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "SINOPSE" #. 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 Esys/socket.hE>\n" "B<#include Esys/un.hE>\n" msgstr "" "B<#include Esys/socket.hE>\n" "B<#include Esys/un.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "IB< = socket(AF_UNIX, type, 0);>\n" "IB< = socketpair(AF_UNIX, type, 0, int *>IB<);>\n" msgstr "" "IB< = socket(AF_UNIX, type, 0);>\n" "IB< = socketpair(AF_UNIX, type, 0, int *>IB<);>\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 "DESCRIÇÃO" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The B (also known as B) socket family is used to " #| "communicate between processes on the same machine efficiently. Unix " #| "sockets can be either anonymous (created by B(2)) or " #| "associated with a file of socket type. Linux also supports an abstract " #| "namespace which is independent of the file system." msgid "" "The B (also known as B) socket family is used to " "communicate between processes on the same machine efficiently. " "Traditionally, UNIX domain sockets can be either unnamed, or bound to a " "filesystem pathname (marked as being of type socket). Linux also supports " "an abstract namespace which is independent of the filesystem." msgstr "" "A família de 'sockets' B (também conhecida como B) é " "usada para comunicação eficiente entre processos na mesma máquina. 'Sockets' " "Unix podem ser anônimos (criados pelo B(2)) ou associados com um " "arquivo do tipo do 'socket'. O Linux também suporta um espaço de nomes " "abstrato, que é independente do sistema de arquivos." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Valid socket types in the UNIX domain are: B, for a stream-" "oriented socket; B, for a datagram-oriented socket that " "preserves message boundaries (as on most UNIX implementations, UNIX domain " "datagram sockets are always reliable and don't reorder datagrams); and " "(since Linux 2.6.4) B, for a sequenced-packet socket that " "is connection-oriented, preserves message boundaries, and delivers messages " "in the order that they were sent." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Unix sockets support passing file descriptors or process credentials to " #| "other processes as ancillary data to datagrams." msgid "" "UNIX domain sockets support passing file descriptors or process credentials " "to other processes using ancillary data." msgstr "" "Os 'sockets' Unix suportam a passagem para outros processos de descritores " "de arquivos ou credenciais de processos, como dados ancilares para " "datagramas." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Address format" msgstr "Formato de endereço" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "A UNIX domain socket address is represented in the following structure:" msgstr "" #. #define UNIX_PATH_MAX 108 #. 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_un {\n" " sa_family_t sun_family; /* AF_UNIX */\n" " char sun_path[108]; /* Pathname */\n" "};\n" msgstr "" "struct sockaddr_un {\n" " sa_family_t sun_family; /* AF_UNIX */\n" " char sun_path[108]; /* diretório */\n" "};\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I field always contains B. On Linux, I " "is 108 bytes in size; see also BUGS, below." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Various systems calls (for example, B(2), B(2), and " "B(2)) take a I argument as input. Some other system " "calls (for example, B(2), B(2), B(2), " "and B(2)) return an argument of this type." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Three types of address are distinguished in the I structure:" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "name" msgid "pathname" msgstr "nome" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "a UNIX domain socket can be bound to a null-terminated filesystem pathname " "using B(2). When the address of a pathname socket is returned (by one " "of the system calls noted above), its length is" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "offsetof(struct sockaddr_un, sun_path) + strlen(sun_path) + 1\n" msgstr "offsetof(struct sockaddr_un, sun_path) + strlen(sun_path) + 1\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "and I contains the null-terminated pathname. (On Linux, the above " "B() expression equates to the same value as " "I, but some other implementations include other fields " "before I, so the B() expression more portably describes " "the size of the address structure.)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "For further details of pathname sockets, see below." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "name" msgid "unnamed" msgstr "nome" #. There is quite some variation across implementations: FreeBSD #. says the length is 16 bytes, HP-UX 11 says it's zero bytes. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A stream socket that has not been bound to a pathname using B(2) has " "no name. Likewise, the two sockets created by B(2) are " "unnamed. When the address of an unnamed socket is returned, its length is " "I, and I should not be inspected." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "abstract" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "an abstract socket address is distinguished (from a pathname socket) by the " "fact that I is a null byte (\\[aq]\\e0\\[aq]). The socket's " "address in this namespace is given by the additional bytes in I " "that are covered by the specified length of the address structure. (Null " "bytes in the name have no special significance.) The name has no connection " "with filesystem pathnames. When the address of an abstract socket is " "returned, the returned I is greater than I (i." "e., greater than 2), and the name of the socket is contained in the first " "I<(addrlen - sizeof(sa_family_t))> bytes of I." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Pathname sockets" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When binding a socket to a pathname, a few rules should be observed for " "maximum portability and ease of coding:" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "\\[bu]" msgstr "\\[bu]" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The pathname in I should be null-terminated." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The length of the pathname, including the terminating null byte, should not " "exceed the size of I." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument that describes the enclosing I " "structure should have a value of at least:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "offsetof(struct sockaddr_un, sun_path)+strlen(addr.sun_path)+1\n" msgstr "offsetof(struct sockaddr_un, sun_path)+strlen(addr.sun_path)+1\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "or, more simply, I can be specified as I." msgstr "" #. Linux does this, including for the case where the supplied path #. is 108 bytes #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There is some variation in how implementations handle UNIX domain socket " "addresses that do not follow the above rules. For example, some (but not " "all) implementations append a null terminator if none is present in the " "supplied I." msgstr "" #. HP-UX #. Modern BSDs generally have 104, Tru64 and AIX have 104, #. Solaris and Irix have 108 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When coding portable applications, keep in mind that some implementations " "have I as short as 92 bytes." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Various system calls (B(2), B(2), B(2), " "B(2)) return socket address structures. When applied to UNIX " "domain sockets, the value-result I argument supplied to the call " "should be initialized as above. Upon return, the argument is set to " "indicate the I size of the address structure. The caller should " "check the value returned in this argument: if the output value exceeds the " "input value, then there is no guarantee that a null terminator is present in " "I. (See BUGS.)" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Pathname socket ownership and permissions" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the Linux implementation, pathname sockets honor the permissions of the " "directory they are in. Creation of a new socket fails if the process does " "not have write and search (execute) permission on the directory in which the " "socket is created." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On Linux, connecting to a stream socket object requires write permission on " "that socket; sending a datagram to a datagram socket likewise requires write " "permission on that socket. POSIX does not make any statement about the " "effect of the permissions on a socket file, and on some systems (e.g., older " "BSDs), the socket permissions are ignored. Portable programs should not " "rely on this feature for security." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When creating a new socket, the owner and group of the socket file are set " "according to the usual rules. The socket file has all permissions enabled, " "other than those that are turned off by the process B(2)." msgstr "" #. However, fchown() and fchmod() do not seem to have an effect #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The owner, group, and permissions of a pathname socket can be changed (using " "B(2) and B(2))." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Abstract sockets" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Socket permissions have no meaning for abstract sockets: the process " "B(2) has no effect when binding an abstract socket, and changing the " "ownership and permissions of the object (via B(2) and " "B(2)) has no effect on the accessibility of the socket." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Abstract sockets automatically disappear when all open references to the " "socket are closed." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The abstract socket namespace is a nonportable Linux extension." 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 "Opções de socket" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For historical reasons, these socket options are specified with a " "B type even though they are B specific. They can be " "set with B(2) and read with B(2) by specifying " "B as the socket family." msgstr "" "Por razões históricas, essas opções de 'socket' são especificadas com um " "tipo B mesmo sendo específicos do B. Eles podem ser " "selecionados com B(2) e lidos com B(2) especificando-" "se B como a família de 'socket'." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Enabling this socket option causes receipt of the credentials of the sending " "process in an B message in each subsequently " "received message. The returned credentials are those specified by the " "sender using B, or a default that includes the sender's " "PID, real user ID, and real group ID, if the sender did not specify " "B ancillary data." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B enables the receiving of the credentials of the sending " #| "process ancillary message. When this option is set and the socket is not " #| "connected yet an unique name in the abstract namespace will be generated " #| "automatically. Expects an integer boolean flag." msgid "" "When this option is set and the socket is not yet connected, a unique name " "in the abstract namespace will be generated automatically." msgstr "" "B habilita o recebimento das credenciais da mensagem ancilar de " "processo de envio. Quando essa opção é setada e o 'socket' ainda não está " "conectado, um nome único será gerado automaticamente no espaço de nomes " "abstrato. Espera um sinalizador booleano inteiro." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The value given as an argument to B(2) and returned as the " "result of B(2) is an integer boolean flag." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Enables receiving of the SELinux security label of the peer socket in an " "ancillary message of type B (see below)." msgstr "" #. commit 877ce7c1b3afd69a9b1caeb1b9964c992641f52a #. commit 37a9a8df8ce9de6ea73349c9ac8bdf6ba4ec4f70 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B option is supported for UNIX domain datagram sockets since " "Linux 2.6.18; support for UNIX domain stream sockets was added in Linux 4.2." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "See B(7)." msgstr "Veja também B(7)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" "This read-only socket option returns the credentials of the peer process " "connected to this socket. The returned credentials are those that were in " "effect at the time of the call to B(2), B(2), or " "B(2)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The argument to B(2) is a pointer to a I structure; " "define the B<_GNU_SOURCE> feature test macro to obtain the definition of " "that structure from Isys/socket.hE>." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The use of this option is possible only for connected B stream " "sockets and for B stream and datagram socket pairs created using " "B(2)." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This read-only socket option returns the security context of the peer socket " "connected to this socket. By default, this will be the same as the security " "context of the process that created the peer socket unless overridden by the " "policy or by a process with the required permissions." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The argument to B(2) is a pointer to a buffer of the specified " "length in bytes into which the security context string will be copied. If " "the buffer length is less than the length of the security context string, " "then B(2) returns -1, sets I to B, and returns " "the required length via I. The caller should allocate at least " "B bytes for the buffer initially, although this is not guaranteed " "to be sufficient. Resizing the buffer to the returned length and retrying " "may be necessary." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The security context string may include a terminating null character in the " "returned length, but is not guaranteed to do so: a security context \"foo\" " "might be represented as either {'f','o','o'} of length 3 or " "{'f','o','o','\\e0'} of length 4, which are considered to be " "interchangeable. The string is printable, does not contain non-terminating " "null characters, and is in an unspecified encoding (in particular, it is not " "guaranteed to be ASCII or UTF-8)." msgstr "" #. commit 0b811db2cb2aabc910e53d34ebb95a15997c33e7 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The use of this option for sockets in the B address family is " "supported since Linux 2.6.2 for connected stream sockets, and since Linux " "4.18 also for stream and datagram socket pairs created using " "B(2)." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Autobind feature" msgstr "" #. i.e., sizeof(short) #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If a B(2) call specifies I as I, or the " "B socket option was specified for a socket that was not " "explicitly bound to an address, then the socket is autobound to an abstract " "address. The address consists of a null byte followed by 5 bytes in the " "character set I<[0-9a-f]>. Thus, there is a limit of 2\\[ha]20 autobind " "addresses. (From Linux 2.1.15, when the autobind feature was added, 8 bytes " "were used, and the limit was thus 2\\[ha]32 autobind addresses. The change " "to 5 bytes came in Linux 2.3.15.)" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Sockets API" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following paragraphs describe domain-specific details and unsupported " "features of the sockets API for UNIX domain sockets on Linux." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "UNIX domain sockets do not support the transmission of out-of-band data (the " "B flag for B(2) and B(2))." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B(2) B flag is not supported by UNIX domain sockets." msgstr "" #. commit 9f6f9af7694ede6314bed281eec74d588ba9474f #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Before Linux 3.4, the use of B in the I argument of " "B(2) was not supported by UNIX domain sockets." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B socket option does have an effect for UNIX domain sockets, " "but the B option does not. For datagram sockets, the " "B value imposes an upper limit on the size of outgoing " "datagrams. This limit is calculated as the doubled (see B(7)) " "option value less 32 bytes used for overhead." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Ancillary messages" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "For historical reasons these ancillary message type are specified with a " #| "SOL_SOCKET type even though they are PF_UNIX specific. To send them set " #| "the B field of the struct B to SOL_SOCKET and the " #| "B field to the type. For more information see B(3)." msgid "" "Ancillary data is sent and received using B(2) and B(2). " "For historical reasons, the ancillary message types listed below are " "specified with a B type even though they are B " "specific. To send them, set the I field of the struct " "I to B and the I field to the type. For " "more information, see B(3)." msgstr "" "Por razões históricas, esses tipos de mensagens ancilares são especificados " "com um tipo SOL_SOCKET mesmo sendo específicos do PF_UNIX. Para enviá-los, " "setar o campo B da estrutura B com SOL_SOCKET, e o " "campo B com o tipo. Para mais informações, veja B(3)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Send or receive a set of open file descriptors from another process. The " #| "data portion contains a integer array of the file descriptors. The " #| "passed file descriptors behave as like they have been created with " #| "B(2)." msgid "" "Send or receive a set of open file descriptors from another process. The " "data portion contains an integer array of the file descriptors." msgstr "" "Envia ou recebe um conjunto de descritores de arquivo de outro processo. A " "porção de dados contém uma matriz de inteiros com os descritores de " "arquivos. Os descritores de arquivo passados se comportam como se tivessem " "sido criados com B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Commonly, this operation is referred to as \"passing a file descriptor\" to " "another process. However, more accurately, what is being passed is a " "reference to an open file description (see B(2)), and in the receiving " "process it is likely that a different file descriptor number will be used. " "Semantically, this operation is equivalent to duplicating (B(2)) a " "file descriptor into the file descriptor table of another process." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the buffer used to receive the ancillary data containing file descriptors " "is too small (or is absent), then the ancillary data is truncated (or " "discarded) and the excess file descriptors are automatically closed in the " "receiving process." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the number of file descriptors received in the ancillary data would cause " "the process to exceed its B resource limit (see " "B(2)), the excess file descriptors are automatically closed in " "the receiving process." msgstr "" #. commit bba14de98753cb6599a2dae0e520714b2153522d #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The kernel constant B defines a limit on the number of file " "descriptors in the array. Attempting to send an array larger than this " "limit causes B(2) to fail with the error B. B " "has the value 253 (or 255 before Linux 2.6.38)." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Send or receive unix credentials. This can be used for authentication. " #| "The credentials are passed as a B ancillary message." msgid "" "Send or receive UNIX credentials. This can be used for authentication. The " "credentials are passed as a I ancillary message. This " "structure is defined in Isys/socket.hE> as follows:" msgstr "" "Envia ou recebe credenciais do unix. Isto pode ser usado para autenticação. " "As credenciais são passadas como uma mensagem ancilar de B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "struct ucred {\n" " pid_t pid; /* Process ID of the sending process */\n" " uid_t uid; /* User ID of the sending process */\n" " gid_t gid; /* Group ID of the sending process */\n" "};\n" msgstr "" "struct ucred {\n" " pid_t pid; /* ID de processo do processo de envio */\n" " uid_t uid; /* ID de usuário do processo de envio */\n" " gid_t gid; /* ID de grupo do processo de envio */\n" "};\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since glibc 2.8, the B<_GNU_SOURCE> feature test macro must be defined " "(before including I header files) in order to obtain the definition of " "this structure." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The credentials which the sender specifies are checked by the kernel. A " #| "process with effective user id 0 is allowed to specify values that do not " #| "match his own. The sender must specify its own process id (unless it has " #| "B), its user id, effective user id or set user id (unless " #| "it has B), and its group id, effective group id or set group " #| "id (unless it has B). To receive a B message " #| "the B option must be enabled on the socket." msgid "" "The credentials which the sender specifies are checked by the kernel. A " "privileged process is allowed to specify values that do not match its own. " "The sender must specify its own process ID (unless it has the capability " "B, in which case the PID of any existing process may be " "specified), its real user ID, effective user ID, or saved set-user-ID " "(unless it has B), and its real group ID, effective group ID, or " "saved set-group-ID (unless it has B)." msgstr "" "As credenciais que o remetente especifica são verificadas pelo kernel. Um " "processo com id de usuário efetivo igual a 0 tem permissão para especificar " "valores que não casam com o seu próprio valor. O remetente precisa " "especificar seu próprio id de processo (a menos que ele tenha " "B), seu id de usuário, id de usuário efetivo ou setar o id de " "usuário (a menos que ele tenha B), e seu id de grupo, id de " "grupo efetivo ou setar o id do grupo (a menos que ele tenha B). " "Para receber uma mensagem de B a opção B precisa " "estar habilitada no 'socket'." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To receive a I message, the B option must be " "enabled on the socket." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Receive the SELinux security context (the security label) of the peer " "socket. The received ancillary data is a null-terminated string containing " "the security context. The receiver should allocate at least B " "bytes in the data portion of the ancillary message for this data." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To receive the security context, the B option must be enabled on " "the socket (see above)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When sending ancillary data with B(2), only one item of each of the " "above types may be included in the sent message." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "At least one byte of real data should be sent when sending ancillary data. " "On Linux, this is required to successfully send ancillary data over a UNIX " "domain stream socket. When sending ancillary data over a UNIX domain " "datagram socket, it is not necessary on Linux to send any accompanying real " "data. However, portable applications should also include at least one byte " "of real data when sending ancillary data over a datagram socket." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When receiving from a stream socket, ancillary data forms a kind of barrier " "for the received data. For example, suppose that the sender transmits as " "follows:" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "(1)" msgstr "(1)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B(2) of four bytes, with no ancillary data." msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "(2)" msgstr "(2)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B(2) of one byte, with ancillary data." msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "(3)" msgstr "(3)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Suppose that the receiver now performs B(2) calls each with a " "buffer size of 20 bytes. The first call will receive five bytes of data, " "along with the ancillary data sent by the second B(2) call. The " "next call will receive the remaining four bytes of data." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the space allocated for receiving incoming ancillary data is too small " "then the ancillary data is truncated to the number of headers that will fit " "in the supplied buffer (or, in the case of an B file descriptor " "list, the list of file descriptors may be truncated). If no buffer is " "provided for incoming ancillary data (i.e., the I field of the " "I structure supplied to B(2) is NULL), then the incoming " "ancillary data is discarded. In both of these cases, the B flag " "will be set in the I value returned by B(2)." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Ioctls" msgstr "Ioctls" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following B(2) calls return information in I. The " "correct syntax is:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BI< value>B<;>\n" "IB< = ioctl(>IB<, >IB<, &>IB<);>\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I can be:" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. #-#-#-#-# archlinux: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. FIXME . https://www.sourceware.org/bugzilla/show_bug.cgi?id=12002, #. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers #. SIOCOUTQ also has an effect for UNIX domain sockets, but not #. quite what userland might expect. It seems to return the number #. of bytes allocated for buffers containing pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #. #-#-#-#-# debian-bookworm: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. FIXME . http://sources.redhat.com/bugzilla/show_bug.cgi?id=12002, #. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers #. SIOCOUTQ also has an effect for UNIX domain sockets, but not #. quite what userland might expect. It seems to return the number #. of bytes allocated for buffers containing pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #. #-#-#-#-# debian-unstable: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. FIXME . https://www.sourceware.org/bugzilla/show_bug.cgi?id=12002, #. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers #. SIOCOUTQ also has an effect for UNIX domain sockets, but not #. quite what userland might expect. It seems to return the number #. of bytes allocated for buffers containing pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #. #-#-#-#-# fedora-40: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. FIXME . https://www.sourceware.org/bugzilla/show_bug.cgi?id=12002, #. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers #. SIOCOUTQ also has an effect for UNIX domain sockets, but not #. quite what userland might expect. It seems to return the number #. of bytes allocated for buffers containing pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #. #-#-#-#-# fedora-rawhide: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. FIXME . https://www.sourceware.org/bugzilla/show_bug.cgi?id=12002, #. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers #. SIOCOUTQ also has an effect for UNIX domain sockets, but not #. quite what userland might expect. It seems to return the number #. of bytes allocated for buffers containing pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #. #-#-#-#-# mageia-cauldron: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. FIXME . https://www.sourceware.org/bugzilla/show_bug.cgi?id=12002, #. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers #. SIOCOUTQ also has an effect for UNIX domain sockets, but not #. quite what userland might expect. It seems to return the number #. of bytes allocated for buffers containing pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #. #-#-#-#-# opensuse-leap-15-6: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. FIXME . https://www.sourceware.org/bugzilla/show_bug.cgi?id=12002, #. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers #. SIOCOUTQ also has an effect for UNIX domain sockets, but not #. quite what userland might expect. It seems to return the number #. of bytes allocated for buffers containing pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #. #-#-#-#-# opensuse-tumbleweed: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. FIXME . https://www.sourceware.org/bugzilla/show_bug.cgi?id=12002, #. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers #. SIOCOUTQ also has an effect for UNIX domain sockets, but not #. quite what userland might expect. It seems to return the number #. of bytes allocated for buffers containing pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For B sockets, this call returns the number of unread bytes in " "the receive buffer. The socket must not be in LISTEN state, otherwise an " "error (B) is returned. B is defined in Ilinux/" "sockios.hE>. Alternatively, you can use the synonymous B, " "defined in Isys/ioctl.hE>. For B sockets, the " "returned value is the same as for Internet domain datagram sockets; see " "B(7)." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ERRORS" msgstr "ERROS" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Selected local address is already taken or filesystem socket object " #| "already exists." msgid "" "The specified local address is already in use or the filesystem socket " "object already exists." msgstr "" "O endereço local selecionado já foi pego, ou o objeto de 'socket' do sistema " "de arquivo já existe." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This error can occur for B(2) when sending a file descriptor as " "ancillary data over a UNIX domain socket (see the description of " "B, above), and indicates that the file descriptor number that is " "being sent is not valid (e.g., it is not an open file descriptor)." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The remote address specified by B(2) was not a listening socket. " "This error can also occur if the target pathname is not a socket." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Remote socket was unexpectedly closed." msgstr "O 'socket' remoto foi encerrado inesperadamente." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "User memory address was not valid." msgstr "O endereço de memória do usuário não era válida." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Invalid argument passed. A common cause is the missing setting of AF_UNIX " #| "in the sun_type field of passed addresses or the socket being in an " #| "invalid state for the applied operation." msgid "" "Invalid argument passed. A common cause is that the value B was " "not specified in the I field of passed addresses, or the socket " "was in an invalid state for the applied operation." msgstr "" "Um argumento inválido foi passado. Uma causa comum é a perda de configuração " "do AF_UNIX no campo sun_type do endereço passado, ou o 'socket' está em um " "estado inválido para a operação aplicada." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(2) called on an already connected socket or a target address was " "specified on a connected socket." msgstr "" "B(2) foi chamado em um 'socket' já conectado, ou um endereço-alvo " "foi especificado em um 'socket' conectado." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The system-wide limit on the total number of open files has been reached." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The pathname in the remote address specified to B(2) did not exist." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Out of memory." msgstr "Sem memória." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Socket operation needs a target address, but the socket is not connected." msgstr "" "A operação de 'socket' precisa de um endereço-alvo, mas o 'socket' não está " "conectado." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Stream operation called on non-stream oriented socket or tried to use the " "out-of-band data option." msgstr "" "Uma operação de fluxo foi chamada em um 'socket' não orientado ao fluxo, ou " "tentou usar uma opção de dados fora de banda." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The sender passed invalid credentials in the I." msgstr "O remetente passou credenciais inválidas na I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Remote socket was closed on a stream socket. If enabled, a B is " "sent as well. This can be avoided by passing the B flag to " "B(2) or B(2)." msgstr "" "O 'socket' remoto foi encerrado em um 'socket' de fluxo. Se habilitado, um " "B é enviado também. Isto pode ser evitado pela passagem do " "sinalizador B para B(2) ou para B(2)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Passed protocol is not B." msgstr "O protocolo passado não é B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Remote socket does not match the local socket type (B versus " "B)." msgstr "" "O 'socket' remoto não encontra o tipo de 'socket' local (B vs. " "B)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Unknown socket type." msgstr "Tipo de 'socket' desconhecido." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "While sending an ancillary message containing credentials " "(B), the caller specified a PID that does not match any " "existing process." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This error can occur for B(2) when sending a file descriptor as " "ancillary data over a UNIX domain socket (see the description of " "B, above). It occurs if the number of \"in-flight\" file " "descriptors exceeds the B resource limit and the caller does " "not have the B capability. An in-flight file descriptor " "is one that has been sent using B(2) but has not yet been accepted " "in the recipient process using B(2)." msgstr "" #. commit 712f4aad406bb1ed67f3f98d04c044191f0ff593 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This error is diagnosed since mainline Linux 4.5 (and in some earlier kernel " "versions where the fix has been backported). In earlier kernel versions, it " "was possible to place an unlimited number of file descriptors in flight, by " "sending each file descriptor with B(2) and then closing the file " "descriptor so that it was not accounted against the B " "resource limit." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Other errors can be generated by the generic socket layer or by the " "filesystem while generating a filesystem socket object. See the appropriate " "manual pages for more information." msgstr "" "Outros erros podem ser gerados pela camada genérica de 'sockets' ou pelo " "sistema de arquivos, enquanto geram um objeto de 'socket' do sistema de " "arquivos. Veja as páginas de manual apropriadas para maiores informações." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "VERSÕES" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B and the abstract namespace were introduced with Linux " #| "2.2 and should not be used in portable programs." msgid "" "B and the abstract namespace were introduced with Linux 2.2 " "and should not be used in portable programs. (Some BSD-derived systems also " "support credential passing, but the implementation details differ.)" msgstr "" "B e o espaço de nomes abstrato foram introduzidos com o " "Linux 2.2 e não deve ser usados em programas portáveis." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NOTES" msgstr "NOTAS" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Binding to a socket with a filename creates a socket in the filesystem that " "must be deleted by the caller when it is no longer needed (using " "B(2)). The usual UNIX close-behind semantics apply; the socket can " "be unlinked at any time and will be finally removed from the filesystem when " "the last reference to it is closed." msgstr "" "Ligar-se a um 'socket' com um nome de arquivo cria um 'socket' no sistema de " "arquivos que precisa ser deletado por que chama quando ele não for mais " "necessário (usando-se B(2)). Aplica-se a semântica \"fecha para " "trás\" normal do UNIX; o 'socket' pode ser desligado a qualquer momento, e " "será finalmente removido do sistema de arquivos quando a última referência a " "ele for encerrada." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To pass file descriptors or credentials over a B socket, you " "must send or receive at least one byte of nonancillary data in the same " "B(2) or B(2) call." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "UNIX domain stream sockets do not support the notion of out-of-band data." 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 "BUGS" #. The behavior on Solaris is quite similar. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When binding a socket to an address, Linux is one of the implementations " "that appends a null terminator if none is supplied in I. In most " "cases this is unproblematic: when the socket address is retrieved, it will " "be one byte longer than that supplied when the socket was bound. However, " "there is one case where confusing behavior can result: if 108 non-null bytes " "are supplied when a socket is bound, then the addition of the null " "terminator takes the length of the pathname beyond I. " "Consequently, when retrieving the socket address (for example, via " "B(2)), if the input I argument for the retrieving call is " "specified as I, then the returned address " "structure I have a null terminator in I." msgstr "" #. i.e., traditional BSD #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In addition, some implementations don't require a null terminator when " "binding a socket (the I argument is used to determine the length of " "I) and when the socket address is retrieved on these " "implementations, there is no null terminator in I." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Applications that retrieve socket addresses can (portably) code to handle " "the possibility that there is no null terminator in I by " "respecting the fact that the number of valid bytes in the pathname is:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "strnlen(addr.sun_path, addrlen - offsetof(sockaddr_un, sun_path))\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Alternatively, an application can retrieve the socket address by allocating " "a buffer of size I that is zeroed out before " "the retrieval. The retrieving call can specify I as " "I, and the extra zero byte ensures that there " "will be a null terminator for the string returned in I:" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "void *addrp;\n" "\\&\n" "addrlen = sizeof(struct sockaddr_un);\n" "addrp = malloc(addrlen + 1);\n" "if (addrp == NULL)\n" " /* Handle error */ ;\n" "memset(addrp, 0, addrlen + 1);\n" "\\&\n" "if (getsockname(sfd, (struct sockaddr *) addrp, &addrlen)) == -1)\n" " /* handle error */ ;\n" "\\&\n" "printf(\"sun_path = %s\\en\", ((struct sockaddr_un *) addrp)-Esun_path);\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This sort of messiness can be avoided if it is guaranteed that the " "applications that I pathname sockets follow the rules outlined above " "under I." 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 "EXEMPLOS" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following code demonstrates the use of sequenced-packet sockets for " "local interprocess communication. It consists of two programs. The server " "program waits for a connection from the client program. The client sends " "each of its command-line arguments in separate messages. The server treats " "the incoming messages as integers and adds them up. The client sends the " "command string \"END\". The server sends back a message containing the sum " "of the client's integers. The client prints the sum and exits. The server " "waits for the next client to connect. To stop the server, the client is " "called with the command-line argument \"DOWN\"." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following output was recorded while running the server in the background " "and repeatedly executing the client. Execution of the server program ends " "when it receives the \"DOWN\" command." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Example output" 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<./server &>\n" "[1] 25887\n" "$ B<./client 3 4>\n" "Result = 7\n" "$ B<./client 11 -5>\n" "Result = 6\n" "$ B<./client DOWN>\n" "Result = 0\n" "[1]+ Done ./server\n" "$\n" msgstr "" "$ B<./server &>\n" "[1] 25887\n" "$ B<./client 3 4>\n" "Result = 7\n" "$ B<./client 11 -5>\n" "Result = 6\n" "$ B<./client DOWN>\n" "Result = 0\n" "[1]+ Done ./server\n" "$\n" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source" msgstr "Fonte do programa" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "/*\n" " * File connection.h\n" " */\n" "\\&\n" "#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n" "#define BUFFER_SIZE 12\n" "\\&\n" "/*\n" " * File server.c\n" " */\n" "\\&\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "#include \"connection.h\"\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct sockaddr_un name;\n" " int down_flag = 0;\n" " int ret;\n" " int connection_socket;\n" " int data_socket;\n" " int result;\n" " char buffer[BUFFER_SIZE];\n" "\\&\n" " /* Create local socket. */\n" "\\&\n" " connection_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (connection_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * For portability clear the whole structure, since some\n" " * implementations have additional (nonstandard) fields in\n" " * the structure.\n" " */\n" "\\&\n" " memset(&name, 0, sizeof(name));\n" "\\&\n" " /* Bind socket to socket name. */\n" "\\&\n" " name.sun_family = AF_UNIX;\n" " strncpy(name.sun_path, SOCKET_NAME, sizeof(name.sun_path) - 1);\n" "\\&\n" " ret = bind(connection_socket, (const struct sockaddr *) &name,\n" " sizeof(name));\n" " if (ret == -1) {\n" " perror(\"bind\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * Prepare for accepting connections. The backlog size is set\n" " * to 20. So while one request is being processed other requests\n" " * can be waiting.\n" " */\n" "\\&\n" " ret = listen(connection_socket, 20);\n" " if (ret == -1) {\n" " perror(\"listen\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* This is the main loop for handling connections. */\n" "\\&\n" " for (;;) {\n" "\\&\n" " /* Wait for incoming connection. */\n" "\\&\n" " data_socket = accept(connection_socket, NULL, NULL);\n" " if (data_socket == -1) {\n" " perror(\"accept\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " result = 0;\n" " for (;;) {\n" "\\&\n" " /* Wait for next data packet. */\n" "\\&\n" " ret = read(data_socket, buffer, sizeof(buffer));\n" " if (ret == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Ensure buffer is 0-terminated. */\n" "\\&\n" " buffer[sizeof(buffer) - 1] = 0;\n" "\\&\n" " /* Handle commands. */\n" "\\&\n" " if (!strncmp(buffer, \"DOWN\", sizeof(buffer))) {\n" " down_flag = 1;\n" " break;\n" " }\n" "\\&\n" " if (!strncmp(buffer, \"END\", sizeof(buffer))) {\n" " break;\n" " }\n" "\\&\n" " /* Add received summand. */\n" "\\&\n" " result += atoi(buffer);\n" " }\n" "\\&\n" " /* Send result. */\n" "\\&\n" " sprintf(buffer, \"%d\", result);\n" " ret = write(data_socket, buffer, sizeof(buffer));\n" " if (ret == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Close socket. */\n" "\\&\n" " close(data_socket);\n" "\\&\n" " /* Quit on DOWN command. */\n" "\\&\n" " if (down_flag) {\n" " break;\n" " }\n" " }\n" "\\&\n" " close(connection_socket);\n" "\\&\n" " /* Unlink the socket. */\n" "\\&\n" " unlink(SOCKET_NAME);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" "\\&\n" "/*\n" " * File client.c\n" " */\n" "\\&\n" "#include Eerrno.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "#include \"connection.h\"\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct sockaddr_un addr;\n" " int ret;\n" " int data_socket;\n" " char buffer[BUFFER_SIZE];\n" "\\&\n" " /* Create local socket. */\n" "\\&\n" " data_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (data_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * For portability clear the whole structure, since some\n" " * implementations have additional (nonstandard) fields in\n" " * the structure.\n" " */\n" "\\&\n" " memset(&addr, 0, sizeof(addr));\n" "\\&\n" " /* Connect socket to socket address. */\n" "\\&\n" " addr.sun_family = AF_UNIX;\n" " strncpy(addr.sun_path, SOCKET_NAME, sizeof(addr.sun_path) - 1);\n" "\\&\n" " ret = connect(data_socket, (const struct sockaddr *) &addr,\n" " sizeof(addr));\n" " if (ret == -1) {\n" " fprintf(stderr, \"The server is down.\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Send arguments. */\n" "\\&\n" " for (size_t i = 1; i E argc; ++i) {\n" " ret = write(data_socket, argv[i], strlen(argv[i]) + 1);\n" " if (ret == -1) {\n" " perror(\"write\");\n" " break;\n" " }\n" " }\n" "\\&\n" " /* Request result. */\n" "\\&\n" " strcpy(buffer, \"END\");\n" " ret = write(data_socket, buffer, strlen(buffer) + 1);\n" " if (ret == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Receive result. */\n" "\\&\n" " ret = read(data_socket, buffer, sizeof(buffer));\n" " if (ret == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Ensure buffer is 0-terminated. */\n" "\\&\n" " buffer[sizeof(buffer) - 1] = 0;\n" "\\&\n" " printf(\"Result = %s\\en\", buffer);\n" "\\&\n" " /* Close socket. */\n" "\\&\n" " close(data_socket);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For examples of the use of B, see B(3) and " "B(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 "VEJA TAMBÉM" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(2), B(2), B(2), B(2), B(3), " "B(7), B(7), B(7), B(7)" msgstr "" "B(2), B(2), B(2), B(2), B(3), " "B(7), B(7), B(7), B(7)" #. type: TH #: debian-bookworm #, no-wrap msgid "2023-02-10" msgstr "10 fevereiro 2023" #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "Linux man-pages 6.03" #. type: Plain text #: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This read-only socket option returns the credentials of the peer process " "connected to this socket. The returned credentials are those that were in " "effect at the time of the call to B(2) or B(2)." msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "void *addrp;\n" msgstr "void *addrp;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "addrlen = sizeof(struct sockaddr_un);\n" "addrp = malloc(addrlen + 1);\n" "if (addrp == NULL)\n" " /* Handle error */ ;\n" "memset(addrp, 0, addrlen + 1);\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "if (getsockname(sfd, (struct sockaddr *) addrp, &addrlen)) == -1)\n" " /* handle error */ ;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "printf(\"sun_path = %s\\en\", ((struct sockaddr_un *) addrp)-Esun_path);\n" msgstr "printf(\"sun_path = %s\\en\", ((struct sockaddr_un *) addrp)-Esun_path);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "/*\n" " * File connection.h\n" " */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n" "#define BUFFER_SIZE 12\n" msgstr "" "#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n" "#define BUFFER_SIZE 12\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "/*\n" " * File server.c\n" " */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "#include \"connection.h\"\n" msgstr "" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "#include \"connection.h\"\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct sockaddr_un name;\n" " int down_flag = 0;\n" " int ret;\n" " int connection_socket;\n" " int data_socket;\n" " int result;\n" " char buffer[BUFFER_SIZE];\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct sockaddr_un name;\n" " int down_flag = 0;\n" " int ret;\n" " int connection_socket;\n" " int data_socket;\n" " int result;\n" " char buffer[BUFFER_SIZE];\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Create local socket. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " connection_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (connection_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " connection_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (connection_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /*\n" " * For portability clear the whole structure, since some\n" " * implementations have additional (nonstandard) fields in\n" " * the structure.\n" " */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid " memset(&name, 0, sizeof(struct sockaddr_un));\n" msgid " memset(&name, 0, sizeof(name));\n" msgstr " memset(&name, 0, sizeof(struct sockaddr_un));\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Bind socket to socket name. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " name.sun_family = AF_UNIX;\n" " strncpy(name.sun_path, SOCKET_NAME, sizeof(name.sun_path) - 1);\n" msgstr "" " name.sun_family = AF_UNIX;\n" " strncpy(name.sun_path, SOCKET_NAME, sizeof(name.sun_path) - 1);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " ret = bind(connection_socket, (const struct sockaddr *) &name,\n" #| " sizeof(struct sockaddr_un));\n" #| " if (ret == -1) {\n" #| " perror(\"bind\");\n" #| " exit(EXIT_FAILURE);\n" #| " }\n" msgid "" " ret = bind(connection_socket, (const struct sockaddr *) &name,\n" " sizeof(name));\n" " if (ret == -1) {\n" " perror(\"bind\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " ret = bind(connection_socket, (const struct sockaddr *) &name,\n" " sizeof(struct sockaddr_un));\n" " if (ret == -1) {\n" " perror(\"bind\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /*\n" " * Prepare for accepting connections. The backlog size is set\n" " * to 20. So while one request is being processed other requests\n" " * can be waiting.\n" " */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " ret = listen(connection_socket, 20);\n" " if (ret == -1) {\n" " perror(\"listen\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " ret = listen(connection_socket, 20);\n" " if (ret == -1) {\n" " perror(\"listen\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* This is the main loop for handling connections. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " for (;;) {\n" msgstr " for (;;) {\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Wait for incoming connection. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " data_socket = accept(connection_socket, NULL, NULL);\n" " if (data_socket == -1) {\n" " perror(\"accept\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " data_socket = accept(connection_socket, NULL, NULL);\n" " if (data_socket == -1) {\n" " perror(\"accept\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " result = 0;\n" " for (;;) {\n" msgstr "" " result = 0;\n" " for (;;) {\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Wait for next data packet. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " ret = read(data_socket, buffer, BUFFER_SIZE);\n" #| " if (ret == -1) {\n" #| " perror(\"read\");\n" #| " exit(EXIT_FAILURE);\n" #| " }\n" msgid "" " ret = read(data_socket, buffer, sizeof(buffer));\n" " if (ret == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " ret = read(data_socket, buffer, BUFFER_SIZE);\n" " if (ret == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Ensure buffer is 0-terminated. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " buffer[sizeof(buffer) - 1] = 0;\n" msgstr " buffer[sizeof(buffer) - 1] = 0;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Handle commands. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (!strncmp(buffer, \"DOWN\", sizeof(buffer))) {\n" " down_flag = 1;\n" " break;\n" " }\n" msgstr "" " if (!strncmp(buffer, \"DOWN\", sizeof(buffer))) {\n" " down_flag = 1;\n" " break;\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (!strncmp(buffer, \"END\", sizeof(buffer))) {\n" " break;\n" " }\n" msgstr "" " if (!strncmp(buffer, \"END\", sizeof(buffer))) {\n" " break;\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Add received summand. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " result += atoi(buffer);\n" " }\n" msgstr "" " result += atoi(buffer);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Send result. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " sprintf(buffer, \"%d\", result);\n" #| " ret = write(data_socket, buffer, BUFFER_SIZE);\n" #| " if (ret == -1) {\n" #| " perror(\"write\");\n" #| " exit(EXIT_FAILURE);\n" #| " }\n" msgid "" " sprintf(buffer, \"%d\", result);\n" " ret = write(data_socket, buffer, sizeof(buffer));\n" " if (ret == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " sprintf(buffer, \"%d\", result);\n" " ret = write(data_socket, buffer, BUFFER_SIZE);\n" " if (ret == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Close socket. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " close(data_socket);\n" msgstr " close(data_socket);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Quit on DOWN command. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (down_flag) {\n" " break;\n" " }\n" " }\n" msgstr "" " if (down_flag) {\n" " break;\n" " }\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " close(connection_socket);\n" msgstr " close(connection_socket);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Unlink the socket. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " unlink(SOCKET_NAME);\n" msgstr " unlink(SOCKET_NAME);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " exit(EXIT_SUCCESS);\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "/*\n" " * File client.c\n" " */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#include Eerrno.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "#include \"connection.h\"\n" msgstr "" "#include Eerrno.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "#include \"connection.h\"\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| "int\n" #| "main(int argc, char *argv[])\n" #| "{\n" #| " struct sockaddr_un addr;\n" #| " int i;\n" #| " int ret;\n" #| " int data_socket;\n" #| " char buffer[BUFFER_SIZE];\n" msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct sockaddr_un addr;\n" " int ret;\n" " int data_socket;\n" " char buffer[BUFFER_SIZE];\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct sockaddr_un addr;\n" " int i;\n" " int ret;\n" " int data_socket;\n" " char buffer[BUFFER_SIZE];\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " data_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (data_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " data_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (data_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " memset(&addr, 0, sizeof(addr));\n" msgstr " memset(&addr, 0, sizeof(addr));\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Connect socket to socket address. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " addr.sun_family = AF_UNIX;\n" " strncpy(addr.sun_path, SOCKET_NAME, sizeof(addr.sun_path) - 1);\n" msgstr "" " addr.sun_family = AF_UNIX;\n" " strncpy(addr.sun_path, SOCKET_NAME, sizeof(addr.sun_path) - 1);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " ret = bind(connection_socket, (const struct sockaddr *) &name,\n" #| " sizeof(struct sockaddr_un));\n" #| " if (ret == -1) {\n" #| " perror(\"bind\");\n" #| " exit(EXIT_FAILURE);\n" #| " }\n" msgid "" " ret = connect(data_socket, (const struct sockaddr *) &addr,\n" " sizeof(addr));\n" " if (ret == -1) {\n" " fprintf(stderr, \"The server is down.\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " ret = bind(connection_socket, (const struct sockaddr *) &name,\n" " sizeof(struct sockaddr_un));\n" " if (ret == -1) {\n" " perror(\"bind\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Send arguments. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " for (i = 1; i E argc; ++i) {\n" #| " ret = write(data_socket, argv[i], strlen(argv[i]) + 1);\n" #| " if (ret == -1) {\n" #| " perror(\"write\");\n" #| " break;\n" #| " }\n" #| " }\n" msgid "" " for (size_t i = 1; i E argc; ++i) {\n" " ret = write(data_socket, argv[i], strlen(argv[i]) + 1);\n" " if (ret == -1) {\n" " perror(\"write\");\n" " break;\n" " }\n" " }\n" msgstr "" " for (i = 1; i E argc; ++i) {\n" " ret = write(data_socket, argv[i], strlen(argv[i]) + 1);\n" " if (ret == -1) {\n" " perror(\"write\");\n" " break;\n" " }\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Request result. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " strcpy (buffer, \"END\");\n" #| " ret = write(data_socket, buffer, strlen(buffer) + 1);\n" #| " if (ret == -1) {\n" #| " perror(\"write\");\n" #| " exit(EXIT_FAILURE);\n" #| " }\n" msgid "" " strcpy(buffer, \"END\");\n" " ret = write(data_socket, buffer, strlen(buffer) + 1);\n" " if (ret == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " strcpy (buffer, \"END\");\n" " ret = write(data_socket, buffer, strlen(buffer) + 1);\n" " if (ret == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Receive result. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " ret = read(data_socket, buffer, BUFFER_SIZE);\n" #| " if (ret == -1) {\n" #| " perror(\"read\");\n" #| " exit(EXIT_FAILURE);\n" #| " }\n" msgid "" " ret = read(data_socket, buffer, sizeof(buffer));\n" " if (ret == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " ret = read(data_socket, buffer, BUFFER_SIZE);\n" " if (ret == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Ensure buffer is 0-terminated. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid " buffer[BUFFER_SIZE - 1] = 0;\n" msgid " buffer[sizeof(buffer) - 1] = 0;\n" msgstr " buffer[BUFFER_SIZE - 1] = 0;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " printf(\"Result = %s\\en\", buffer);\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Close socket. */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " close(data_socket);\n" msgstr " close(data_socket);\n" #. type: TH #: debian-unstable opensuse-tumbleweed #, no-wrap msgid "2023-07-15" msgstr "15 julho 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-21" msgstr "21 março 2023" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Linux man-pages 6.04"