summaryrefslogtreecommitdiffstats
path: root/po/ru/man3/getprotoent_r.3.po
diff options
context:
space:
mode:
Diffstat (limited to 'po/ru/man3/getprotoent_r.3.po')
-rw-r--r--po/ru/man3/getprotoent_r.3.po804
1 files changed, 804 insertions, 0 deletions
diff --git a/po/ru/man3/getprotoent_r.3.po b/po/ru/man3/getprotoent_r.3.po
new file mode 100644
index 00000000..080c2d23
--- /dev/null
+++ b/po/ru/man3/getprotoent_r.3.po
@@ -0,0 +1,804 @@
+# 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:57+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<getprotoent_r>(),\n"
+msgid "getprotoent_r"
+msgstr "B<getprotoent_r>(),\n"
+
+#. 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 ""
+"getprotoent_r, getprotobyname_r, getprotobynumber_r - get protocol entry "
+"(reentrant)"
+msgstr ""
+"getprotoent_r, getprotobyname_r, getprotobynumber_r - возвращают запись о "
+"протоколе (реентерабельные версии)"
+
+#. 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>netdb.hE<gt>>\n"
+msgstr "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
+#, no-wrap
+msgid ""
+"B<int getprotoent_r(struct protoent *restrict >I<result_buf>B<,>\n"
+"B< char >I<buf>B<[restrict .>I<buflen>B<], size_t >I<buflen>B<,>\n"
+"B< struct protoent **restrict >I<result>B<);>\n"
+"B<int getprotobyname_r(const char *restrict >I<name>B<,>\n"
+"B< struct protoent *restrict >I<result_buf>B<,>\n"
+"B< char >I<buf>B<[restrict .>I<buflen>B<], size_t >I<buflen>B<,>\n"
+"B< struct protoent **restrict >I<result>B<);>\n"
+"B<int getprotobynumber_r(int >I<proto>B<,>\n"
+"B< struct protoent *restrict >I<result_buf>B<,>\n"
+"B< char >I<buf>B<[restrict .>I<buflen>B<], size_t >I<buflen>B<,>\n"
+"B< struct protoent **restrict >I<result>B<);>\n"
+msgstr ""
+
+#. 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<getrpcent_r>(),\n"
+#| "B<getrpcbyname_r>(),\n"
+#| "B<getrpcbynumber_r>()"
+msgid "B<getprotoent_r>(), B<getprotobyname_r>(), B<getprotobynumber_r>():"
+msgstr ""
+"B<getrpcent_r>(),\n"
+"B<getrpcbyname_r>(),\n"
+"B<getrpcbynumber_r>()"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+" Since glibc 2.19:\n"
+" _DEFAULT_SOURCE\n"
+" glibc 2.19 and earlier:\n"
+" _BSD_SOURCE || _SVID_SOURCE\n"
+msgstr ""
+" начиная с glibc 2.19:\n"
+" _DEFAULT_SOURCE\n"
+" в glibc 2.19 и старее:\n"
+" _BSD_SOURCE || _SVID_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 "ОПИСАНИЕ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<getprotoent_r>(), B<getprotobyname_r>(), and B<getprotobynumber_r>() "
+"functions are the reentrant equivalents of, respectively, B<getprotoent>(3), "
+"B<getprotobyname>(3), and B<getprotobynumber>(3). They differ in the way "
+"that the I<protoent> structure is returned, and in the function calling "
+"signature and return value. This manual page describes just the differences "
+"from the nonreentrant functions."
+msgstr ""
+"Функции B<getprotoent_r>(), B<getprotobyname_r>() и B<getprotobynumber_r>() "
+"являются реентерабельными эквивалентами B<getprotoent>(3), "
+"B<getprotobyname>(3) и B<getprotobynumber>(3), соответственно. Они "
+"отличаются способом возврата структуры I<protoent>, списком параметров и "
+"типом возвращаемого значения. В этой справочной странице описаны только "
+"различия с нереентерабельными функциями."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Instead of returning a pointer to a statically allocated I<protoent> "
+"structure as the function result, these functions copy the structure into "
+"the location pointed to by I<result_buf>."
+msgstr ""
+"Вместо возврата указателя на статически выделенную структуру I<protoent> в "
+"качестве результата эти функции копируют структуру в расположение, указанное "
+"I<result_buf>."
+
+#. I can find no information on the required/recommended buffer size;
+#. the nonreentrant functions use a 1024 byte buffer.
+#. The 1024 byte value is also what the Solaris man page suggests. -- mtk
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<buf> array is used to store the string fields pointed to by the "
+"returned I<protoent> structure. (The nonreentrant functions allocate these "
+"strings in static storage.) The size of this array is specified in "
+"I<buflen>. If I<buf> is too small, the call fails with the error B<ERANGE>, "
+"and the caller must try again with a larger buffer. (A buffer of length "
+"1024 bytes should be sufficient for most applications.)"
+msgstr ""
+"Массив I<buf> используется для хранения строковых полей из возвращаемой "
+"структуры I<protoent> (нереентерабельные функции выделяют эти строки из "
+"статического хранилища). Размер данного массива задаётся в I<buflen>. Если "
+"I<buf> слишком мал, то вызов завершается с ошибкой B<ERANGE>, вызывающий "
+"должен его повторить с большим буфером (для большинства приложений должно "
+"быть достаточно буфера длиной 1024 байт)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the function call successfully obtains a protocol record, then I<*result> "
+"is set pointing to I<result_buf>; otherwise, I<*result> is set to NULL."
+msgstr ""
+"Если вызов получил запись о протоколе, то I<*result> указывает на "
+"I<result_buf>; в противном случае I<*result> устанавливается в NULL."
+
+#. 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 "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"On success, these functions return 0. On error, they return one of the "
+"positive error numbers listed in ERRORS."
+msgstr ""
+"При успешном выполнении эти функции возвращают 0. При ошибке возвращается "
+"одно из положительных значений, перечисленных В разделе ОШИБКИ."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"On error, record not found (B<getprotobyname_r>(), B<getprotobynumber_r>()), "
+"or end of input (B<getprotoent_r>()) I<result> is set to NULL."
+msgstr ""
+"При ошибке, отсутствии записи (B<getprotobyname_r>(), "
+"B<getprotobynumber_r>()) или конце данных (B<getprotoent_r>()) значение "
+"I<result> равно NULL."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ERRORS"
+msgstr "ОШИБКИ"
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ENOENT>"
+msgstr "B<ENOENT>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "(B<getprotoent_r>()) No more records in database."
+msgstr "(B<getprotoent_r>()) Больше нет записей в базе данных."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ERANGE>"
+msgstr "B<ERANGE>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"I<buf> is too small. Try again with a larger buffer (and increased "
+"I<buflen>)."
+msgstr ""
+"Размер I<buf> слишком мал. Попробуйте ещё раз с большим буфером (и "
+"увеличенным значением I<buflen>)."
+
+#. 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"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid ""
+#| "B<getrpcent_r>(),\n"
+#| "B<getrpcbyname_r>(),\n"
+#| "B<getrpcbynumber_r>()"
+msgid ""
+"B<getprotoent_r>(),\n"
+"B<getprotobyname_r>(),\n"
+"B<getprotobynumber_r>()"
+msgstr ""
+"B<getrpcent_r>(),\n"
+"B<getrpcbyname_r>(),\n"
+"B<getrpcbynumber_r>()"
+
+#. 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 locale"
+msgstr "MT-Safe locale"
+
+#. type: SH
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "VERSIONS"
+msgstr "ВЕРСИИ"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "These functions are GNU extensions. Functions with similar names exist "
+#| "on some other systems, though typically with different calling signatures."
+msgid ""
+"Functions with similar names exist on some other systems, though typically "
+"with different calling signatures."
+msgstr ""
+"Эти функции являются расширениями GNU. Функции с похожими именами есть и в "
+"других системах, хотя и с другим набором параметров."
+
+#. 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 "GNU."
+msgstr "GNU."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "EXAMPLES"
+msgstr "ПРИМЕРЫ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The program below uses B<getprotobyname_r>() to retrieve the protocol "
+"record for the protocol named in its first command-line argument. If a "
+"second (integer) command-line argument is supplied, it is used as the "
+"initial value for I<buflen>; if B<getprotobyname_r>() fails with the error "
+"B<ERANGE>, the program retries with larger buffer sizes. The following "
+"shell session shows a couple of sample runs:"
+msgstr ""
+"Программа, представленная ниже, использует B<getprotobyname_r>() для "
+"получения записи о протоколе с именем, указанным в командной строке. Если "
+"задан второй параметр (целое), то он используется как начальное значение "
+"I<buflen>; если B<getprotobyname_r>() завершается с ошибкой B<ERANGE>, то "
+"программа повторяет попытки с большими значениями буфера. Пара примеров "
+"работы в сеансовой оболочке:"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"$B< ./a.out tcp 1>\n"
+"ERANGE! Retrying with larger buffer\n"
+"getprotobyname_r() returned: 0 (success) (buflen=78)\n"
+"p_name=tcp; p_proto=6; aliases=TCP\n"
+"$B< ./a.out xxx 1>\n"
+"ERANGE! Retrying with larger buffer\n"
+"getprotobyname_r() returned: 0 (success) (buflen=100)\n"
+"Call failed/record not found\n"
+msgstr ""
+"$B< ./a.out tcp 1>\n"
+"ERANGE! Повтор с большим буфером\n"
+"результат getprotobyname_r(): 0 (успешно) (buflen=78)\n"
+"p_name=tcp; p_proto=6; aliases=TCP\n"
+"$B< ./a.out xxx 1>\n"
+"ERANGE! Повтор с большим буфером\n"
+"результат getprotobyname_r(): 0 (успешно) (buflen=100)\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 "Исходный код программы"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"#define _GNU_SOURCE\n"
+"#include E<lt>ctype.hE<gt>\n"
+"#include E<lt>errno.hE<gt>\n"
+"#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"
+"\\&\n"
+"#define MAX_BUF 10000\n"
+"\\&\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int buflen, erange_cnt, s;\n"
+" struct protoent result_buf;\n"
+" struct protoent *result;\n"
+" char buf[MAX_BUF];\n"
+"\\&\n"
+" if (argc E<lt> 2) {\n"
+" printf(\"Usage: %s proto-name [buflen]\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" buflen = 1024;\n"
+" if (argc E<gt> 2)\n"
+" buflen = atoi(argv[2]);\n"
+"\\&\n"
+" if (buflen E<gt> MAX_BUF) {\n"
+" printf(\"Exceeded buffer limit (%d)\\en\", MAX_BUF);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" erange_cnt = 0;\n"
+" do {\n"
+" s = getprotobyname_r(argv[1], &result_buf,\n"
+" buf, buflen, &result);\n"
+" if (s == ERANGE) {\n"
+" if (erange_cnt == 0)\n"
+" printf(\"ERANGE! Retrying with larger buffer\\en\");\n"
+" erange_cnt++;\n"
+"\\&\n"
+" /* Increment a byte at a time so we can see exactly\n"
+" what size buffer was required. */\n"
+"\\&\n"
+" buflen++;\n"
+"\\&\n"
+" if (buflen E<gt> MAX_BUF) {\n"
+" printf(\"Exceeded buffer limit (%d)\\en\", MAX_BUF);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+" }\n"
+" } while (s == ERANGE);\n"
+"\\&\n"
+" printf(\"getprotobyname_r() returned: %s (buflen=%d)\\en\",\n"
+" (s == 0) ? \"0 (success)\" : (s == ENOENT) ? \"ENOENT\" :\n"
+" strerror(s), buflen);\n"
+"\\&\n"
+" if (s != 0 || result == NULL) {\n"
+" printf(\"Call failed/record not found\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" printf(\"p_name=%s; p_proto=%d; aliases=\",\n"
+" result_buf.p_name, result_buf.p_proto);\n"
+" for (char **p = result_buf.p_aliases; *p != NULL; p++)\n"
+" printf(\"%s \", *p);\n"
+" printf(\"\\en\");\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 "СМ. ТАКЖЕ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "B<getprotoent>(3), B<protocols>(5)"
+msgstr "B<getprotoent>(3), B<protocols>(5)"
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "2023-02-05"
+msgstr "5 февраля 2023 г."
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "Linux man-pages 6.03"
+msgstr "Linux man-pages 6.03"
+
+#. type: Plain text
+#: debian-bookworm
+msgid ""
+"These functions are GNU extensions. Functions with similar names exist on "
+"some other systems, though typically with different calling signatures."
+msgstr ""
+"Эти функции являются расширениями GNU. Функции с похожими именами есть и в "
+"других системах, хотя и с другим набором параметров."
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#define _GNU_SOURCE\n"
+"#include E<lt>ctype.hE<gt>\n"
+"#include E<lt>errno.hE<gt>\n"
+"#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"
+msgstr ""
+"#define _GNU_SOURCE\n"
+"#include E<lt>ctype.hE<gt>\n"
+"#include E<lt>errno.hE<gt>\n"
+"#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"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "#define MAX_BUF 10000\n"
+msgstr "#define MAX_BUF 10000\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| "int\n"
+#| "main(int argc, char *argv[])\n"
+#| "{\n"
+#| " int buflen, erange_cnt, s;\n"
+#| " struct protoent result_buf;\n"
+#| " struct protoent *result;\n"
+#| " char buf[MAX_BUF];\n"
+#| " char **p;\n"
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int buflen, erange_cnt, s;\n"
+" struct protoent result_buf;\n"
+" struct protoent *result;\n"
+" char buf[MAX_BUF];\n"
+msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int buflen, erange_cnt, s;\n"
+" struct protoent result_buf;\n"
+" struct protoent *result;\n"
+" char buf[MAX_BUF];\n"
+" char **p;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (argc E<lt> 2) {\n"
+" printf(\"Usage: %s proto-name [buflen]\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" if (argc E<lt> 2) {\n"
+" printf(\"Использование: %s имя-протокола [длина-буф]\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" buflen = 1024;\n"
+" if (argc E<gt> 2)\n"
+" buflen = atoi(argv[2]);\n"
+msgstr ""
+" buflen = 1024;\n"
+" if (argc E<gt> 2)\n"
+" buflen = atoi(argv[2]);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (buflen E<gt> MAX_BUF) {\n"
+" printf(\"Exceeded buffer limit (%d)\\en\", MAX_BUF);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" if (buflen E<gt> MAX_BUF) {\n"
+" printf(\"Превышен размер буфера (%d)\\en\", MAX_BUF);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| " erange_cnt = 0;\n"
+#| " do {\n"
+#| " s = getprotobyname_r(argv[1], &result_buf,\n"
+#| " buf, buflen, &result);\n"
+#| " if (s == ERANGE) {\n"
+#| " if (erange_cnt == 0)\n"
+#| " printf(\"ERANGE! Retrying with larger buffer\\en\");\n"
+#| " erange_cnt++;\n"
+msgid ""
+" erange_cnt = 0;\n"
+" do {\n"
+" s = getprotobyname_r(argv[1], &result_buf,\n"
+" buf, buflen, &result);\n"
+" if (s == ERANGE) {\n"
+" if (erange_cnt == 0)\n"
+" printf(\"ERANGE! Retrying with larger buffer\\en\");\n"
+" erange_cnt++;\n"
+msgstr ""
+" erange_cnt = 0;\n"
+" do {\n"
+" s = getprotobyname_r(argv[1], &result_buf,\n"
+" buf, buflen, &result);\n"
+" if (s == ERANGE) {\n"
+" if (erange_cnt == 0)\n"
+" printf(\"ERANGE! Повтор с большим буфером\\en\");\n"
+" erange_cnt++;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* Increment a byte at a time so we can see exactly\n"
+" what size buffer was required. */\n"
+msgstr ""
+" /* Увеличиваем по байту за раз для того, чтобы мы могли\n"
+" точно узнать какой размер буфера требуется. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " buflen++;\n"
+msgstr " buflen++;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (buflen E<gt> MAX_BUF) {\n"
+" printf(\"Exceeded buffer limit (%d)\\en\", MAX_BUF);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+" }\n"
+" } while (s == ERANGE);\n"
+msgstr ""
+" if (buflen E<gt> MAX_BUF) {\n"
+" printf(\"Превышен размер буфера (%d)\\en\", MAX_BUF);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+" }\n"
+" } while (s == ERANGE);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| " printf(\"getprotobyname_r() returned: %s (buflen=%d)\\en\",\n"
+#| " (s == 0) ? \"0 (success)\" : (s == ENOENT) ? \"ENOENT\" :\n"
+#| " strerror(s), buflen);\n"
+msgid ""
+" printf(\"getprotobyname_r() returned: %s (buflen=%d)\\en\",\n"
+" (s == 0) ? \"0 (success)\" : (s == ENOENT) ? \"ENOENT\" :\n"
+" strerror(s), buflen);\n"
+msgstr ""
+" printf(\"результат getprotobyname_r(): %s (buflen=%d)\\en\",\n"
+" (s == 0) ? \"0 (успешно)\" : (s == ENOENT) ? \"ENOENT\" :\n"
+" strerror(s), buflen);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (s != 0 || result == NULL) {\n"
+" printf(\"Call failed/record not found\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" if (s != 0 || result == NULL) {\n"
+" printf(\"Ошибка вызова/запись не найдена\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| " printf(\"p_name=%s; p_proto=%d; aliases=\",\n"
+#| " result_buf.p_name, result_buf.p_proto);\n"
+#| " for (p = result_buf.p_aliases; *p != NULL; p++)\n"
+#| " printf(\"%s \", *p);\n"
+#| " printf(\"\\en\");\n"
+msgid ""
+" printf(\"p_name=%s; p_proto=%d; aliases=\",\n"
+" result_buf.p_name, result_buf.p_proto);\n"
+" for (char **p = result_buf.p_aliases; *p != NULL; p++)\n"
+" printf(\"%s \", *p);\n"
+" printf(\"\\en\");\n"
+msgstr ""
+" printf(\"p_name=%s; p_proto=%d; aliases=\",\n"
+" result_buf.p_name, result_buf.p_proto);\n"
+" for (p = result_buf.p_aliases; *p != NULL; p++)\n"
+" printf(\"%s \", *p);\n"
+" printf(\"\\en\");\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"