Man page - getnetbyname_r(3)

Packages contains this manual

Available languages:

en fr ja ru ro de

Manual

getnetent_r

НАИМЕНОВАНИЕ
БИБЛИОТЕКА
ОБЗОР
ОПИСАНИЕ
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
ОШИБКИ
АТРИБУТЫ
ВЕРСИИ
СТАНДАРТЫ
СМОТРИТЕ ТАКЖЕ
ПЕРЕВОД

НАИМЕНОВАНИЕ

getnetent_r, getnetbyname_r, getnetbyaddr_r - возвращают запись о сети (реентерабельные версии)

БИБЛИОТЕКА

Стандартная библиотека языка C ( libc , -lc )

ОБЗОР

#include <netdb.h>

int getnetent_r(struct netent *restrict result_buf ,
char
buf [restrict . buflen ], size_t buflen ,
struct netent **restrict
result ,
int *restrict
h_errnop );
int getnetbyname_r(const char *restrict
name ,
struct netent *restrict
result_buf ,
char
buf [restrict . buflen ], size_t buflen ,
struct netent **restrict
result ,
int *restrict
h_errnop );
int getnetbyaddr_r(uint32_t
net , int type ,
struct netent *restrict
result_buf ,
char
buf [restrict . buflen ], size_t buflen ,
struct netent **restrict
result ,
int *restrict
h_errnop );

Требования макроса тестирования свойств для glibc (см. feature_test_macros (7)):

getnetent_r (), getnetbyname_r (), getnetbyaddr_r ():
начиная с glibc 2.19:
_DEFAULT_SOURCE
в glibc 2.19 и старее:
_BSD_SOURCE || _SVID_SOURCE

ОПИСАНИЕ

Функции getnetent_r (), getnetbyname_r () и getnetbyaddr_r () являются реентерабельными эквивалентами getnetent (3), getnetbyname (3) и getnetbynumber (3), соответственно. Они отличаются способом возврата структуры netent и списком параметров и типом возвращаемого значения. В этой справочной странице описаны только различия с нереентерабельными функциями.

Вместо возврата указателя на статически выделенную структуру netent в качестве результата эти функции копируют структуру в расположение, указанное result_buf .

Массив buf используется для хранения строковых полей из возвращаемой структуры netent (нереентерабельные функции выделяют эти строки из статического хранилища). Размер данного массива задаётся в buflen . Если buf слишком мал, то вызов завершается с ошибкой ERANGE , вызывающий должен его повторить с большим буфером (для большинства приложений должно быть достаточно буфера длиной 1024 байт).

Если вызов получил запись о сети, то *result указывает на result_buf ; в противном случае *result устанавливается в NULL.

Буфер, указанный h_errnop , используется для возврата значения, которое бы сохранилось в глобальной переменной h_errno нереентерабельными версиями этих функций.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении эти функции возвращают 0. При ошибке возвращается одно из положительных значений, перечисленных В разделе ОШИБКИ.

При ошибке, отсутствии записи ( getnetbyname_r (), getnetbyaddr_r ()) или конце данных ( getnetent_r ()) значение result равно NULL.

ОШИБКИ

ENOENT

( getnetent_r ()) Больше нет записей в базе данных.

ERANGE

Размер buf слишком мал. Попробуйте ещё раз с большим буфером (и увеличенным значением buflen ).

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes (7).

Image grohtml-626751-1.png

ВЕРСИИ

Функции с похожими именами есть и в других системах, хотя и с другим набором параметров.

СТАНДАРТЫ

GNU.

СМОТРИТЕ ТАКЖЕ

getnetent (3), networks (5)

ПЕРЕВОД

Русский перевод этой страницы руководства разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков .