May 2024 | ||||||
Mo | Tu | We | Th | Fr | Sa | Su |
29 | 30 | 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 | 1 | 2 |
3 | 4 | 5 | 6 | 7 | 8 | 9 |
001: /* Copyright (C) 2002 Free Software Foundation, Inc. 002: This file is part of the GNU C Library. 003: 004: The GNU C Library is free software; you can redistribute it and/or 005: modify it under the terms of the GNU Lesser General Public 006: License as published by the Free Software Foundation; either 007: version 2.1 of the License, or (at your option) any later version. 008: 009: The GNU C Library is distributed in the hope that it will be useful, 010: but WITHOUT ANY WARRANTY; without even the implied warranty of 011: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 012: Lesser General Public License for more details. 013: 014: You should have received a copy of the GNU Lesser General Public 015: License along with the GNU C Library; if not, write to the Free 016: Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 017: 02111-1307 USA. */ 018: 019: #ifndef _SYS_XATTR_H 020: #define _SYS_XATTR_H 1 021: 022: #include <features.h> 023: #include <sys/types.h> 024: 025: 026: __BEGIN_DECLS 027: 028: /* The following constants should be used for the fifth parameter of 029: `*setxattr'. */ 030: enum 031: { 032: XATTR_CREATE = 1, /* set value, fail if attr already exists. */ 033: #define XATTR_CREATE XATTR_CREATE 034: XATTR_REPLACE = 2 /* set value, fail if attr does not exist. */ 035: #define XATTR_REPLACE XATTR_REPLACE 036: }; 037: 038: /* Set the attribute NAME of the file pointed to by PATH to VALUE (which 039: is SIZE bytes long). Return 0 on success, -1 for errors. */ 040: extern int setxattr (__const char *__path, __const char *__name, 041: __const void *__value, size_t __size, int __flags) 042: __THROW; 043: 044: /* Set the attribute NAME of the file pointed to by PATH to VALUE (which is 045: SIZE bytes long), not following symlinks for the last pathname component. 046: Return 0 on success, -1 for errors. */ 047: extern int lsetxattr (__const char *__path, __const char *__name, 048: __const void *__value, size_t __size, int __flags) 049: __THROW; 050: 051: /* Set the attribute NAME of the file descriptor FD to VALUE (which is SIZE 052: bytes long). Return 0 on success, -1 for errors. */ 053: extern int fsetxattr (int __fd, __const char *__name, __const void *__value, 054: size_t __size, int __flags) __THROW; 055: 056: /* Get the attribute NAME of the file pointed to by PATH to VALUE (which is 057: SIZE bytes long). Return 0 on success, -1 for errors. */ 058: extern ssize_t getxattr (__const char *__path, __const char *__name, 059: void *__value, size_t __size) __THROW; 060: 061: /* Get the attribute NAME of the file pointed to by PATH to VALUE (which is 062: SIZE bytes long), not following symlinks for the last pathname component. 063: Return 0 on success, -1 for errors. */ 064: extern ssize_t lgetxattr (__const char *__path, __const char *__name, 065: void *__value, size_t __size) __THROW; 066: 067: /* Get the attribute NAME of the file descriptor FD to VALUE (which is SIZE 068: bytes long). Return 0 on success, -1 for errors. */ 069: extern ssize_t fgetxattr (int __fd, __const char *__name, void *__value, 070: size_t __size) __THROW; 071: 072: /* List attributes of the file pointed to by PATH into the user-supplied 073: buffer LIST (which is SIZE bytes big). Return 0 on success, -1 for 074: errors. */ 075: extern ssize_t listxattr (__const char *__path, char *__list, size_t __size) 076: __THROW; 077: 078: /* List attributes of the file pointed to by PATH into the user-supplied 079: buffer LIST (which is SIZE bytes big), not following symlinks for the 080: last pathname component. Return 0 on success, -1 for errors. */ 081: extern ssize_t llistxattr (__const char *__path, char *__list, size_t __size) 082: __THROW; 083: 084: /* List attributes of the file descriptor FD into the user-supplied buffer 085: LIST (which is SIZE bytes big). Return 0 on success, -1 for errors. */ 086: extern ssize_t flistxattr (int __fd, char *__list, size_t __size) 087: __THROW; 088: 089: /* Remove the attribute NAME from the file pointed to by PATH. Return 0 090: on success, -1 for errors. */ 091: extern int removexattr (__const char *__path, __const char *__name) __THROW; 092: 093: /* Remove the attribute NAME from the file pointed to by PATH, not 094: following symlinks for the last pathname component. Return 0 on 095: success, -1 for errors. */ 096: extern int lremovexattr (__const char *__path, __const char *__name) __THROW; 097: 098: /* Remove the attribute NAME from the file descriptor FD. Return 0 on 099: success, -1 for errors. */ 100: extern int fremovexattr (int __fd, __const char *__name) __THROW; 101: 102: __END_DECLS 103: 104: #endif /* sys/xattr.h */ 105: