getxattr(2)

NUME
getxattr, lgetxattr, fgetxattr - recuperează valoarea unui atribut extins

BIBLIOTECA
Biblioteca C standard (libc, -lc)

REZUMAT
#include <sys/xattr.h>

ssize_t getxattr(const char *path, const char *name,
                 void value[.size], size_t size);
ssize_t lgetxattr(const char *path, const char *name,
                 void value[.size], size_t size);
ssize_t fgetxattr(int fd, const char *name,
                 void value[.size], size_t size);

DESCRIERE
Atributele extinse sunt perechi nume:valoare asociate cu noduri-i (fișiere, directoare, legături simbolice etc.). Acestea sunt extensii ale atributelor normale care sunt asociate cu toate nodurile din sistem (de exemplu, datele stat(2)). O prezentare completă a conceptelor de atribute extinse poate fi găsită în xattr(7).

getxattr() recuperează valoarea atributului extins identificat prin name și asociat cu path dat în sistemul de fișiere. Valoarea atributului este plasată în memoria tampon indicată de value; size specifică dimensiunea acestei memorii. Valoarea de returnare a apelului este numărul de octeți plasați în value.

lgetxattr() este identic cu getxattr(), cu excepția cazului unei legături simbolice, în care se interoghează legătura în sine, nu fișierul la care se referă.

fgetxattr() este identic cu getxattr(), numai că fișierul deschis la care face referire fd (returnat de open(2)) este interogat în locul lui path.

Un atribut extins name este un șir de caractere cu terminație nulă. Numele include un prefix de spațiu de nume; pot exista mai multe spații de nume disjuncte asociate cu un nod-i individual. Valoarea unui atribut extins este o bucată de date textuale sau binare arbitrare care a fost atribuită cu ajutorul setxattr(2).

Dacă size este specificată ca fiind zero, aceste apeluri returnează dimensiunea curentă a atributului extins numit (și lasă value neschimbată). Acest lucru poate fi utilizat pentru a determina dimensiunea memoriei tampon care trebuie furnizată într-un apel ulterior; (dar, rețineți că există posibilitatea ca valoarea atributului să se schimbe între cele două apeluri, astfel încât este în continuare necesar să se verifice starea de returnare a celui de-al doilea apel).

VALOAREA RETURNATĂ
În caz de succes, aceste apeluri returnează o valoare nenegativă care reprezintă dimensiunea (în octeți) a valorii atributului extins. În caz de eșec, se returnează -1, iar errno este configurată pentru a indica eroarea.

ERORI

E2BIG
    Dimensiunea valorii atributului este mai mare decât dimensiunea maximă permisă; atributul nu poate fi recuperat. Acest lucru se poate întâmpla în cazul sistemelor de fișiere care acceptă valori foarte mari ale atributelor, cum ar fi NFSv4, de exemplu.

ENODATA
    Atributul numit nu există sau procesul nu are acces la acest atribut.

ENOTSUP
    Atributele extinse nu sunt acceptate de sistemul de fișiere sau sunt dezactivate.

ERANGE
    Valoarea (value) dimensiunii (size) a memoriei tampon este prea mică pentru a conține rezultatul.

În plus, pot apărea și erorile documentate în stat(2).

STANDARDE
Linux.

ISTORIC
Linux 2.4, glibc 2.3.

EXEMPLE
A se vedea listxattr(2).

CONSULTAȚI ȘI
getfattr(1), setfattr(1), listxattr(2), open(2), removexattr(2), setxattr(2), stat(2), symlink(7), xattr(7)

TRADUCERE
Traducerea în limba română a acestui manual a fost creată 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.