.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2003 Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" .\" SPDX-License-Identifier: GPL-1.0-or-later .\" .\" Polished a bit, added a little, aeb .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH setaliasent 3 "31 октября 2023 г." "Linux man\-pages 6.06" .SH ИМЯ setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, getaliasbyname_r \- читает запись о псевдониме .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \fBvoid setaliasent(void);\fP \fBvoid endaliasent(void);\fP .P \fBstruct aliasent *getaliasent(void);\fP \fBint getaliasent_r(struct aliasent *restrict \fP\fIresult\fP\fB,\fP \fB char \fP\fIbuffer\fP\fB[restrict .\fP\fIbuflen\fP\fB], size_t \fP\fIbuflen\fP\fB,\fP \fB struct aliasent **restrict \fP\fIres\fP\fB);\fP .P \fBstruct aliasent *getaliasbyname(const char *\fP\fIname\fP\fB);\fP \fBint getaliasbyname_r(const char *restrict \fP\fIname\fP\fB,\fP \fB struct aliasent *restrict \fP\fIresult\fP\fB,\fP \fB char \fP\fIbuffer\fP\fB[restrict .\fP\fIbuflen\fP\fB], size_t \fP\fIbuflen\fP\fB,\fP \fB struct aliasent **restrict \fP\fIres\fP\fB);\fP .fi .SH ОПИСАНИЕ Одной из баз данных, доступных в диспетчере службы имён (NSS), является база данных псевдонимов (aliases), в которой содержатся почтовые псевдонимы (для вывода поддерживаемых баз данных, запустите \fIgetent \-\-help\fP.) Для доступа к базе данных псевдонимов существуют шесть функций. .P Функция \fBgetaliasent\fP() возвращает указатель на структуру, содержащую информацию о группе из базы данных псевдонимов. Во время первого вызова функция возвращает первую запись; в дальнейшем она возвращает все последующие записи. .P Функция \fBsetaliasent\fP() возвращает файловый указатель в начало базы данных псевдонимов. .P Функция \fBendaliasent\fP() закрывает базу данных псевдонимов. .P Функция \fBgetaliasent_r\fP() является реентерабельной версией предыдущей функции. Запрашиваемая структура сохраняется через первый аргумент, но программисту также требуется передать и другие аргументы. При нехватке места функция завершается с ошибкой. .P Функция \fBgetaliasbyname\fP() берёт имя из аргумента и ищет его в базе данных псевдонимов. Найденный элемент возвращается в виде указателя на \fIstruct aliasent\fP. .P Функция \fBgetaliasbyname_r\fP() является реентерабельной версией предыдущей функции. Запрашиваемая структура сохраняется через второй аргумент, но программисту также требуется передать и другие аргументы. При нехватке места функция завершается с ошибкой. .P Структура \fIstruct aliasent\fP определена в \fI\fP: .P .in +4n .EX struct aliasent { char *alias_name; /* имя псевдонима */ size_t alias_members_len; char **alias_members; /* список имён псевдонима */ int alias_local; }; .EE .in .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" При ошибке функции \fBgetaliasent_r\fP() и \fBgetaliasbyname_r\fP() возвращают ненулевое значение. .SH ФАЙЛЫ По умолчанию файлом базы данных псевдонимов является \fI/etc/aliases\fP. Это можно изменить в файле \fI/etc/nsswitch.conf\fP. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBsetaliasent\fP(), \fBendaliasent\fP(), \fBgetaliasent_r\fP(), \fBgetaliasbyname_r\fP() T} Безвредность в нитях MT\-Safe locale T{ .na .nh \fBgetaliasent\fP(), \fBgetaliasbyname\fP() T} Безвредность в нитях MT\-Unsafe .TE .SH СТАНДАРТЫ GNU. .SH ИСТОРИЯ The NeXT system has similar routines: .P .in +4n .EX #include \& void alias_setent(void); void alias_endent(void); alias_ent *alias_getent(void); alias_ent *alias_getbyname(char *name); .EE .in .SH ПРИМЕРЫ Следующий пример компилируется командой \fIgcc example.c \-o example\fP. Он выводит все имена из баз данных псевдонимов. .P .\" SRC BEGIN (setaliasent.c) .EX #include #include #include #include \& int main(void) { struct aliasent *al; \& setaliasent(); for (;;) { al = getaliasent(); if (al == NULL) break; printf("Name: %s\en", al\->alias_name); } if (errno) { perror("reading alias"); exit(EXIT_FAILURE); } endaliasent(); exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "СМ. ТАКЖЕ" \fBgetgrent\fP(3), \fBgetpwent\fP(3), \fBgetspent\fP(3), \fBaliases\fP(5) .\" .\" /etc/sendmail/aliases .\" Yellow Pages .\" newaliases, postalias .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Alexander Golubev , Azamat Hackimov , Hotellook, Nikita , Spiros Georgaras , Vladislav , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .