Scroll to navigation

setaliasent(3) Library Functions Manual setaliasent(3)

NUME

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

BIBLIOTECA

Biblioteca C standard (libc, -lc)

REZUMAT

#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 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.

20 iulie 2023 Pagini de manual de Linux 6.05.01