📄 xattr.c
字号:
/* * Distributed under the terms of the GNU General Public License v2 * $Header: /usr/local/cvs/linux/libs/uClibc/libc/sysdeps/linux/common/xattr.c,v 1.1.1.1 2005/01/24 11:50:39 aurer Exp $ * * This file provides the following Extended Attribute system calls to uClibc. * * setxattr(), lsetxattr(), fsetxattr(), * getxattr(), lgetxattr(), fgetxattr(), * listxattr(), llistxattr(), flistxattr(), * removexattr(), lremovexattr(), fremovexattr() * * Dec 2004 - <solar@gentoo.org> *//* Taken from the manpage. * On success, a positive number is returned indicating the size of the * extended attribute name list. On failure, -1 is returned and errno * is set appropriately. If extended attributes are not supported by the * filesystem, or are disabled, errno is set to ENOSYS. */#include "syscalls.h"#include <unistd.h>/* sets */#ifdef __NR_setxattr_syscall5(int, setxattr, const char *, path, const char *, name, const void *, value, size_t, size, int, flags);#elseint setxattr(__const char *__path, __const char *__name, __const void *__value, size_t __size, int __flags){ __set_errno(ENOSYS); return -1;}#endif#ifdef __NR_lsetxattr_syscall5(int, lsetxattr, const char *, path, const char *, name, const void *, value, size_t, size, int, flags);#elseint lsetxattr(__const char *__path, __const char *__name, __const void *__value, size_t __size, int __flags){ __set_errno(ENOSYS); return -1;}#endif#ifdef __NR_fsetxattr_syscall5(int, fsetxattr, int, filedes, const char *, name, const void *, value, size_t, size, int, flags);#elseint fsetxattr(int __fd, __const char *__name, __const void *__value, size_t __size, int __flags){ __set_errno(ENOSYS); return -1;}#endif/* gets */#ifdef __NR_getxattr_syscall4(ssize_t, getxattr, const char *, path, const char *, name, void *, value, size_t, size);#elsessize_t getxattr(__const char *__path, __const char *__name, void *__value, size_t __size){ __set_errno(ENOSYS); return -1;}#endif#ifdef __NR_lgetxattr_syscall4(ssize_t, lgetxattr, const char *, path, const char *, name, void *, value, size_t, size);#elsessize_t lgetxattr(__const char *__path, __const char *__name, void *__value, size_t __size){ __set_errno(ENOSYS); return -1;}#endif#ifdef __NR_fgetxattr_syscall4(ssize_t, fgetxattr, int, filedes, const char *, name, void *, value, size_t, size);#elsessize_t fgetxattr(int __fd, __const char *__name, void *__value, size_t __size){ __set_errno(ENOSYS); return -1;}#endif/* list */#ifdef __NR_listxattr_syscall3(ssize_t, listxattr, const char *, path, char *, list, size_t, size);#elsessize_t listxattr(__const char *__path, char *__list, size_t __size){ __set_errno(ENOSYS); return -1;}#endif#ifdef __NR_llistxattr_syscall3(ssize_t, llistxattr, const char *, path, char *, list, size_t, size);#elsessize_t llistxattr(__const char *__path, char *__list, size_t __size){ __set_errno(ENOSYS); return -1;}#endif#ifdef __NR_flistxattr_syscall3(size_t, flistxattr, int, filedes, char *, list, size_t, size);#elsessize_t flistxattr(int __fd, char *__list, size_t __size){ __set_errno(ENOSYS); return -1;}#endif/* remove */#ifdef __NR_removexattr_syscall2(int, removexattr, const char *, path, const char *, name);#elseint removexattr(__const char *__path, __const char *__name){ __set_errno(ENOSYS); return -1;}#endif#ifdef __NR_lremovexattr_syscall2(int, lremovexattr, const char *, path, const char *, name);#elseint lremovexattr(__const char *__path, __const char *__name){ __set_errno(ENOSYS); return -1;}#endif#ifdef __NR_fremovexattr_syscall2(int, fremovexattr, int, filedes, const char *, name);#elseint fremovexattr(int __fd, __const char *__name){ __set_errno(ENOSYS); return -1;}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -