| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | /* * Copyright (C) 2004 <solar@gentoo.org> * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. *//* 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 <sys/syscall.h>#include <unistd.h>#include <sys/xattr.h>/* sets */#ifdef __NR_setxattr_syscall5(int, setxattr, const char *, path, const char *, name,	const void *, value, size_t, size, int, flags)#endif#ifdef __NR_lsetxattr_syscall5(int, lsetxattr, const char *, path, const char *, name,	const void *, value, size_t, size, int, flags)#endif#ifdef __NR_fsetxattr_syscall5(int, fsetxattr, int, filedes, const char *, name, const void *,	value, size_t, size, int, flags)#endif/* gets */#ifdef __NR_getxattr_syscall4(ssize_t, getxattr, const char *, path, const char *, name,	void *, value, size_t, size)#endif#ifdef __NR_lgetxattr_syscall4(ssize_t, lgetxattr, const char *, path, const char *, name,	void *, value, size_t, size)#endif#ifdef __NR_fgetxattr_syscall4(ssize_t, fgetxattr, int, filedes, const char *, name, void *,	value, size_t, size)#endif/* list */#ifdef __NR_listxattr_syscall3(ssize_t, listxattr, const char *, path, char *, list, size_t,	size)#endif#ifdef __NR_llistxattr_syscall3(ssize_t, llistxattr, const char *, path, char *, list, size_t,	size)#endif#ifdef __NR_flistxattr_syscall3(ssize_t, flistxattr, int, filedes, char *, list, size_t, size)#endif/* remove */#ifdef __NR_removexattr_syscall2(int, removexattr, const char *, path, const char *, name)#endif#ifdef __NR_lremovexattr_syscall2(int, lremovexattr, const char *, path, const char *, name)#endif#ifdef __NR_fremovexattr_syscall2(int, fremovexattr, int, filedes, const char *, name)#endif
 |