setaliasent(3)

NUME
setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, getaliasbyname_r - citesc o intrare alias

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#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);

DESCRIERE
Una dintre bazele de date disponibile cu Name Service Switch (NSS) este baza de date de alias, care conține nume de alias de poștă electronică; (pentru a afla ce baze de date sunt acceptate, încercați getent --help). Pentru a accesa baza de date de alias sunt furnizate șase funcții.

Funcția getaliasent() returnează un indicator către o structură care conține informațiile de grup din baza de date de alias Prima dată când este apelată, returnează prima intrare; ulterior, returnează intrări succesive.

Funcția setaliasent() derulează indicatorul de fișier la începutul bazei de date de alias.

Funcția endaliasent() închide baza de date de alias.

getaliasent_r() este versiunea reentrantă a funcției anterioare. Structura solicitată este stocată prin intermediul primului argument, dar programatorul trebuie să completeze și celelalte argumente. Dacă nu se oferă suficient spațiu, funcția eșuează.

Funcția getaliasbyname() primește argumentul nume și caută în baza de date cu pseudonime. Intrarea este returnată sub forma unui indicator către o structură struc aliasent.

getaliasbyname_r() este versiunea reentrantă a funcției anterioare. Structura solicitată este stocată prin intermediul primului argument, dar programatorul trebuie să completeze și celelalte argumente. Dacă nu se oferă suficient spațiu, funcția eșuează.

struct aliasent este definită în <aliases.h>:

    struct aliasent {
        char    *alias_name;             /* nume alias */
        size_t   alias_members_len;
        char   **alias_members;          /* listă nume alias */
        int      alias_local;
    };

VALOAREA RETURNATĂ
Funcțiile getaliasent_r() și getaliasbyname_r() returnează o valoare diferită de zero în caz de eroare.

FIȘIERE
Baza de date alias implicită este fișierul /etc/aliases. Acesta poate fi modificat în fișierul /etc/nsswitch.conf.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
setaliasent(), endaliasent(), getaliasent_r(), getaliasbyname_r() | Siguranța firelor | MT-Safe locale
getaliasent(), getaliasbyname() | Siguranța firelor | MT-Unsafe

STANDARDE
GNU.

ISTORIC
Sistemul NeXT are rutine similare:

    #include <aliasdb.h>

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

EXEMPLE
Următorul exemplu compilează cu gcc example.c -o example. Acesta va afișa toate numele din baza de date de alias.

    #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("Nume: %s\n", al->alias_name);
        }
        if (errno) {
            perror("citind alias");
            exit(EXIT_FAILURE);
        }
        endaliasent();
        exit(EXIT_SUCCESS);
    }

CONSULTAȚI ȘI
getgrent(3), getpwent(3), getspent(3), aliases(5)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.