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 /po/ru/man3/getaddrinfo.3.po | |
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 'po/ru/man3/getaddrinfo.3.po')
-rw-r--r-- | po/ru/man3/getaddrinfo.3.po | 2038 |
1 files changed, 2038 insertions, 0 deletions
diff --git a/po/ru/man3/getaddrinfo.3.po b/po/ru/man3/getaddrinfo.3.po new file mode 100644 index 00000000..25e4fef6 --- /dev/null +++ b/po/ru/man3/getaddrinfo.3.po @@ -0,0 +1,2038 @@ +# Russian translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# Azamat Hackimov <azamat.hackimov@gmail.com>, 2013-2014, 2017. +# Dmitry Bolkhovskikh <d20052005@yandex.ru>, 2017. +# Vladislav <ivladislavefimov@gmail.com>, 2015. +# Yuri Kozlov <yuray@komyakino.ru>, 2011-2019. +# Иван Павлов <pavia00@gmail.com>, 2017, 2019. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n\n" +"POT-Creation-Date: 2024-03-01 16:56+0100\n" +"PO-Revision-Date: 2019-10-05 08:06+0300\n" +"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" +"Language-Team: Russian <man-pages-ru-talks@lists.sourceforge.net>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" +"X-Generator: Lokalize 2.0\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "B<getaddrinfo>()" +msgid "getaddrinfo" +msgstr "B<getaddrinfo>()" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "31 октября 2023 г." + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "Linux man-pages 6.06" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NAME" +msgstr "ИМЯ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"getaddrinfo, freeaddrinfo, gai_strerror - network address and service " +"translation" +msgstr "" +"getaddrinfo, freeaddrinfo, gai_strerror - трансляция сетевого адреса и службы" + +#. 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/types.hE<gt>>\n" +"B<#include E<lt>sys/socket.hE<gt>>\n" +"B<#include E<lt>netdb.hE<gt>>\n" +msgstr "" +"B<#include E<lt>sys/types.hE<gt>>\n" +"B<#include E<lt>sys/socket.hE<gt>>\n" +"B<#include E<lt>netdb.hE<gt>>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "" +#| "B<int getaddrinfo(const char *>I<node>B<, const char *>I<service>B<,>\n" +#| "B< const struct addrinfo *>I<hints>B<,>\n" +#| "B< struct addrinfo **>I<res>B<);>\n" +msgid "" +"B<int getaddrinfo(const char *restrict >I<node>B<,>\n" +"B< const char *restrict >I<service>B<,>\n" +"B< const struct addrinfo *restrict >I<hints>B<,>\n" +"B< struct addrinfo **restrict >I<res>B<);>\n" +msgstr "" +"B<int getaddrinfo(const char *>I<node>B<, const char *>I<service>B<,>\n" +"B< const struct addrinfo *>I<hints>B<,>\n" +"B< struct addrinfo **>I<res>B<);>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<void freeaddrinfo(struct addrinfo *>I<res>B<);>\n" +msgstr "B<void freeaddrinfo(struct addrinfo *>I<res>B<);>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<const char *gai_strerror(int >I<errcode>B<);>\n" +msgstr "B<const char *gai_strerror(int >I<errcode>B<);>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):" +msgstr "" +"Требования макроса тестирования свойств для glibc (см. " +"B<feature_test_macros>(7)):" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "B<freeaddrinfo>(),\n" +#| "B<gai_strerror>()" +msgid "B<getaddrinfo>(), B<freeaddrinfo>(), B<gai_strerror>():" +msgstr "" +"B<freeaddrinfo>(),\n" +"B<gai_strerror>()" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "" +#| "B<getnameinfo>():\n" +#| " Since glibc 2.22: _POSIX_C_SOURCE E<gt>= 201112L\n" +#| " Glibc 2.21 and earlier: _POSIX_C_SOURCE\n" +msgid "" +" Since glibc 2.22:\n" +" _POSIX_C_SOURCE E<gt>= 200112L\n" +" glibc 2.21 and earlier:\n" +" _POSIX_C_SOURCE\n" +msgstr "" +"B<getnameinfo>():\n" +" начиная с glibc 2.22: _POSIX_C_SOURCE E<gt>= 201112L\n" +" в glibc 2.21 и старее: _POSIX_C_SOURCE\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 "ОПИСАНИЕ" + +#. .BR getipnodebyname (3), +#. .BR getipnodebyaddr (3), +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Given I<node> and I<service>, which identify an Internet host and a service, " +"B<getaddrinfo>() returns one or more I<addrinfo> structures, each of which " +"contains an Internet address that can be specified in a call to B<bind>(2) " +"or B<connect>(2). The B<getaddrinfo>() function combines the functionality " +"provided by the B<gethostbyname>(3) and B<getservbyname>(3) functions into " +"a single interface, but unlike the latter functions, B<getaddrinfo>() is " +"reentrant and allows programs to eliminate IPv4-versus-IPv6 dependencies." +msgstr "" +"По заданным I<node> и I<service>, определяющим узел и службу Интернета, " +"B<getaddrinfo>() возвращает одну или несколько структур I<addrinfo>, каждая " +"из которых содержит Интернет-адрес, который можно передавать в вызов " +"B<bind>(2) или B<connect>(2). Функция B<getaddrinfo>() объединяет " +"возможности, предоставляемые функциями B<gethostbyname>(3) и " +"B<getservbyname>(3) в одном интерфейсе, но в отличие от этих функций, " +"B<getaddrinfo>() реентерабельна и позволяет программам не зависеть от IPv4 " +"или IPv6." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<addrinfo> structure used by B<getaddrinfo>() contains the following " +"fields:" +msgstr "" +"Структура I<addrinfo>, используемая в B<getaddrinfo>(), содержит следующие " +"поля:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"struct addrinfo {\n" +" int ai_flags;\n" +" int ai_family;\n" +" int ai_socktype;\n" +" int ai_protocol;\n" +" socklen_t ai_addrlen;\n" +" struct sockaddr *ai_addr;\n" +" char *ai_canonname;\n" +" struct addrinfo *ai_next;\n" +"};\n" +msgstr "" +"struct addrinfo {\n" +" int ai_flags;\n" +" int ai_family;\n" +" int ai_socktype;\n" +" int ai_protocol;\n" +" socklen_t ai_addrlen;\n" +" struct sockaddr *ai_addr;\n" +" char *ai_canonname;\n" +" struct addrinfo *ai_next;\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<hints> argument points to an I<addrinfo> structure that specifies " +"criteria for selecting the socket address structures returned in the list " +"pointed to by I<res>. If I<hints> is not NULL it points to an I<addrinfo> " +"structure whose I<ai_family>, I<ai_socktype>, and I<ai_protocol> specify " +"criteria that limit the set of socket addresses returned by " +"B<getaddrinfo>(), as follows:" +msgstr "" +"Аргумент I<hints> указывает на структуру I<addrinfo>, которая определяет " +"критерии выбора структур адреса сокета, возвращаемых в списке, указанном в " +"I<res>. Если I<hints> не является NULL, то он указывает на структуру " +"I<addrinfo>. В ней с помощью I<ai_family>, I<ai_socktype> и I<ai_protocol> " +"определяются критерии, ограничивающие набор адресов сокета, возвращаемых " +"B<getaddrinfo>():" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<ai_family>" +msgstr "I<ai_family>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This field specifies the desired address family for the returned addresses. " +"Valid values for this field include B<AF_INET> and B<AF_INET6>. The value " +"B<AF_UNSPEC> indicates that B<getaddrinfo>() should return socket addresses " +"for any address family (either IPv4 or IPv6, for example) that can be used " +"with I<node> and I<service>." +msgstr "" +"Это поле определяет предпочитаемое семейство адресов для возвращаемых " +"адресов. Правильными значениями для данного поля могут быть B<AF_INET> и " +"B<AF_INET6>. Значение B<AF_UNSPEC> отображает, что B<getaddrinfo>() должна " +"возвращать адреса сокета для любого семейства адресов (например, либо IPv4, " +"либо IPv6), которые в дальнейшем могут быть использованы вместе с I<node> и " +"I<service>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<ai_socktype>" +msgstr "I<ai_socktype>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This field specifies the preferred socket type, for example B<SOCK_STREAM> " +"or B<SOCK_DGRAM>. Specifying 0 in this field indicates that socket " +"addresses of any type can be returned by B<getaddrinfo>()." +msgstr "" +"Это поле определяет предпочитаемы тип сокета, например, B<SOCK_STREAM> или " +"B<SOCK_DGRAM>. Если в этом поле указан 0, то это означает, что " +"B<getaddrinfo>() может вернуть адреса сокета любого типа." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<ai_protocol>" +msgstr "I<ai_protocol>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This field specifies the protocol for the returned socket addresses. " +"Specifying 0 in this field indicates that socket addresses with any protocol " +"can be returned by B<getaddrinfo>()." +msgstr "" +"Это поле определяет протокол для возвращаемых адресов сокета. Если в этом " +"поле указан 0, то это означает, что B<getaddrinfo>() может вернуть адрес " +"сокета с любым протоколом." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<ai_flags>" +msgstr "I<ai_flags>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This field specifies additional options, described below. Multiple flags " +"are specified by bitwise OR-ing them together." +msgstr "" +"В этом поле задаются дополнительные параметры, описываемые ниже. Несколько " +"флагов указываются с логическим ИЛИ." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"All the other fields in the structure pointed to by I<hints> must contain " +"either 0 or a null pointer, as appropriate." +msgstr "" +"Все остальные поля структуры, указываемой I<hints>, должны содержать 0 или " +"указатель null, соответственно." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Specifying I<hints> as NULL is equivalent to setting I<ai_socktype> and " +"I<ai_protocol> to 0; I<ai_family> to B<AF_UNSPEC>; and I<ai_flags> to " +"B<(AI_V4MAPPED\\ |\\ AI_ADDRCONFIG)>. (POSIX specifies different defaults " +"for I<ai_flags>; see NOTES.) I<node> specifies either a numerical network " +"address (for IPv4, numbers-and-dots notation as supported by " +"B<inet_aton>(3); for IPv6, hexadecimal string format as supported by " +"B<inet_pton>(3)), or a network hostname, whose network addresses are looked " +"up and resolved. If I<hints.ai_flags> contains the B<AI_NUMERICHOST> flag, " +"then I<node> must be a numerical network address. The B<AI_NUMERICHOST> " +"flag suppresses any potentially lengthy network host address lookups." +msgstr "" +"Указание в I<hints> значения NULL эквивалентно установке I<ai_socktype> и " +"I<ai_protocol> равными 0; I<ai_family> присваивается B<AF_UNSPEC>; " +"I<ai_flags> присваивается B<(AI_V4MAPPED\\ |\\ AI_ADDRCONFIG)> (в POSIX " +"указаны другие значения по умолчанию для I<ai_flags>; смотрите ЗАМЕЧАНИЯ). В " +"I<node> задаётся либо числовой сетевой адрес (для IPv4 это цифро-точечная " +"нотация, которую поддерживает B<inet_aton>(3); для IPv6 это строка в " +"шестнадцатеричном формате, который поддерживает B<inet_pton>(3)), либо " +"сетевое имя узла, для которого в дальнейшем определяется адрес. Если в " +"I<hints.ai_flags> содержится флаг B<AI_NUMERICHOST>, тогда I<node> должен " +"иметь цифровой формат сетевого адреса. При B<AI_NUMERICHOST> любые возможные " +"преобразования сетевого адреса узла подавляются." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the B<AI_PASSIVE> flag is specified in I<hints.ai_flags>, and I<node> is " +"NULL, then the returned socket addresses will be suitable for B<bind>(2)ing " +"a socket that will B<accept>(2) connections. The returned socket address " +"will contain the \"wildcard address\" (B<INADDR_ANY> for IPv4 addresses, " +"B<IN6ADDR_ANY_INIT> for IPv6 address). The wildcard address is used by " +"applications (typically servers) that intend to accept connections on any " +"of the host's network addresses. If I<node> is not NULL, then the " +"B<AI_PASSIVE> flag is ignored." +msgstr "" +"Если в I<hints.ai_flags> указан флаг B<AI_PASSIVE> и I<node> равно NULL, то " +"возвращаемые адреса сокета будут пригодны для B<bind>(2) сокета, который " +"принимает соединение с помощью B<accept>(2). Возвращаемый адрес сокета будет " +"содержать «шаблонный адрес» (B<INADDR_ANY> для адресов IPv4, " +"B<IN6ADDR_ANY_INIT> для адреса IPv6). Шаблонный адрес используется в " +"приложениях (обычно, серверах), которым нужно принимать подключения с любых " +"сетевых адресов узлов. Если I<node> не равно NULL, то флаг B<AI_PASSIVE> " +"игнорируется." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the B<AI_PASSIVE> flag is not set in I<hints.ai_flags>, then the returned " +"socket addresses will be suitable for use with B<connect>(2), B<sendto>(2), " +"or B<sendmsg>(2). If I<node> is NULL, then the network address will be set " +"to the loopback interface address (B<INADDR_LOOPBACK> for IPv4 addresses, " +"B<IN6ADDR_LOOPBACK_INIT> for IPv6 address); this is used by applications " +"that intend to communicate with peers running on the same host." +msgstr "" +"Если флаг B<AI_PASSIVE> отсутствует в I<hints.ai_flags>, то возвращаемые " +"адреса сокета будут пригодны для использоваться в B<connect>(2), " +"B<sendto>(2), или B<sendmsg>(2). Если I<node> равно NULL, то сетевому адресу " +"будет назначен адрес кольцевого интерфейса (loopback) (B<INADDR_LOOPBACK> " +"для адресов IPv4, B<IN6ADDR_LOOPBACK_INIT> для адреса IPv6); это " +"используется в приложениях, которым нужно связываться с партнёрами, " +"запущенными на том же узле." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<service> sets the port in each returned address structure. If this " +"argument is a service name (see B<services>(5)), it is translated to the " +"corresponding port number. This argument can also be specified as a decimal " +"number, which is simply converted to binary. If I<service> is NULL, then " +"the port number of the returned socket addresses will be left " +"uninitialized. If B<AI_NUMERICSERV> is specified in I<hints.ai_flags> and " +"I<service> is not NULL, then I<service> must point to a string containing a " +"numeric port number. This flag is used to inhibit the invocation of a name " +"resolution service in cases where it is known not to be required." +msgstr "" +"В I<service> задаётся порт для каждой возвращаемой адресной структуры. Если " +"этот аргумент — имя службы (смотрите B<services>(5)), то он транслируется в " +"соответствующий номер порта. Также, данный параметр может быть указан в виде " +"десятичного числа, которое просто преобразуется в двоичную форму. Если " +"I<service> равно NULL, то номер порта возвращаемых сокетных адресов остаётся " +"неинициализированным. Если в I<hints.ai_flags> указан флаг B<AI_NUMERICSERV> " +"и I<service> не равно NULL, то значение I<service> должно указывать на " +"строку с числовым номером порта. Данный флаг используется для запрета вызова " +"службы определения имён, если известно, что она не требуется." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Either I<node> or I<service>, but not both, may be NULL." +msgstr "" +"Либо I<node>, либо I<service> (но не оба одновременно) могут быть равны NULL." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<getaddrinfo>() function allocates and initializes a linked list of " +"I<addrinfo> structures, one for each network address that matches I<node> " +"and I<service>, subject to any restrictions imposed by I<hints>, and returns " +"a pointer to the start of the list in I<res>. The items in the linked list " +"are linked by the I<ai_next> field." +msgstr "" +"Функция B<getaddrinfo>() выделяет место и инициализирует связный список " +"структур I<addrinfo>, по одной на каждый сетевой адрес, который совпадает с " +"I<node> и I<service>, в соответствии с любыми ограничениями, наложенными " +"I<hints>, и возвращает указатель на начало списка в I<res>. Элементы в " +"связном списке связаны через поле I<ai_next>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"There are several reasons why the linked list may have more than one " +"I<addrinfo> structure, including: the network host is multihomed, accessible " +"over multiple protocols (e.g., both B<AF_INET> and B<AF_INET6>); or the same " +"service is available from multiple socket types (one B<SOCK_STREAM> address " +"and another B<SOCK_DGRAM> address, for example). Normally, the application " +"should try using the addresses in the order in which they are returned. The " +"sorting function used within B<getaddrinfo>() is defined in RFC\\ 3484; the " +"order can be tweaked for a particular system by editing I</etc/gai.conf> " +"(available since glibc 2.5)." +msgstr "" +"Существует несколько причин того, почему связный список может содержать " +"более одной структуры I<addrinfo>: сетевой узел имеет несколько адресов, " +"доступен по нескольким протоколам (например, B<AF_INET> и B<AF_INET6>); " +"служба доступна через несколько типов сокетов (например, один её адрес — " +"B<SOCK_STREAM>, а второй — B<SOCK_DGRAM>). Обычно, приложение должно " +"стараться использовать адреса в том порядке, в котором они получены. Функция " +"сортировки, используемая в B<getaddrinfo>(), определена в RFC\\ 3484; в " +"системе порядок может быть изменён через файл I</etc/gai.conf> (доступен, " +"начиная с glibc 2.5)." + +#. Prior to glibc 2.3.4, the ai_canonname of each addrinfo +#. structure was set pointing to the canonical name; that was +#. more than POSIX.1-2001 specified, or other implementations provided. +#. MTK, Aug 05 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If I<hints.ai_flags> includes the B<AI_CANONNAME> flag, then the " +"I<ai_canonname> field of the first of the I<addrinfo> structures in the " +"returned list is set to point to the official name of the host." +msgstr "" +"Если в I<hints.ai_flags> выставлен флаг B<AI_CANONNAME>, то в поле " +"I<ai_canonname> первой из структур I<addrinfo> возвращаемого списка задаётся " +"указатель официального имени узла." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The remaining fields of each returned I<addrinfo> structure are initialized " +"as follows:" +msgstr "" +"Остальные поля каждой возвращаемой структуры I<addrinfo> инициализируются " +"следующим образом:" + +#. 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 I<ai_family>, I<ai_socktype>, and I<ai_protocol> fields return the " +"socket creation parameters (i.e., these fields have the same meaning as the " +"corresponding arguments of B<socket>(2)). For example, I<ai_family> might " +"return B<AF_INET> or B<AF_INET6>; I<ai_socktype> might return B<SOCK_DGRAM> " +"or B<SOCK_STREAM>; and I<ai_protocol> returns the protocol for the socket." +msgstr "" +"В полях I<ai_family>, I<ai_socktype> и I<ai_protocol> возвращаются параметры " +"создания сокета (т. е., эти поля имеют те же значения, что и соответствующие " +"аргументы в B<socket>(2)). Например, в I<ai_family> может вернуться " +"B<AF_INET> или B<AF_INET6>; в I<ai_socktype> может вернуться B<SOCK_DGRAM> " +"или B<SOCK_STREAM>; в I<ai_protocol> возвращается протокол сокета." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A pointer to the socket address is placed in the I<ai_addr> field, and the " +"length of the socket address, in bytes, is placed in the I<ai_addrlen> field." +msgstr "" +"Указатель на адрес сокета помещается в поле I<ai_addr>, а длина адреса " +"сокета (в байтах) помещается в поле I<ai_addrlen>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If I<hints.ai_flags> includes the B<AI_ADDRCONFIG> flag, then IPv4 addresses " +"are returned in the list pointed to by I<res> only if the local system has " +"at least one IPv4 address configured, and IPv6 addresses are returned only " +"if the local system has at least one IPv6 address configured. The loopback " +"address is not considered for this case as valid as a configured address. " +"This flag is useful on, for example, IPv4-only systems, to ensure that " +"B<getaddrinfo>() does not return IPv6 socket addresses that would always " +"fail in B<connect>(2) or B<bind>(2)." +msgstr "" +"Если в I<hints.ai_flags> содержится флаг B<AI_ADDRCONFIG>, то адреса IPv4, " +"возвращаются в списке, на который указывает I<res>, только, если в локальной " +"системе настроен, как минимум, один адрес IPv4, и адреса IPv6 возвращаются " +"только, если в локальной системе настроен, как минимум, один адрес IPv6. " +"Кольцевой (loopback) адрес в этом случае не учитывается как настроенный. " +"Этот флаг полезен, например в только IPv4-системах, чтобы B<getaddrinfo>() " +"не возвращал сокетные адреса IPv6, с которыми невозможно выполнить " +"B<connect>(2) или B<bind>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If I<hints.ai_flags> specifies the B<AI_V4MAPPED> flag, and I<hints." +"ai_family> was specified as B<AF_INET6>, and no matching IPv6 addresses " +"could be found, then return IPv4-mapped IPv6 addresses in the list pointed " +"to by I<res>. If both B<AI_V4MAPPED> and B<AI_ALL> are specified in I<hints." +"ai_flags>, then return both IPv6 and IPv4-mapped IPv6 addresses in the list " +"pointed to by I<res>. B<AI_ALL> is ignored if B<AI_V4MAPPED> is not also " +"specified." +msgstr "" +"Если в I<hints.ai_flags> содержится флаг B<AI_V4MAPPED> и в I<hints." +"ai_family> задан B<AF_INET6>, и не найдено подходящих адресов IPv6, то в " +"списке, на который указывает I<res>, возвращаются IPv6 адреса отображённых " +"адресов IPv4. Если в I<hints.ai_flags> указаны и B<AI_V4MAPPED>, и " +"B<AI_ALL>, то в списке, на который указывает I<res>, возвращаются и адреса " +"IPv6 и IPv6 адреса отображённых адресов IPv4. Флаг B<AI_ALL> игнорируется, " +"если с ним не задан B<AI_V4MAPPED>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<freeaddrinfo>() function frees the memory that was allocated for the " +"dynamically allocated linked list I<res>." +msgstr "" +"Функция B<freeaddrinfo>() освобождает память, которая была выделена для " +"динамического связного списка I<res>." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Extensions to getaddrinfo() for Internationalized Domain Names" +msgstr "Расширения getaddrinfo() для интернациональных доменных имён" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Starting with glibc 2.3.4, B<getaddrinfo>() has been extended to " +"selectively allow the incoming and outgoing hostnames to be transparently " +"converted to and from the Internationalized Domain Name (IDN) format (see " +"RFC 3490, I<Internationalizing Domain Names in Applications (IDNA)>). Four " +"new flags are defined:" +msgstr "" +"Начиная с glibc 2.3.4, B<getaddrinfo>() был расширен для выборочного " +"прозрачного разрешения исходящих и входящих адресов в формате " +"интернациональных доменных имен (IDN, см. RFC 3490, I<Internationalizing " +"Domain Names in Applications (IDNA)>). Было определено четыре новых флага:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<AI_IDN>" +msgstr "B<AI_IDN>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If this flag is specified, then the node name given in I<node> is converted " +"to IDN format if necessary. The source encoding is that of the current " +"locale." +msgstr "" +"Если указан этот флаг, то, в случае необходимости, имя узла, указанного в " +"I<node>, будет преобразовано в IDN-формат. Исходной кодировкой будет текущая " +"локаль." + +#. Implementation Detail: +#. To minimize effects on system performance the implementation might +#. want to check whether the input string contains any non-ASCII +#. characters. If there are none the IDN step can be skipped completely. +#. On systems which allow not-ASCII safe encodings for a locale this +#. might be a problem. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the input name contains non-ASCII characters, then the IDN encoding is " +"used. Those parts of the node name (delimited by dots) that contain non-" +"ASCII characters are encoded using ASCII Compatible Encoding (ACE) before " +"being passed to the name resolution functions." +msgstr "" +"Если имя на входе содержит символы не-ASCII, то будет задействовано " +"кодирование IDN. Части имени узла (разделенные точками), которые содержат " +"символы не-ASCII, будут закодированы с помощью ASCII Compatible Encoding " +"(ACE) прежде, чем будут переданы функциям преобразования имен" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<AI_CANONIDN>" +msgstr "B<AI_CANONIDN>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"After a successful name lookup, and if the B<AI_CANONNAME> flag was " +"specified, B<getaddrinfo>() will return the canonical name of the node " +"corresponding to the I<addrinfo> structure value passed back. The return " +"value is an exact copy of the value returned by the name resolution function." +msgstr "" +"При указанном флаге B<AI_CANONNAME> после успешного преобразования имени " +"B<getaddrinfo>() вернет каноничное имя узла согласно значению структуры " +"I<addrinfo>. Возвращаемое значение будет точной копией значения, " +"возвращенного функцией разрешения имени." + +#. Implementation Detail: +#. If no component of the returned name starts with xn\-\- the IDN +#. step can be skipped, therefore avoiding unnecessary slowdowns. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the name is encoded using ACE, then it will contain the I<xn--> prefix " +"for one or more components of the name. To convert these components into a " +"readable form the B<AI_CANONIDN> flag can be passed in addition to " +"B<AI_CANONNAME>. The resulting string is encoded using the current locale's " +"encoding." +msgstr "" +"Если имя закодировано с помощью ACE, то оно будет содержать префикс I<xn--> " +"для каждого из закодированных компонентов имени. Чтобы преобразовать эти " +"компоненты в читаемый вид, вместе с флагом B<AI_CANONNAME> следует передать " +"B<AI_CANONIDN>. Итоговая строка будет кодирована при помощи текущей локали." + +#. type: TP +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, fuzzy, no-wrap +#| msgid "B<AI_IDN_ALLOW_UNASSIGNED>, B<AI_IDN_USE_STD3_ASCII_RULES>" +msgid "B<AI_IDN_ALLOW_UNASSIGNED>" +msgstr "B<AI_IDN_ALLOW_UNASSIGNED>, B<AI_IDN_USE_STD3_ASCII_RULES>" + +#. type: TQ +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, fuzzy, no-wrap +#| msgid "B<AI_IDN_ALLOW_UNASSIGNED>, B<AI_IDN_USE_STD3_ASCII_RULES>" +msgid "B<AI_IDN_USE_STD3_ASCII_RULES>" +msgstr "B<AI_IDN_ALLOW_UNASSIGNED>, B<AI_IDN_USE_STD3_ASCII_RULES>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Setting these flags will enable the IDNA_ALLOW_UNASSIGNED (allow unassigned " +"Unicode code points) and IDNA_USE_STD3_ASCII_RULES (check output to make " +"sure it is a STD3 conforming hostname) flags respectively to be used in the " +"IDNA handling." +msgstr "" +"Установка этих флагов включает IDNA_ALLOW_UNASSIGNED (разрешать не " +"назначенные кодовые точки Юникода) и IDNA_USE_STD3_ASCII_RULES (проверять " +"вывод на соответствие имени узла STD3) соответственно для возможности работы " +"с IDNA." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "RETURN VALUE" +msgstr "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" + +#. FIXME glibc defines the following additional errors, some which +#. can probably be returned by getaddrinfo(); they need to +#. be documented. +#. #ifdef __USE_GNU +#. #define EAI_INPROGRESS -100 /* Processing request in progress. */ +#. #define EAI_CANCELED -101 /* Request canceled. */ +#. #define EAI_NOTCANCELED -102 /* Request not canceled. */ +#. #define EAI_ALLDONE -103 /* All requests done. */ +#. #define EAI_INTR -104 /* Interrupted by a signal. */ +#. #define EAI_IDN_ENCODE -105 /* IDN encoding failed. */ +#. #endif +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<getaddrinfo>() returns 0 if it succeeds, or one of the following nonzero " +"error codes:" +msgstr "" +"В случае успеха B<getaddrinfo>() возвращает 0, либо один из следующие " +"ненулевых кодов ошибки:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAI_ADDRFAMILY>" +msgstr "B<EAI_ADDRFAMILY>" + +#. Not in SUSv3 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The specified network host does not have any network addresses in the " +"requested address family." +msgstr "" +"У указанного сетевого узла нет сетевых адресов в запрашиваемом семействе " +"адресов." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAI_AGAIN>" +msgstr "B<EAI_AGAIN>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The name server returned a temporary failure indication. Try again later." +msgstr "Сервер имен вернул временную ошибку. Попробуйте позднее." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAI_BADFLAGS>" +msgstr "B<EAI_BADFLAGS>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<hints.ai_flags> contains invalid flags; or, I<hints.ai_flags> included " +"B<AI_CANONNAME> and I<name> was NULL." +msgstr "" +"В I<hints.ai_flags> содержатся неправильные флаги, либо I<hints.ai_flags> " +"содержит B<AI_CANONNAME>, а I<name> - NULL." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAI_FAIL>" +msgstr "B<EAI_FAIL>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The name server returned a permanent failure indication." +msgstr "Сервер имен вернул постоянную ошибку." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAI_FAMILY>" +msgstr "B<EAI_FAMILY>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The requested address family is not supported." +msgstr "Запрашиваемое семейство адресов не поддерживается." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAI_MEMORY>" +msgstr "B<EAI_MEMORY>" + +#. 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 "Не хватает памяти." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAI_NODATA>" +msgstr "B<EAI_NODATA>" + +#. Not in SUSv3 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The specified network host exists, but does not have any network addresses " +"defined." +msgstr "" +"Указанный сетевой узел существует, однако не имеет ни одного определенного " +"сетевого адреса." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAI_NONAME>" +msgstr "B<EAI_NONAME>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<node> or I<service> is not known; or both I<node> and I<service> are " +"NULL; or B<AI_NUMERICSERV> was specified in I<hints.ai_flags> and I<service> " +"was not a numeric port-number string." +msgstr "" +"I<node> или I<service> неизвестно; либо и I<node>, и I<service> равны NULL; " +"либо в I<hints.ai_flags> указан флаг B<AI_NUMERICSERV>, а I<service> не " +"является числовой строкой порта." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAI_SERVICE>" +msgstr "B<EAI_SERVICE>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The requested service is not available for the requested socket type. It " +"may be available through another socket type. For example, this error could " +"occur if I<service> was \"shell\" (a service available only on stream " +"sockets), and either I<hints.ai_protocol> was B<IPPROTO_UDP>, or I<hints." +"ai_socktype> was B<SOCK_DGRAM>; or the error could occur if I<service> was " +"not NULL, and I<hints.ai_socktype> was B<SOCK_RAW> (a socket type that does " +"not support the concept of services)." +msgstr "" +"Запрошенная служба не доступна для запрошенного типа сокета. Она может быть " +"доступна через другой тип сокета. Например, эта ошибка может возникнуть, " +"если в I<service> указан «shell» (служба, доступная только для потоковых " +"сокетов) при указанном в I<hints.ai_protocol> B<IPPROTO_UDP>, либо указанном " +"в I<hints.ai_socktype> B<SOCK_DGRAM>. Также ошибка может возникнуть, если " +"I<service> не равно NULL, а в I<hints.ai_socktype> указано значение " +"B<SOCK_RAW> (тип сокета, для которого концепция служб неприменима)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAI_SOCKTYPE>" +msgstr "B<EAI_SOCKTYPE>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The requested socket type is not supported. This could occur, for example, " +"if I<hints.ai_socktype> and I<hints.ai_protocol> are inconsistent (e.g., " +"B<SOCK_DGRAM> and B<IPPROTO_TCP>, respectively)." +msgstr "" +"Запрашиваемый тип сокетов не поддерживается. Такая ошибка может возникнуть, " +"если I<hints.ai_socktype> и I<hints.ai_protocol> противоречат друг другу " +"(например, B<SOCK_DGRAM> и B<IPPROTO_TCP> соответственно)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAI_SYSTEM>" +msgstr "B<EAI_SYSTEM>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "On error, -1 is returned, and I<errno> is set to indicate the error." +msgid "Other system error; I<errno> is set to indicate the error." +msgstr "" +"В случае ошибки возвращается -1, а I<errno> устанавливается в значение " +"ошибки." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<gai_strerror>() function translates these error codes to a human " +"readable string, suitable for error reporting." +msgstr "" +"Функция B<gai_strerror>() транслирует эти коды ошибок в читаемый формат, " +"подходящий для сообщений об ошибке." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "FILES" +msgstr "ФАЙЛЫ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "I</etc/gai.conf>" +msgstr "I</etc/gai.conf>" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ATTRIBUTES" +msgstr "АТРИБУТЫ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For an explanation of the terms used in this section, see B<attributes>(7)." +msgstr "Описание терминов данного раздела смотрите в B<attributes>(7)." + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Interface" +msgstr "Интерфейс" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Attribute" +msgstr "Атрибут" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Value" +msgstr "Значение" + +#. type: tbl table +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid ".na\n" +msgstr ".na\n" + +#. type: tbl table +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid ".nh\n" +msgstr ".nh\n" + +#. #-#-#-#-# archlinux: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TP +#. #-#-#-#-# debian-bookworm: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: tbl table +#. #-#-#-#-# debian-unstable: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TP +#. #-#-#-#-# fedora-40: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TP +#. #-#-#-#-# fedora-rawhide: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TP +#. #-#-#-#-# mageia-cauldron: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TP +#. #-#-#-#-# opensuse-leap-15-6: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TP +#. #-#-#-#-# opensuse-tumbleweed: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-# +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<getaddrinfo>()" +msgstr "B<getaddrinfo>()" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Thread safety" +msgstr "Безвредность в нитях" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "MT-Safe env locale" +msgstr "MT-Safe env locale" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<freeaddrinfo>(),\n" +"B<gai_strerror>()" +msgstr "" +"B<freeaddrinfo>(),\n" +"B<gai_strerror>()" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "MT-Safe" +msgstr "MT-Safe" + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "VERSIONS" +msgstr "ВЕРСИИ" + +#. POSIX.1-2001, POSIX.1-2008 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "According to POSIX.1, specifying I<hints> as NULL should cause " +#| "I<ai_flags> to be assumed as 0. The GNU C library instead assumes a " +#| "value of B<(AI_V4MAPPED\\ |\\ AI_ADDRCONFIG)> for this case, since this " +#| "value is considered an improvement on the specification." +msgid "" +"According to POSIX.1, specifying I<hints> as NULL should cause I<ai_flags> " +"to be assumed as 0. The GNU C library instead assumes a value of " +"B<(AI_V4MAPPED\\~|\\~AI_ADDRCONFIG)> for this case, since this value is " +"considered an improvement on the specification." +msgstr "" +"Согласно POSIX.1, при указании I<hints> в NULL I<ai_flags> должен " +"предполагаться как равный 0. Вместо этого библиотека GNU C в данном случае " +"предполагает значение B<(AI_V4MAPPED\\ |\\ AI_ADDRCONFIG)>, так как данное " +"значение было принято в качестве улучшения спецификации." + +#. 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 "POSIX.1-2008." + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "RFC\\ 2553." +msgstr "RFC\\ 2553." + +#. 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 "POSIX.1-2001." +msgstr "POSIX.1-2001." + +#. type: TP +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<AI_ADDRCONFIG>" +msgstr "B<AI_ADDRCONFIG>" + +#. type: TQ +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<AI_ALL>" +msgstr "B<AI_ALL>" + +#. type: TQ +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<AI_V4MAPPED>" +msgstr "B<AI_V4MAPPED>" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "Since glibc 2.2.2:" +msgid "glibc 2.3.3." +msgstr "Начиная с glibc 2.2.2:" + +#. type: TP +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "B<LC_NUMERIC>" +msgid "B<AI_NUMERICSERV>" +msgstr "B<LC_NUMERIC>" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "glibc 2.3.4." +msgstr "glibc 2.3.4." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NOTES" +msgstr "ЗАМЕЧАНИЯ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<getaddrinfo>() supports the I<address>B<%>I<scope-id> notation for " +"specifying the IPv6 scope-ID." +msgstr "" +"B<getaddrinfo>() поддерживает нотацию I<address>B<%>I<scope-id> для указания " +"IPv6 scope-ID." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "EXAMPLES" +msgstr "ПРИМЕРЫ" + +#. getnameinfo.3 refers to this example +#. socket.2 refers to this example +#. bind.2 refers to this example +#. connect.2 refers to this example +#. recvfrom.2 refers to this example +#. sendto.2 refers to this example +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The following programs demonstrate the use of B<getaddrinfo>(), " +"B<gai_strerror>(), B<freeaddrinfo>(), and B<getnameinfo>(3). The programs " +"are an echo server and client for UDP datagrams." +msgstr "" +"Следующие программы демонстрируют использование B<getaddrinfo>(), " +"B<gai_strerror>(), B<freeaddrinfo>() и B<getnameinfo>(3). Это программы эхо-" +"сервера и клиента UDP-дейтаграмм." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Server program" +msgstr "Серверная программа" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"#include E<lt>netdb.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>string.hE<gt>\n" +"#include E<lt>sys/socket.hE<gt>\n" +"#include E<lt>sys/types.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"\\&\n" +"#define BUF_SIZE 500\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int sfd, s;\n" +" char buf[BUF_SIZE];\n" +" ssize_t nread;\n" +" socklen_t peer_addrlen;\n" +" struct addrinfo hints;\n" +" struct addrinfo *result, *rp;\n" +" struct sockaddr_storage peer_addr;\n" +"\\&\n" +" if (argc != 2) {\n" +" fprintf(stderr, \"Usage: %s port\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" memset(&hints, 0, sizeof(hints));\n" +" hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */\n" +" hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n" +" hints.ai_flags = AI_PASSIVE; /* For wildcard IP address */\n" +" hints.ai_protocol = 0; /* Any protocol */\n" +" hints.ai_canonname = NULL;\n" +" hints.ai_addr = NULL;\n" +" hints.ai_next = NULL;\n" +"\\&\n" +" s = getaddrinfo(NULL, argv[1], &hints, &result);\n" +" if (s != 0) {\n" +" fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" /* getaddrinfo() returns a list of address structures.\n" +" Try each address until we successfully bind(2).\n" +" If socket(2) (or bind(2)) fails, we (close the socket\n" +" and) try the next address. */\n" +"\\&\n" +" for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n" +" sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype,\n" +" rp-E<gt>ai_protocol);\n" +" if (sfd == -1)\n" +" continue;\n" +"\\&\n" +" if (bind(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) == 0)\n" +" break; /* Success */\n" +"\\&\n" +" close(sfd);\n" +" }\n" +"\\&\n" +" freeaddrinfo(result); /* No longer needed */\n" +"\\&\n" +" if (rp == NULL) { /* No address succeeded */\n" +" fprintf(stderr, \"Could not bind\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" /* Read datagrams and echo them back to sender. */\n" +"\\&\n" +" for (;;) {\n" +" char host[NI_MAXHOST], service[NI_MAXSERV];\n" +"\\&\n" +" peer_addrlen = sizeof(peer_addr);\n" +" nread = recvfrom(sfd, buf, BUF_SIZE, 0,\n" +" (struct sockaddr *) &peer_addr, &peer_addrlen);\n" +" if (nread == -1)\n" +" continue; /* Ignore failed request */\n" +"\\&\n" +" s = getnameinfo((struct sockaddr *) &peer_addr,\n" +" peer_addrlen, host, NI_MAXHOST,\n" +" service, NI_MAXSERV, NI_NUMERICSERV);\n" +" if (s == 0)\n" +" printf(\"Received %zd bytes from %s:%s\\en\",\n" +" nread, host, service);\n" +" else\n" +" fprintf(stderr, \"getnameinfo: %s\\en\", gai_strerror(s));\n" +"\\&\n" +" if (sendto(sfd, buf, nread, 0, (struct sockaddr *) &peer_addr,\n" +" peer_addrlen) != nread)\n" +" {\n" +" fprintf(stderr, \"Error sending response\\en\");\n" +" }\n" +" }\n" +"}\n" +msgstr "" + +#. SRC END +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Client program" +msgstr "Клиентская программа" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"#include E<lt>netdb.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>string.hE<gt>\n" +"#include E<lt>sys/socket.hE<gt>\n" +"#include E<lt>sys/types.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"\\&\n" +"#define BUF_SIZE 500\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int sfd, s;\n" +" char buf[BUF_SIZE];\n" +" size_t len;\n" +" ssize_t nread;\n" +" struct addrinfo hints;\n" +" struct addrinfo *result, *rp;\n" +"\\&\n" +" if (argc E<lt> 3) {\n" +" fprintf(stderr, \"Usage: %s host port msg...\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" /* Obtain address(es) matching host/port. */\n" +"\\&\n" +" memset(&hints, 0, sizeof(hints));\n" +" hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */\n" +" hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n" +" hints.ai_flags = 0;\n" +" hints.ai_protocol = 0; /* Any protocol */\n" +"\\&\n" +" s = getaddrinfo(argv[1], argv[2], &hints, &result);\n" +" if (s != 0) {\n" +" fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" /* getaddrinfo() returns a list of address structures.\n" +" Try each address until we successfully connect(2).\n" +" If socket(2) (or connect(2)) fails, we (close the socket\n" +" and) try the next address. */\n" +"\\&\n" +" for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n" +" sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype,\n" +" rp-E<gt>ai_protocol);\n" +" if (sfd == -1)\n" +" continue;\n" +"\\&\n" +" if (connect(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) != -1)\n" +" break; /* Success */\n" +"\\&\n" +" close(sfd);\n" +" }\n" +"\\&\n" +" freeaddrinfo(result); /* No longer needed */\n" +"\\&\n" +" if (rp == NULL) { /* No address succeeded */\n" +" fprintf(stderr, \"Could not connect\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" /* Send remaining command-line arguments as separate\n" +" datagrams, and read responses from server. */\n" +"\\&\n" +" for (size_t j = 3; j E<lt> argc; j++) {\n" +" len = strlen(argv[j]) + 1;\n" +" /* +1 for terminating null byte */\n" +"\\&\n" +" if (len E<gt> BUF_SIZE) {\n" +" fprintf(stderr,\n" +" \"Ignoring long message in argument %zu\\en\", j);\n" +" continue;\n" +" }\n" +"\\&\n" +" if (write(sfd, argv[j], len) != len) {\n" +" fprintf(stderr, \"partial/failed write\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" nread = read(sfd, buf, BUF_SIZE);\n" +" if (nread == -1) {\n" +" perror(\"read\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" printf(\"Received %zd bytes: %s\\en\", nread, buf);\n" +" }\n" +"\\&\n" +" exit(EXIT_SUCCESS);\n" +"}\n" +msgstr "" + +#. SRC END +#. 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 "СМ. ТАКЖЕ" + +#. .BR getipnodebyaddr (3), +#. .BR getipnodebyname (3), +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron +msgid "" +"B<getaddrinfo_a>(3), B<gethostbyname>(3), B<getnameinfo>(3), B<inet>(3), " +"B<gai.conf>(5), B<hostname>(7), B<ip>(7)" +msgstr "" +"B<getaddrinfo_a>(3), B<gethostbyname>(3), B<getnameinfo>(3), B<inet>(3), " +"B<gai.conf>(5), B<hostname>(7), B<ip>(7)" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2023-02-05" +msgstr "5 февраля 2023 г." + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "Linux man-pages 6.03" + +#. type: TP +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<AI_IDN_ALLOW_UNASSIGNED>, B<AI_IDN_USE_STD3_ASCII_RULES>" +msgstr "B<AI_IDN_ALLOW_UNASSIGNED>, B<AI_IDN_USE_STD3_ASCII_RULES>" + +#. type: Plain text +#: debian-bookworm +msgid "" +"POSIX.1-2001, POSIX.1-2008. The B<getaddrinfo>() function is documented in " +"RFC\\ 2553." +msgstr "" +"POSIX.1-2001, POSIX.1-2008. Функция B<getaddrinfo>() описана в RFC\\ 2553." + +#. type: Plain text +#: debian-bookworm +msgid "" +"B<AI_ADDRCONFIG>, B<AI_ALL>, and B<AI_V4MAPPED> are available since glibc " +"2.3.3. B<AI_NUMERICSERV> is available since glibc 2.3.4." +msgstr "" +"B<AI_ADDRCONFIG>, B<AI_ALL> и B<AI_V4MAPPED> доступны, начиная с glibc " +"2.3.3. B<AI_NUMERICSERV> доступен, начиная с glibc 2.3.4." + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| "#include E<lt>sys/types.hE<gt>\n" +#| "#include E<lt>stdio.hE<gt>\n" +#| "#include E<lt>stdlib.hE<gt>\n" +#| "#include E<lt>unistd.hE<gt>\n" +#| "#include E<lt>string.hE<gt>\n" +#| "#include E<lt>sys/socket.hE<gt>\n" +#| "#include E<lt>netdb.hE<gt>\n" +msgid "" +"#include E<lt>netdb.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>string.hE<gt>\n" +"#include E<lt>sys/socket.hE<gt>\n" +"#include E<lt>sys/types.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +msgstr "" +"#include E<lt>sys/types.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"#include E<lt>string.hE<gt>\n" +"#include E<lt>sys/socket.hE<gt>\n" +"#include E<lt>netdb.hE<gt>\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "#define BUF_SIZE 500\n" +msgstr "#define BUF_SIZE 500\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| "struct addrinfo {\n" +#| " int ai_flags;\n" +#| " int ai_family;\n" +#| " int ai_socktype;\n" +#| " int ai_protocol;\n" +#| " socklen_t ai_addrlen;\n" +#| " struct sockaddr *ai_addr;\n" +#| " char *ai_canonname;\n" +#| " struct addrinfo *ai_next;\n" +#| "};\n" +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int sfd, s;\n" +" char buf[BUF_SIZE];\n" +" ssize_t nread;\n" +" socklen_t peer_addrlen;\n" +" struct addrinfo hints;\n" +" struct addrinfo *result, *rp;\n" +" struct sockaddr_storage peer_addr;\n" +msgstr "" +"struct addrinfo {\n" +" int ai_flags;\n" +" int ai_family;\n" +" int ai_socktype;\n" +" int ai_protocol;\n" +" socklen_t ai_addrlen;\n" +" struct sockaddr *ai_addr;\n" +" char *ai_canonname;\n" +" struct addrinfo *ai_next;\n" +"};\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (argc != 2) {\n" +" fprintf(stderr, \"Usage: %s port\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" +" if (argc != 2) {\n" +" fprintf(stderr, \"Usage: %s port\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " memset(&hints, 0, sizeof(struct addrinfo));\n" +#| " hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */\n" +#| " hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n" +#| " hints.ai_flags = AI_PASSIVE; /* For wildcard IP address */\n" +#| " hints.ai_protocol = 0; /* Any protocol */\n" +#| " hints.ai_canonname = NULL;\n" +#| " hints.ai_addr = NULL;\n" +#| " hints.ai_next = NULL;\n" +msgid "" +" memset(&hints, 0, sizeof(hints));\n" +" hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */\n" +" hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n" +" hints.ai_flags = AI_PASSIVE; /* For wildcard IP address */\n" +" hints.ai_protocol = 0; /* Any protocol */\n" +" hints.ai_canonname = NULL;\n" +" hints.ai_addr = NULL;\n" +" hints.ai_next = NULL;\n" +msgstr "" +" memset(&hints, 0, sizeof(struct addrinfo));\n" +" hints.ai_family = AF_UNSPEC; /* Разрешены IPv4 и IPv6 */\n" +" hints.ai_socktype = SOCK_DGRAM; /* Сокет для дейтаграмм */\n" +" hints.ai_flags = AI_PASSIVE; /* Для wildcard IP-адреса */\n" +" hints.ai_protocol = 0; /* Любой протокол */\n" +" hints.ai_canonname = NULL;\n" +" hints.ai_addr = NULL;\n" +" hints.ai_next = NULL;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" s = getaddrinfo(NULL, argv[1], &hints, &result);\n" +" if (s != 0) {\n" +" fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" +" s = getaddrinfo(NULL, argv[1], &hints, &result);\n" +" if (s != 0) {\n" +" fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n" +" exit(EXIT_FAILURE);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" /* getaddrinfo() returns a list of address structures.\n" +" Try each address until we successfully bind(2).\n" +" If socket(2) (or bind(2)) fails, we (close the socket\n" +" and) try the next address. */\n" +msgstr "" +" /* getaddrinfo() возвращает список структур адресов.\n" +" Идет проверка каждого адреса до успешного bind(2).\n" +" Если socket(2) (или bind(2)) терпит неудачу, мы (закрываем\n" +" сокет и) пробуем следующий. */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n" +" sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype,\n" +" rp-E<gt>ai_protocol);\n" +" if (sfd == -1)\n" +" continue;\n" +msgstr "" +" for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n" +" sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype,\n" +" rp-E<gt>ai_protocol);\n" +" if (sfd == -1)\n" +" continue;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (bind(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) == 0)\n" +" break; /* Success */\n" +msgstr "" +" if (bind(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) == 0)\n" +" break; /* Успех */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" close(sfd);\n" +" }\n" +msgstr "" +" close(sfd);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " freeaddrinfo(result); /* No longer needed */\n" +msgstr " freeaddrinfo(result); /* Больше не нужен */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (rp == NULL) { /* No address succeeded */\n" +" fprintf(stderr, \"Could not bind\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" +" if (rp == NULL) { /* Нет успешных адресов */\n" +" fprintf(stderr, \"Could not bind\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid " /* Read datagrams and echo them back to sender */\n" +msgid " /* Read datagrams and echo them back to sender. */\n" +msgstr " /* Читаем дейтаграмму и пересылаем ее назад отправителю */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid " char host[NI_MAXHOST], service[NI_MAXSERV];\n" +msgid "" +" for (;;) {\n" +" char host[NI_MAXHOST], service[NI_MAXSERV];\n" +msgstr " char host[NI_MAXHOST], service[NI_MAXSERV];\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " for (;;) {\n" +#| " peer_addr_len = sizeof(struct sockaddr_storage);\n" +#| " nread = recvfrom(sfd, buf, BUF_SIZE, 0,\n" +#| " (struct sockaddr *) &peer_addr, &peer_addr_len);\n" +#| " if (nread == -1)\n" +#| " continue; /* Ignore failed request */\n" +msgid "" +" peer_addrlen = sizeof(peer_addr);\n" +" nread = recvfrom(sfd, buf, BUF_SIZE, 0,\n" +" (struct sockaddr *) &peer_addr, &peer_addrlen);\n" +" if (nread == -1)\n" +" continue; /* Ignore failed request */\n" +msgstr "" +" for (;;) {\n" +" peer_addr_len = sizeof(struct sockaddr_storage);\n" +" nread = recvfrom(sfd, buf, BUF_SIZE, 0,\n" +" (struct sockaddr *) &peer_addr, &peer_addr_len);\n" +" if (nread == -1)\n" +" continue; /* Игнорируем запрос с ошибкой */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " s = getnameinfo((struct sockaddr *) &peer_addr,\n" +#| " peer_addr_len, host, NI_MAXHOST,\n" +#| " service, NI_MAXSERV, NI_NUMERICSERV);\n" +#| " if (s == 0)\n" +#| " printf(\"Received %zd bytes from %s:%s\\en\",\n" +#| " nread, host, service);\n" +#| " else\n" +#| " fprintf(stderr, \"getnameinfo: %s\\en\", gai_strerror(s));\n" +msgid "" +" s = getnameinfo((struct sockaddr *) &peer_addr,\n" +" peer_addrlen, host, NI_MAXHOST,\n" +" service, NI_MAXSERV, NI_NUMERICSERV);\n" +" if (s == 0)\n" +" printf(\"Received %zd bytes from %s:%s\\en\",\n" +" nread, host, service);\n" +" else\n" +" fprintf(stderr, \"getnameinfo: %s\\en\", gai_strerror(s));\n" +msgstr "" +" s = getnameinfo((struct sockaddr *) &peer_addr,\n" +" peer_addr_len, host, NI_MAXHOST,\n" +" service, NI_MAXSERV, NI_NUMERICSERV);\n" +" if (s == 0)\n" +" printf(\"Получено %zd байт из %s:%s\\en\",\n" +" nread, host, service);\n" +" else\n" +" fprintf(stderr, \"getnameinfo: %s\\en\", gai_strerror(s));\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " if (sendto(sfd, buf, nread, 0,\n" +#| " (struct sockaddr *) &peer_addr,\n" +#| " peer_addr_len) != nread)\n" +#| " fprintf(stderr, \"Error sending response\\en\");\n" +#| " }\n" +#| "}\n" +msgid "" +" if (sendto(sfd, buf, nread, 0, (struct sockaddr *) &peer_addr,\n" +" peer_addrlen) != nread)\n" +" {\n" +" fprintf(stderr, \"Error sending response\\en\");\n" +" }\n" +" }\n" +"}\n" +msgstr "" +" if (sendto(sfd, buf, nread, 0,\n" +" (struct sockaddr *) &peer_addr,\n" +" peer_addr_len) != nread)\n" +" fprintf(stderr, \"Ошибка отправки ответа\\en\");\n" +" }\n" +"}\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| "int\n" +#| "main(int argc, char *argv[])\n" +#| "{\n" +#| " int fd, nread;\n" +#| " char buf[BUF_SIZE];\n" +#| " struct linux_dirent *d;\n" +#| " int bpos;\n" +#| " char d_type;\n" +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int sfd, s;\n" +" char buf[BUF_SIZE];\n" +" size_t len;\n" +" ssize_t nread;\n" +" struct addrinfo hints;\n" +" struct addrinfo *result, *rp;\n" +msgstr "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int fd, nread;\n" +" char buf[BUF_SIZE];\n" +" struct linux_dirent *d;\n" +" int bpos;\n" +" char d_type;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (argc E<lt> 3) {\n" +" fprintf(stderr, \"Usage: %s host port msg...\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" +" if (argc E<lt> 3) {\n" +" fprintf(stderr, \"Usage: %s host port msg...\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid " /* Obtain address(es) matching host/port */\n" +msgid " /* Obtain address(es) matching host/port. */\n" +msgstr " /* Получаем адрес(а), соответствующие узлу/порту */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " memset(&hints, 0, sizeof(struct addrinfo));\n" +#| " hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */\n" +#| " hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n" +#| " hints.ai_flags = 0;\n" +#| " hints.ai_protocol = 0; /* Any protocol */\n" +msgid "" +" memset(&hints, 0, sizeof(hints));\n" +" hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */\n" +" hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n" +" hints.ai_flags = 0;\n" +" hints.ai_protocol = 0; /* Any protocol */\n" +msgstr "" +" memset(&hints, 0, sizeof(struct addrinfo));\n" +" hints.ai_family = AF_UNSPEC; /* Разрешены IPv4 и IPv6 */\n" +" hints.ai_socktype = SOCK_DGRAM; /* Сокет дейтаграмм */\n" +" hints.ai_flags = 0;\n" +" hints.ai_protocol = 0; /* Любой протокол */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" s = getaddrinfo(argv[1], argv[2], &hints, &result);\n" +" if (s != 0) {\n" +" fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" +" s = getaddrinfo(argv[1], argv[2], &hints, &result);\n" +" if (s != 0) {\n" +" fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n" +" exit(EXIT_FAILURE);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" /* getaddrinfo() returns a list of address structures.\n" +" Try each address until we successfully connect(2).\n" +" If socket(2) (or connect(2)) fails, we (close the socket\n" +" and) try the next address. */\n" +msgstr "" +" /* getaddrinfo() возвращает список структур адресов.\n" +" Идет проверка каждого адреса до успешного connect(2).\n" +" Если socket(2) (или connect(2)) терпит неудачу, мы (закрываем\n" +" сокет и) пробуем следующий. */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (connect(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) != -1)\n" +" break; /* Success */\n" +msgstr "" +" if (connect(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) != -1)\n" +" break; /* Успех */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (rp == NULL) { /* No address succeeded */\n" +" fprintf(stderr, \"Could not connect\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" +" if (rp == NULL) { /* Нет успешных адресов */\n" +" fprintf(stderr, \"Could not connect\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " /* Send remaining command-line arguments as separate\n" +#| " datagrams, and read responses from server */\n" +msgid "" +" /* Send remaining command-line arguments as separate\n" +" datagrams, and read responses from server. */\n" +msgstr "" +" /* Отправляем оставшиеся аргументы командной строки\n" +" в виде отдельных дейтаграмм и ждем ответа от сервера */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " for (j = 3; j E<lt> argc; j++) {\n" +#| " len = strlen(argv[j]) + 1;\n" +#| " /* +1 for terminating null byte */\n" +msgid "" +" for (size_t j = 3; j E<lt> argc; j++) {\n" +" len = strlen(argv[j]) + 1;\n" +" /* +1 for terminating null byte */\n" +msgstr "" +" for (j = 3; j E<lt> argc; j++) {\n" +" len = strlen(argv[j]) + 1;\n" +" /* +1 для завершающего null-байта */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " if (len E<gt> BUF_SIZE) {\n" +#| " fprintf(stderr,\n" +#| " \"Ignoring long message in argument %d\\en\", j);\n" +#| " continue;\n" +#| " }\n" +msgid "" +" if (len E<gt> BUF_SIZE) {\n" +" fprintf(stderr,\n" +" \"Ignoring long message in argument %zu\\en\", j);\n" +" continue;\n" +" }\n" +msgstr "" +" if (len E<gt> BUF_SIZE) {\n" +" fprintf(stderr,\n" +" \"Игнорируем длинное сообщение в аргументе %d\\en\", j);\n" +" continue;\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (write(sfd, argv[j], len) != len) {\n" +" fprintf(stderr, \"partial/failed write\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" +" if (write(sfd, argv[j], len) != len) {\n" +" fprintf(stderr, \"partial/failed write\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" nread = read(sfd, buf, BUF_SIZE);\n" +" if (nread == -1) {\n" +" perror(\"read\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" +" nread = read(sfd, buf, BUF_SIZE);\n" +" if (nread == -1) {\n" +" perror(\"read\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" printf(\"Received %zd bytes: %s\\en\", nread, buf);\n" +" }\n" +msgstr "" +" printf(\"Получено %zd байт: %s\\en\", nread, buf);\n" +" }\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: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-07-20" +msgstr "20 июля 2023 г." + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "Linux man-pages 6.05.01" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "30 марта 2023 г." + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "Linux man-pages 6.04" + +#. .BR getipnodebyaddr (3), +#. .BR getipnodebyname (3), +#. type: Plain text +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "B<getaddrinfo_a>(3), B<gethostbyname>(3), B<getnameinfo>(3), B<inet>(3), " +#| "B<gai.conf>(5), B<hostname>(7), B<ip>(7)" +msgid "" +"B<getaddrinfo_a>(3), B<gethostbyname>(3), B<getnameinfo>(3), B<gai.conf>(5), " +"B<inet>(3), B<gai.conf>(5), B<hostname>(7), B<ip>(7)" +msgstr "" +"B<getaddrinfo_a>(3), B<gethostbyname>(3), B<getnameinfo>(3), B<inet>(3), " +"B<gai.conf>(5), B<hostname>(7), B<ip>(7)" |