setxattr(2)

NUME
setxattr, lsetxattr, fsetxattr - stabilește valoarea unui atribut extins

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <sys/xattr.h>

int setxattr(const char *path, const char *name,
              const void value[.size], size_t size, int flags);
int lsetxattr(const char *path, const char *name,
              const void value[.size], size_t size, int flags);
int fsetxattr(int fd, const char *name,
              const void value[.size], size_t size, int flags);

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

setxattr() stabilește valoarea atributului extins identificat prin name și asociat cu path dat în sistemul de fișiere. Argumentul size specifică dimensiunea (în octeți) a lui value; este permisă o valoare de lungime zero.

lsetxattr() este identic cu setxattr(), cu excepția cazului în care este vorba de o legătură simbolică, în care atributul extins este stabilit pe legătura însăși, nu pe fișierul la care se referă.

fsetxattr() este identic cu setxattr(), numai că atributul extins este stabilit pe fișierul deschis la care se face referire prin fd (așa cum este returnat de open(2)) în locul lui path.

Un nume de atribut extins este un șir de caractere cu terminație nulă. name include un prefix de spațiu de nume; pot exista mai multe spații de nume disjuncte asociate cu un nod-i individual. value al unui atribut extins este o bucată de date textuale sau binare arbitrare de lungimea specificată.

În mod implicit (adică flags este zero), atributul extins va fi creat dacă nu există, sau valoarea va fi înlocuită dacă atributul există deja. Pentru a modifica această semantică, în flags se poate specifica una dintre următoarele valori:

XATTR_CREATE
    Efectuează o creare pură, care eșuează dacă atributul numit există deja.

XATTR_REPLACE
    Efectuează o operație de înlocuire pură, care eșuează dacă atributul numit nu există deja.

VALOAREA RETURNATĂ
În caz de succes, se returnează zero. În caz de eșec, se returnează -1, iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

EDQUOT
    Limitele cotelor de disc au făcut ca spațiul rămas să fie insuficient pentru a stoca atributul extins.

EEXIST
    XATTR_CREATE was specified, and the attribute exists already.

ENODATA
    XATTR_REPLACE was specified, and the attribute does not exist.

ENOSPC
    Spațiul rămas este insuficient pentru a stoca atributul extins.

ENOTSUP
    Prefixul de spațiu de nume name nu este valid.

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

EPERM
    Fișierul este marcat ca fiind imuabil sau numai pentru anexare. A se vedea FS_IOC_SETFLAGS(2const).

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

ERANGE
    Dimensiunea lui name sau value depășește o limită specifică sistemului de fișiere.

STANDARDE
Linux.

ISTORIC
Linux 2.4, glibc 2.3.

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

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.