Provided by: manpages-ru-dev_4.27.0-1_all bug

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

       setaliasent,  endaliasent, getaliasent, getaliasent_r, getaliasbyname, getaliasbyname_r - читает запись о
       псевдониме

БИБЛИОТЕКА

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

ОБЗОР

       #include <aliases.h>

       void setaliasent(void);
       void endaliasent(void);

       struct aliasent *getaliasent(void);
       int getaliasent_r(struct aliasent *restrict result,
                            char buffer[restrict .buflen], size_t buflen,
                            struct aliasent **restrict res);

       struct aliasent *getaliasbyname(const char *name);
       int getaliasbyname_r(const char *restrict name,
                            struct aliasent *restrict result,
                            char buffer[restrict .buflen], size_t buflen,
                            struct aliasent **restrict res);

ОПИСАНИЕ

       Одной из баз данных,  доступных  в  диспетчере  службы  имён  (NSS),  является  база  данных  псевдонимов
       (aliases),  в  которой  содержатся  почтовые псевдонимы (для вывода поддерживаемых баз  данных, запустите
       getent --help.) Для доступа к базе данных псевдонимов существуют шесть функций.

       Функция getaliasent() возвращает указатель на структуру, содержащую информацию о группе  из  базы  данных
       псевдонимов.  Во  время  первого вызова функция возвращает первую запись; в дальнейшем она возвращает все
       последующие записи.

       Функция setaliasent() возвращает файловый указатель в начало базы данных псевдонимов.

       Функция endaliasent() закрывает базу данных псевдонимов.

       Функция getaliasent_r() является реентерабельной  версией  предыдущей  функции.  Запрашиваемая  структура
       сохраняется  через  первый  аргумент,  но  программисту  также требуется передать и другие аргументы. При
       нехватке места функция завершается с ошибкой.

       Функция getaliasbyname() берёт имя из аргумента и ищет его в базе данных псевдонимов.  Найденный  элемент
       возвращается в виде указателя на struct aliasent.

       Функция  getaliasbyname_r()  является реентерабельной версией предыдущей функции. Запрашиваемая структура
       сохраняется через второй аргумент, но программисту также  требуется  передать  и  другие  аргументы.  При
       нехватке места функция завершается с ошибкой.

       Структура struct aliasent определена в <aliases.h>:

           struct aliasent {
               char    *alias_name;             /* имя псевдонима */
               size_t   alias_members_len;
               char   **alias_members;          /* список имён псевдонима */
               int      alias_local;
           };

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

       При ошибке функции getaliasent_r() и getaliasbyname_r() возвращают ненулевое значение.

ФАЙЛЫ

       По  умолчанию  файлом  базы  данных  псевдонимов  является  /etc/aliases.  Это  можно  изменить  в  файле
       /etc/nsswitch.conf.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌───────────────────────────────────────────────────────────────┬──────────────────────┬────────────────┐
       │ ИнтерфейсАтрибутЗначение       │
       ├───────────────────────────────────────────────────────────────┼──────────────────────┼────────────────┤
       │ setaliasent(), endaliasent(), getaliasent_r(),                │ Безвредность в нитях │ MT-Safe locale │
       │ getaliasbyname_r()                                            │                      │                │
       ├───────────────────────────────────────────────────────────────┼──────────────────────┼────────────────┤
       │ getaliasent(), getaliasbyname()                               │ Безвредность в нитях │ MT-Unsafe      │
       └───────────────────────────────────────────────────────────────┴──────────────────────┴────────────────┘

СТАНДАРТЫ

       GNU.

ИСТОРИЯ

       The NeXT system has similar routines:

           #include <aliasdb.h>

           void alias_setent(void);
           void alias_endent(void);
           alias_ent *alias_getent(void);
           alias_ent *alias_getbyname(char *name);

ПРИМЕРЫ

       Следующий пример компилируется командой gcc example.c -o example. Он выводит  все  имена  из  баз  данных
       псевдонимов.

       #include <aliases.h>
       #include <errno.h>
       #include <stdio.h>
       #include <stdlib.h>

       int
       main(void)
       {
           struct aliasent *al;

           setaliasent();
           for (;;) {
               al = getaliasent();
               if (al == NULL)
                   break;
               printf("Name: %s\n", al->alias_name);
           }
           if (errno) {
               perror("reading alias");
               exit(EXIT_FAILURE);
           }
           endaliasent();
           exit(EXIT_SUCCESS);
       }

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

       getgrent(3), getpwent(3), getspent(3), aliases(5)

ПЕРЕВОД

       Русский  перевод  этой  страницы  руководства разработал(и) Alexander Golubev <fatzer2@gmail.com>, Azamat
       Hackimov  <azamat.hackimov@gmail.com>,  Hotellook,   Nikita   <zxcvbnm3230@mail.ru>,   Spiros   Georgaras
       <sng@hellug.gr>,  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 или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

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

Справочные страницы Linux 6.9.1                  15 июня 2024 г.                                  setaliasent(3)