removexattr - удаление расширенных атрибутов
removexattr(2)
удаление расширенных атрибутов
Other Alias
lremovexattr, fremovexattr
ОБЗОР
#include <sys/types.h>
#include <sys/xattr.h>
int removexattr(const char *path, const char *name);
int lremovexattr(const char *path, const char *name);
int fremovexattr(int fd, const char *name);
ОПИСАНИЕ
Расширенные атрибуты представляют собой пару
имя:
значение и
связываются с записями inode (файлы, каталоги, символьные ссылки и
т.п.). Они являются расширениями к обычным атрибутам, связанным со всеми
записями inode в системе (например, данные
stat(2)). Полное описание
модели расширенных атрибутов можно найти в
xattr(7).
Вызов removexattr() удаляет расширенный атрибут с именем, заданным в
name и связанный с заданным path в файловой системе.
Вызов lremovexattr() идентичен removexattr(), за исключением случая
работы с символьными ссылками; он удаляет расширенный атрибут на ссылке, а
не на файле, на который она указывает.
Вызов fremovexattr() идентичен removexattr(), отличием является то,
что расширенный атрибут удаляется у открытого файла, на который указывает
fd (возвращаемый open(2)), а не на указанном в path.
Имя расширенного атрибута представляет собой строку, заканчивающуюся
NULL. Имя name включает префикс пространства имён; их может быть
несколько, разрозненные пространства ассоциируются с разными inode.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении возвращается ноль. В случае ошибки возвращается -1,
а
errno устанавливается в соответствующее значение.
ОШИБКИ
ENOATTR
Атрибут с таким именем не существует (ENOATTR определена как синоним
ENODATA в <attr/xattr.h>).
ENOTSUP
Расширенные атрибуты не поддерживаются файловой системой или отключены.
Также могут возникать ошибки, описанные в stat(2).
ВЕРСИИ
Данные системные вызовы доступны в Linux начиная с ядра версии 2.4;
поддержка в glibc появилась в версии 2.3.
СООТВЕТСТВИЕ СТАНДАРТАМ
Данные системные вызовы есть только в Linux.