# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2024-06-01 05:53+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "getprotoent_r" msgstr "" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "" #. type: TH #: archlinux debian-unstable #, no-wrap msgid "Linux man-pages 6.8" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "getprotoent_r, getprotobyname_r, getprotobynumber_r - get protocol entry " "(reentrant)" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Standard C library (I, 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 Enetdb.hE>\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<,>\n" "B< char >IB<[restrict .>IB<], size_t >IB<,>\n" "B< struct protoent **restrict >IB<);>\n" "BIB<,>\n" "B< struct protoent *restrict >IB<,>\n" "B< char >IB<[restrict .>IB<], size_t >IB<,>\n" "B< struct protoent **restrict >IB<);>\n" "BIB<,>\n" "B< struct protoent *restrict >IB<,>\n" "B< char >IB<[restrict .>IB<], size_t >IB<,>\n" "B< struct protoent **restrict >IB<);>\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(7)):" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B(), B(), B():" msgstr "" #. 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 "" #. 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(), B(), and B() " "functions are the reentrant equivalents of, respectively, B(3), " "B(3), and B(3). They differ in the way " "that the I structure is returned, and in the function calling " "signature and return value. This manual page describes just the differences " "from the nonreentrant functions." msgstr "" #. 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 " "structure as the function result, these functions copy the structure into " "the location pointed to by I." msgstr "" #. 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 array is used to store the string fields pointed to by the " "returned I structure. (The nonreentrant functions allocate these " "strings in static storage.) The size of this array is specified in " "I. If I is too small, the call fails with the error B, " "and the caller must try again with a larger buffer. (A buffer of length " "1024 bytes should be sufficient for most applications.)" msgstr "" #. 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; otherwise, I<*result> is set to NULL." msgstr "" #. 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 "" #. 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(), B()), " "or end of input (B()) I is set to NULL." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ERRORS" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(B()) No more records in database." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is too small. Try again with a larger buffer (and increased " "I)." msgstr "" #. 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(7)." msgstr "" #. 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 "" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".nh\n" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B(),\n" "B(),\n" "B()" msgstr "" #. 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 "" #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Functions with similar names exist on some other systems, though typically " "with different calling signatures." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "GNU." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The program below uses B() 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; if B() fails with the error " "B, the program retries with larger buffer sizes. The following " "shell session shows a couple of sample runs:" 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< ./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 "" #. 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 Ectype.hE\n" "#include Eerrno.hE\n" "#include Enetdb.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\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 2) {\n" " printf(\"Usage: %s proto-name [buflen]\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " buflen = 1024;\n" " if (argc E 2)\n" " buflen = atoi(argv[2]);\n" "\\&\n" " if (buflen E 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 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(3), B(5)" msgstr "" #. type: TH #: debian-bookworm #, no-wrap msgid "2023-02-05" msgstr "" #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "" #. 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 "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#define _GNU_SOURCE\n" "#include Ectype.hE\n" "#include Eerrno.hE\n" "#include Enetdb.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "#define MAX_BUF 10000\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, 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" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (argc E 2) {\n" " printf(\"Usage: %s proto-name [buflen]\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " buflen = 1024;\n" " if (argc E 2)\n" " buflen = atoi(argv[2]);\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (buflen E MAX_BUF) {\n" " printf(\"Exceeded buffer limit (%d)\\en\", MAX_BUF);\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, 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" msgstr "" #. 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 "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " buflen++;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (buflen E MAX_BUF) {\n" " printf(\"Exceeded buffer limit (%d)\\en\", MAX_BUF);\n" " exit(EXIT_FAILURE);\n" " }\n" " }\n" " } while (s == ERANGE);\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " printf(\"getprotobyname_r() returned: %s (buflen=%d)\\en\",\n" " (s == 0) ? \"0 (success)\" : (s == ENOENT) ? \"ENOENT\" :\n" " strerror(s), buflen);\n" msgstr "" #. 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 "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap 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 "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-30" msgstr "" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "" #. type: TH #: opensuse-tumbleweed #, no-wrap msgid "Linux man-pages (unreleased)" msgstr ""