xattr.c 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. * Distributed under the terms of the GNU General Public License v2
  3. * $Header: /var/cvs/uClibc/libc/sysdeps/linux/common/xattr.c,v 1.1 2004/12/20 00:10:51 solar Exp $
  4. *
  5. * This file provides the following Extended Attribute system calls to uClibc.
  6. *
  7. * setxattr(), lsetxattr(), fsetxattr(),
  8. * getxattr(), lgetxattr(), fgetxattr(),
  9. * listxattr(), llistxattr(), flistxattr(),
  10. * removexattr(), lremovexattr(), fremovexattr()
  11. *
  12. * 20041215 - <solar@gentoo.org>
  13. */
  14. #include "syscalls.h"
  15. #include <unistd.h>
  16. #ifdef __NR_setxattr
  17. _syscall5(int, setxattr, const char *, path, const char *, name, const void *,
  18. value, size_t, size, int, flags);
  19. #endif
  20. #ifdef __NR_lsetxattr
  21. _syscall5(int, lsetxattr, const char *, path, const char *, name, const void *,
  22. value, size_t, size, int, flags);
  23. #endif
  24. #ifdef __NR_fsetxattr
  25. _syscall5(int, fsetxattr, int, filedes, const char *, name, const void *,
  26. value, size_t, size, int, flags);
  27. #endif
  28. #ifdef __NR_getxattr
  29. _syscall4(ssize_t, getxattr, const char *, path, const char *, name,
  30. void *, value, size_t, size);
  31. #endif
  32. #ifdef __NR_lgetxattr
  33. _syscall4(ssize_t, lgetxattr, const char *, path, const char *, name, void *,
  34. value, size_t, size);
  35. #endif
  36. #ifdef __NR_fgetxattr
  37. _syscall4(ssize_t, fgetxattr, int, filedes, const char *, name, void *, value,
  38. size_t, size);
  39. #endif
  40. #ifdef __NR_listxattr
  41. _syscall3(ssize_t, listxattr, const char *, path, char *, list, size_t, size);
  42. #endif
  43. #ifdef __NR_llistxattr
  44. _syscall3(ssize_t, llistxattr, const char *, path, char *, list, size_t,
  45. size);
  46. #endif
  47. #ifdef __NR_flistxattr
  48. _syscall3(size_t, flistxattr, int, filedes, char *, list, size_t, size);
  49. #endif
  50. #ifdef __NR_removexattr
  51. _syscall2(int, removexattr, const char *, path, const char *, name);
  52. #endif
  53. #ifdef __NR_lremovexattr
  54. _syscall2(int, lremovexattr, const char *, path, const char *, name);
  55. #endif
  56. #ifdef __NR_fremovexattr
  57. _syscall2(int, fremovexattr, int, filedes, const char *, name);
  58. #endif