2024-01-01 18:12:26 +00:00
|
|
|
/* Copyright (C) 2002-2024 Free Software Foundation, Inc.
|
2002-08-23 09:29:27 +00:00
|
|
|
This file is part of the GNU C Library.
|
|
|
|
|
|
|
|
The GNU C Library is free software; you can redistribute it and/or
|
|
|
|
modify it under the terms of the GNU Lesser General Public
|
|
|
|
License as published by the Free Software Foundation; either
|
|
|
|
version 2.1 of the License, or (at your option) any later version.
|
|
|
|
|
|
|
|
The GNU C Library is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
Lesser General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
2012-02-09 23:18:22 +00:00
|
|
|
License along with the GNU C Library; if not, see
|
Prefer https to http for gnu.org and fsf.org URLs
Also, change sources.redhat.com to sourceware.org.
This patch was automatically generated by running the following shell
script, which uses GNU sed, and which avoids modifying files imported
from upstream:
sed -ri '
s,(http|ftp)(://(.*\.)?(gnu|fsf|sourceware)\.org($|[^.]|\.[^a-z])),https\2,g
s,(http|ftp)(://(.*\.)?)sources\.redhat\.com($|[^.]|\.[^a-z]),https\2sourceware.org\4,g
' \
$(find $(git ls-files) -prune -type f \
! -name '*.po' \
! -name 'ChangeLog*' \
! -path COPYING ! -path COPYING.LIB \
! -path manual/fdl-1.3.texi ! -path manual/lgpl-2.1.texi \
! -path manual/texinfo.tex ! -path scripts/config.guess \
! -path scripts/config.sub ! -path scripts/install-sh \
! -path scripts/mkinstalldirs ! -path scripts/move-if-change \
! -path INSTALL ! -path locale/programs/charmap-kw.h \
! -path po/libc.pot ! -path sysdeps/gnu/errlist.c \
! '(' -name configure \
-execdir test -f configure.ac -o -f configure.in ';' ')' \
! '(' -name preconfigure \
-execdir test -f preconfigure.ac ';' ')' \
-print)
and then by running 'make dist-prepare' to regenerate files built
from the altered files, and then executing the following to cleanup:
chmod a+x sysdeps/unix/sysv/linux/riscv/configure
# Omit irrelevant whitespace and comment-only changes,
# perhaps from a slightly-different Autoconf version.
git checkout -f \
sysdeps/csky/configure \
sysdeps/hppa/configure \
sysdeps/riscv/configure \
sysdeps/unix/sysv/linux/csky/configure
# Omit changes that caused a pre-commit check to fail like this:
# remote: *** error: sysdeps/powerpc/powerpc64/ppc-mcount.S: trailing lines
git checkout -f \
sysdeps/powerpc/powerpc64/ppc-mcount.S \
sysdeps/unix/sysv/linux/s390/s390-64/syscall.S
# Omit change that caused a pre-commit check to fail like this:
# remote: *** error: sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: last line does not end in newline
git checkout -f sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
2019-09-07 05:40:42 +00:00
|
|
|
<https://www.gnu.org/licenses/>. */
|
2002-08-23 09:29:27 +00:00
|
|
|
|
|
|
|
#ifndef _SYS_XATTR_H
|
|
|
|
#define _SYS_XATTR_H 1
|
|
|
|
|
|
|
|
#include <features.h>
|
2002-08-23 21:34:01 +00:00
|
|
|
#include <sys/types.h>
|
2002-08-23 09:29:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
__BEGIN_DECLS
|
|
|
|
|
|
|
|
/* The following constants should be used for the fifth parameter of
|
|
|
|
`*setxattr'. */
|
2014-03-11 04:17:07 +00:00
|
|
|
#ifndef __USE_KERNEL_XATTR_DEFS
|
2002-08-23 09:29:27 +00:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
XATTR_CREATE = 1, /* set value, fail if attr already exists. */
|
|
|
|
#define XATTR_CREATE XATTR_CREATE
|
|
|
|
XATTR_REPLACE = 2 /* set value, fail if attr does not exist. */
|
|
|
|
#define XATTR_REPLACE XATTR_REPLACE
|
|
|
|
};
|
2014-03-11 04:17:07 +00:00
|
|
|
#endif
|
2002-08-23 09:29:27 +00:00
|
|
|
|
|
|
|
/* Set the attribute NAME of the file pointed to by PATH to VALUE (which
|
|
|
|
is SIZE bytes long). Return 0 on success, -1 for errors. */
|
2012-01-08 04:57:22 +00:00
|
|
|
extern int setxattr (const char *__path, const char *__name,
|
|
|
|
const void *__value, size_t __size, int __flags)
|
2022-03-10 00:26:33 +00:00
|
|
|
__THROW __attr_access ((__read_only__, 3, 4));
|
2002-08-23 09:29:27 +00:00
|
|
|
|
|
|
|
/* Set the attribute NAME of the file pointed to by PATH to VALUE (which is
|
|
|
|
SIZE bytes long), not following symlinks for the last pathname component.
|
|
|
|
Return 0 on success, -1 for errors. */
|
2012-01-08 04:57:22 +00:00
|
|
|
extern int lsetxattr (const char *__path, const char *__name,
|
|
|
|
const void *__value, size_t __size, int __flags)
|
2022-03-10 00:26:33 +00:00
|
|
|
__THROW __attr_access ((__read_only__, 3, 4));
|
2002-08-23 09:29:27 +00:00
|
|
|
|
|
|
|
/* Set the attribute NAME of the file descriptor FD to VALUE (which is SIZE
|
|
|
|
bytes long). Return 0 on success, -1 for errors. */
|
2012-01-08 04:57:22 +00:00
|
|
|
extern int fsetxattr (int __fd, const char *__name, const void *__value,
|
2022-03-10 00:26:33 +00:00
|
|
|
size_t __size, int __flags)
|
|
|
|
__THROW __attr_access ((__read_only__, 3, 4));
|
2002-08-23 09:29:27 +00:00
|
|
|
|
|
|
|
/* Get the attribute NAME of the file pointed to by PATH to VALUE (which is
|
|
|
|
SIZE bytes long). Return 0 on success, -1 for errors. */
|
2012-01-08 04:57:22 +00:00
|
|
|
extern ssize_t getxattr (const char *__path, const char *__name,
|
2022-03-10 00:26:33 +00:00
|
|
|
void *__value, size_t __size)
|
|
|
|
__THROW __attr_access ((__write_only__, 3, 4));
|
2002-08-23 09:29:27 +00:00
|
|
|
|
|
|
|
/* Get the attribute NAME of the file pointed to by PATH to VALUE (which is
|
|
|
|
SIZE bytes long), not following symlinks for the last pathname component.
|
|
|
|
Return 0 on success, -1 for errors. */
|
2012-01-08 04:57:22 +00:00
|
|
|
extern ssize_t lgetxattr (const char *__path, const char *__name,
|
2022-03-10 00:26:33 +00:00
|
|
|
void *__value, size_t __size)
|
|
|
|
__THROW __attr_access ((__write_only__, 3, 4));
|
2002-08-23 09:29:27 +00:00
|
|
|
|
|
|
|
/* Get the attribute NAME of the file descriptor FD to VALUE (which is SIZE
|
|
|
|
bytes long). Return 0 on success, -1 for errors. */
|
2012-01-08 04:57:22 +00:00
|
|
|
extern ssize_t fgetxattr (int __fd, const char *__name, void *__value,
|
2022-03-10 00:26:33 +00:00
|
|
|
size_t __size)
|
|
|
|
__THROW __attr_access ((__write_only__, 3, 4));
|
2002-08-23 09:29:27 +00:00
|
|
|
|
|
|
|
/* List attributes of the file pointed to by PATH into the user-supplied
|
|
|
|
buffer LIST (which is SIZE bytes big). Return 0 on success, -1 for
|
|
|
|
errors. */
|
2012-01-08 04:57:22 +00:00
|
|
|
extern ssize_t listxattr (const char *__path, char *__list, size_t __size)
|
2022-03-10 00:26:33 +00:00
|
|
|
__THROW __attr_access ((__write_only__, 2, 3));
|
2002-08-23 09:29:27 +00:00
|
|
|
|
|
|
|
/* List attributes of the file pointed to by PATH into the user-supplied
|
|
|
|
buffer LIST (which is SIZE bytes big), not following symlinks for the
|
|
|
|
last pathname component. Return 0 on success, -1 for errors. */
|
2012-01-08 04:57:22 +00:00
|
|
|
extern ssize_t llistxattr (const char *__path, char *__list, size_t __size)
|
2022-03-10 00:26:33 +00:00
|
|
|
__THROW __attr_access ((__write_only__, 2, 3));
|
2002-08-23 09:29:27 +00:00
|
|
|
|
|
|
|
/* List attributes of the file descriptor FD into the user-supplied buffer
|
|
|
|
LIST (which is SIZE bytes big). Return 0 on success, -1 for errors. */
|
|
|
|
extern ssize_t flistxattr (int __fd, char *__list, size_t __size)
|
2022-03-10 00:26:33 +00:00
|
|
|
__THROW __attr_access ((__write_only__, 2, 3));
|
2002-08-23 09:29:27 +00:00
|
|
|
|
|
|
|
/* Remove the attribute NAME from the file pointed to by PATH. Return 0
|
|
|
|
on success, -1 for errors. */
|
2012-01-08 04:57:22 +00:00
|
|
|
extern int removexattr (const char *__path, const char *__name) __THROW;
|
2002-08-23 09:29:27 +00:00
|
|
|
|
|
|
|
/* Remove the attribute NAME from the file pointed to by PATH, not
|
|
|
|
following symlinks for the last pathname component. Return 0 on
|
|
|
|
success, -1 for errors. */
|
2012-01-08 04:57:22 +00:00
|
|
|
extern int lremovexattr (const char *__path, const char *__name) __THROW;
|
2002-08-23 09:29:27 +00:00
|
|
|
|
|
|
|
/* Remove the attribute NAME from the file descriptor FD. Return 0 on
|
|
|
|
success, -1 for errors. */
|
2012-01-08 04:57:22 +00:00
|
|
|
extern int fremovexattr (int __fd, const char *__name) __THROW;
|
2002-08-23 09:29:27 +00:00
|
|
|
|
|
|
|
__END_DECLS
|
|
|
|
|
|
|
|
#endif /* sys/xattr.h */
|