This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: s390/s390-64 missing xattr exports
Andreas Jaeger <aj@suse.de> writes:
> Ok, I'll work on adding all this stuff now:
> - Add the xattr interface for all architectures with ENOSYS stubs in
> sysdeps/generic
> - adding a sys/xattr.h header, this one should go into
> misc/sys/xattr.h.
> - Reverting the patch for Versions that added those to some Linux
> archs
> - and instead add a patch to misc/Versions with the new symbols.
Here's the promised patch.
Ok to commit? I'll test it now on i686-linux,
Andreas
2002-08-23 Andreas Jaeger <aj@suse.de>
* sysdeps/generic/fgetxattr.c: New.
* sysdeps/generic/flistxattr.c: New.
* sysdeps/generic/fremovexattr.c: New.
* sysdeps/generic/fsetxattr.c: New.
* sysdeps/generic/getxattr.c: New.
* sysdeps/generic/listxattr.c: New.
* sysdeps/generic/lgetxattr.c: New.
* sysdeps/generic/llistxattr.c: New.
* sysdeps/generic/lremovexattr.c: New.
* sysdeps/generic/lsetxattr.c: New.
* sysdeps/generic/removexattr.c: New.
* sysdeps/generic/setxattr.c: New.
* misc/sys/xattr.h: New file, contributed by Christoph Hellwig
<hch@lst.de>.
* misc/Makefile (headers): Add sys/xattr.h.
(routines): Add *xattr calls.
* misc/Versions: Add *xattr calls with version 2.3.
* sysdeps/unix/sysv/linux/m68k/Versions: Remove *xattr syscalls.
* sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise.
* sysdeps/unix/sysv/linux/x86_64/Versions: Likewise.
* sysdeps/unix/sysv/linux/ia64/Versions: Likewise.
* sysdeps/unix/sysv/linux/alpha/Versions: Likewise.
* sysdeps/unix/sysv/linux/arm/Versions: Likewise.
============================================================
Index: misc/Makefile
--- misc/Makefile 29 Jan 2002 08:22:07 -0000 1.93
+++ misc/Makefile 23 Aug 2002 08:21:56 -0000
@@ -29,7 +29,7 @@ headers := sys/uio.h bits/uio.h sys/ioct
sys/mman.h sys/param.h fstab.h mntent.h search.h err.h error.h \
sys/queue.h sysexits.h syscall.h sys/syscall.h sys/swap.h \
sys/select.h ustat.h sys/ustat.h bits/ustat.h sys/sysinfo.h \
- regexp.h bits/select.h bits/mman.h
+ regexp.h bits/select.h bits/mman.h sys/xattr.h
routines := brk sbrk sstk ioctl \
readv writev \
@@ -58,7 +58,10 @@ routines := brk sbrk sstk ioctl \
hsearch hsearch_r tsearch lsearch \
err error ustat \
getsysstats dirname regexp \
- getloadavg getclktck
+ getloadavg getclktck \
+ fgetxattr flistxattr fremovexattr fsetxattr getxattr \
+ listxattr lgetxattr llistxattr lremovexattr lsetxattr \
+ removexattr setxattr
distribute := device-nrs.h
============================================================
Index: misc/Versions
--- misc/Versions 1 Feb 2002 23:11:01 -0000 1.9
+++ misc/Versions 23 Aug 2002 08:21:56 -0000
@@ -108,6 +108,23 @@ libc {
# p*
posix_madvise;
}
+ GLIBC_2.3 {
+ # f*
+ fgetxattr; flistxattr; fremovexattr; fsetxattr;
+
+ # g*
+ getxattr;
+
+ # l*
+ listxattr;
+ lgetxattr; llistxattr; lremovexattr; lsetxattr;
+
+ # r*
+ removexattr;
+
+ # s*
+ setxattr;
+ }
GLIBC_PRIVATE {
# functions which have an additional interface since they are
# cancelable.
============================================================
Index: sysdeps/unix/sysv/linux/alpha/Versions
--- sysdeps/unix/sysv/linux/alpha/Versions 15 Aug 2002 09:01:49 -0000 1.9
+++ sysdeps/unix/sysv/linux/alpha/Versions 23 Aug 2002 08:21:56 -0000
@@ -57,21 +57,4 @@ libc {
# w*
wordexp;
}
- GLIBC_2.3 {
- # f*
- fgetxattr; flistxattr; fremovexattr; fsetxattr;
-
- # g*
- getxattr;
-
- # l*
- listxattr;
- lgetxattr; llistxattr; lremovexattr; lsetxattr;
-
- # r*
- removexattr;
-
- # s*
- setxattr;
- }
}
============================================================
Index: sysdeps/unix/sysv/linux/arm/Versions
--- sysdeps/unix/sysv/linux/arm/Versions 15 Aug 2002 09:01:51 -0000 1.11
+++ sysdeps/unix/sysv/linux/arm/Versions 23 Aug 2002 08:21:56 -0000
@@ -31,21 +31,4 @@ libc {
# v*
versionsort64;
}
- GLIBC_2.3 {
- # f*
- fgetxattr; flistxattr; fremovexattr; fsetxattr;
-
- # g*
- getxattr;
-
- # l*
- listxattr;
- lgetxattr; llistxattr; lremovexattr; lsetxattr;
-
- # r*
- removexattr;
-
- # s*
- setxattr;
- }
}
============================================================
Index: sysdeps/unix/sysv/linux/ia64/Versions
--- sysdeps/unix/sysv/linux/ia64/Versions 15 Aug 2002 09:01:52 -0000 1.9
+++ sysdeps/unix/sysv/linux/ia64/Versions 23 Aug 2002 08:21:56 -0000
@@ -22,21 +22,4 @@ libc {
GLIBC_2.2.6 {
getunwind;
}
- GLIBC_2.3 {
- # f*
- fgetxattr; flistxattr; fremovexattr; fsetxattr;
-
- # g*
- getxattr;
-
- # l*
- listxattr;
- lgetxattr; llistxattr; lremovexattr; lsetxattr;
-
- # r*
- removexattr;
-
- # s*
- setxattr;
- }
}
============================================================
Index: sysdeps/unix/sysv/linux/m68k/Versions
--- sysdeps/unix/sysv/linux/m68k/Versions 15 Aug 2002 09:01:52 -0000 1.5
+++ sysdeps/unix/sysv/linux/m68k/Versions 23 Aug 2002 08:21:56 -0000
@@ -29,21 +29,4 @@ libc {
# v*
versionsort64;
}
- GLIBC_2.3 {
- # f*
- fgetxattr; flistxattr; fremovexattr; fsetxattr;
-
- # g*
- getxattr;
-
- # l*
- listxattr;
- lgetxattr; llistxattr; lremovexattr; lsetxattr;
-
- # r*
- removexattr;
-
- # s*
- setxattr;
- }
}
============================================================
Index: sysdeps/unix/sysv/linux/mips/Versions
--- sysdeps/unix/sysv/linux/mips/Versions 15 Aug 2002 09:01:52 -0000 1.6
+++ sysdeps/unix/sysv/linux/mips/Versions 23 Aug 2002 08:21:56 -0000
@@ -17,21 +17,4 @@ libc {
# _*
_test_and_set;
}
- #GLIBC_2.3 {
- # # f*
- # fgetxattr; flistxattr; fremovexattr; fsetxattr;
- #
- # # g*
- # getxattr;
- #
- # # l*
- # listxattr;
- # lgetxattr; llistxattr; lremovexattr; lsetxattr;
- #
- # # r*
- # removexattr;
- #
- # # s*
- # setxattr;
- #}
}
============================================================
Index: sysdeps/unix/sysv/linux/powerpc/Versions
--- sysdeps/unix/sysv/linux/powerpc/Versions 15 Aug 2002 09:01:53 -0000 1.7
+++ sysdeps/unix/sysv/linux/powerpc/Versions 23 Aug 2002 08:21:56 -0000
@@ -20,21 +20,4 @@ libc {
# s*
scandir64;
}
- GLIBC_2.3 {
- # f*
- fgetxattr; flistxattr; fremovexattr; fsetxattr;
-
- # g*
- getxattr;
-
- # l*
- listxattr;
- lgetxattr; llistxattr; lremovexattr; lsetxattr;
-
- # r*
- removexattr;
-
- # s*
- setxattr;
- }
}
============================================================
Index: sysdeps/unix/sysv/linux/x86_64/Versions
--- sysdeps/unix/sysv/linux/x86_64/Versions 15 Aug 2002 09:01:53 -0000 1.4
+++ sysdeps/unix/sysv/linux/x86_64/Versions 23 Aug 2002 08:21:56 -0000
@@ -9,21 +9,4 @@ libc {
GLIBC_PRIVATE {
__modify_ldt;
}
- GLIBC_2.3 {
- # f*
- fgetxattr; flistxattr; fremovexattr; fsetxattr;
-
- # g*
- getxattr;
-
- # l*
- listxattr;
- lgetxattr; llistxattr; lremovexattr; lsetxattr;
-
- # r*
- removexattr;
-
- # s*
- setxattr;
- }
}
============================================================
Index: sysdeps/unix/sysv/linux/s390/s390-32/Versions
--- sysdeps/unix/sysv/linux/s390/s390-32/Versions 15 Aug 2002 09:01:54 -0000 1.3
+++ sysdeps/unix/sysv/linux/s390/s390-32/Versions 23 Aug 2002 08:21:56 -0000
@@ -23,22 +23,5 @@ libc {
# v*
versionsort64;
}
- GLIBC_2.3 {
- # f*
- fgetxattr; flistxattr; fremovexattr; fsetxattr;
-
- # g*
- getxattr;
-
- # l*
- listxattr;
- lgetxattr; llistxattr; lremovexattr; lsetxattr;
-
- # r*
- removexattr;
-
- # s*
- setxattr;
- }
}
============================================================
Index: sysdeps/unix/sysv/linux/sparc/sparc32/Versions
--- sysdeps/unix/sysv/linux/sparc/sparc32/Versions 15 Aug 2002 09:01:54 -0000 1.6
+++ sysdeps/unix/sysv/linux/sparc/sparc32/Versions 23 Aug 2002 08:21:56 -0000
@@ -17,21 +17,4 @@ libc {
# s*
scandir64;
}
- GLIBC_2.3 {
- # f*
- fgetxattr; flistxattr; fremovexattr; fsetxattr;
-
- # g*
- getxattr;
-
- # l*
- listxattr;
- lgetxattr; llistxattr; lremovexattr; lsetxattr;
-
- # r*
- removexattr;
-
- # s*
- setxattr;
- }
}
============================================================
Index: sysdeps/unix/sysv/linux/sparc/sparc64/Versions
--- sysdeps/unix/sysv/linux/sparc/sparc64/Versions 15 Aug 2002 09:01:54 -0000 1.4
+++ sysdeps/unix/sysv/linux/sparc/sparc64/Versions 23 Aug 2002 08:21:56 -0000
@@ -8,21 +8,4 @@ libc {
# w*
wordexp;
}
- GLIBC_2.3 {
- # f*
- fgetxattr; flistxattr; fremovexattr; fsetxattr;
-
- # g*
- getxattr;
-
- # l*
- listxattr;
- lgetxattr; llistxattr; lremovexattr; lsetxattr;
-
- # r*
- removexattr;
-
- # s*
- setxattr;
- }
}
============================================================
Index: sysdeps/generic/fgetxattr.c
--- sysdeps/generic/fgetxattr.c created
+++ sysdeps/generic/fgetxattr.c Fri Aug 23 10:10:48 2002 1.1
@@ -0,0 +1,31 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+ 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
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <errno.h>
+#include <sys/xattr.h>
+
+ssize_t
+fgetxattr (int __fd, const char *__name,
+ void *__value, size_t __size)
+{
+ __set_errno (ENOSYS);
+ return -1;
+}
+
+stub_warning (fgetxattr)
+#include <stub-tag.h>
============================================================
Index: sysdeps/generic/flistxattr.c
--- sysdeps/generic/flistxattr.c created
+++ sysdeps/generic/flistxattr.c Fri Aug 23 10:13:54 2002 1.1
@@ -0,0 +1,30 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+ 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
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <errno.h>
+#include <sys/xattr.h>
+
+ssize_t
+flistxattr (const char *__path, char *__list, size_t __size)
+{
+ __set_errno (ENOSYS);
+ return -1;
+}
+
+stub_warning (flistxattr)
+#include <stub-tag.h>
============================================================
Index: sysdeps/generic/fremovexattr.c
--- sysdeps/generic/fremovexattr.c created
+++ sysdeps/generic/fremovexattr.c Fri Aug 23 10:15:09 2002 1.1
@@ -0,0 +1,30 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+ 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
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <errno.h>
+#include <sys/xattr.h>
+
+int
+fremovexattr (int __fd, const char *__name)
+{
+ __set_errno (ENOSYS);
+ return -1;
+}
+
+stub_warning (fremovexattr)
+#include <stub-tag.h>
============================================================
Index: sysdeps/generic/fsetxattr.c
--- sysdeps/generic/fsetxattr.c created
+++ sysdeps/generic/fsetxattr.c Fri Aug 23 10:09:33 2002 1.1
@@ -0,0 +1,31 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+ 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
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <errno.h>
+#include <sys/xattr.h>
+
+int
+fsetxattr (int __fd, const char *__name, const void *__value,
+ size_t __size, int __flags)
+{
+ __set_errno (ENOSYS);
+ return -1;
+}
+
+stub_warning (fsetxattr)
+#include <stub-tag.h>
============================================================
Index: sysdeps/generic/getxattr.c
--- sysdeps/generic/getxattr.c created
+++ sysdeps/generic/getxattr.c Fri Aug 23 10:10:19 2002 1.1
@@ -0,0 +1,31 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+ 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
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <errno.h>
+#include <sys/xattr.h>
+
+ssize_t
+getxattr (const char *__path, const char *__name,
+ void *__value, size_t __size)
+{
+ __set_errno (ENOSYS);
+ return -1;
+}
+
+stub_warning (getxattr)
+#include <stub-tag.h>
============================================================
Index: sysdeps/generic/lgetxattr.c
--- sysdeps/generic/lgetxattr.c created
+++ sysdeps/generic/lgetxattr.c Fri Aug 23 10:10:33 2002 1.1
@@ -0,0 +1,31 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+ 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
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <errno.h>
+#include <sys/xattr.h>
+
+ssize_t
+lgetxattr (const char *__path, const char *__name,
+ void *__value, size_t __size)
+{
+ __set_errno (ENOSYS);
+ return -1;
+}
+
+stub_warning (lgetxattr)
+#include <stub-tag.h>
============================================================
Index: sysdeps/generic/listxattr.c
--- sysdeps/generic/listxattr.c created
+++ sysdeps/generic/listxattr.c Fri Aug 23 10:11:52 2002 1.1
@@ -0,0 +1,30 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+ 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
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <errno.h>
+#include <sys/xattr.h>
+
+ssize_t
+listxattr (const char *__path, char *__list, size_t __size)
+{
+ __set_errno (ENOSYS);
+ return -1;
+}
+
+stub_warning (listxattr)
+#include <stub-tag.h>
============================================================
Index: sysdeps/generic/llistxattr.c
--- sysdeps/generic/llistxattr.c created
+++ sysdeps/generic/llistxattr.c Fri Aug 23 10:12:10 2002 1.1
@@ -0,0 +1,30 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+ 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
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <errno.h>
+#include <sys/xattr.h>
+
+ssize_t
+llistxattr (const char *__path, char *__list, size_t __size)
+{
+ __set_errno (ENOSYS);
+ return -1;
+}
+
+stub_warning (llistxattr)
+#include <stub-tag.h>
============================================================
Index: sysdeps/generic/lremovexattr.c
--- sysdeps/generic/lremovexattr.c created
+++ sysdeps/generic/lremovexattr.c Fri Aug 23 10:14:47 2002 1.1
@@ -0,0 +1,30 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+ 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
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <errno.h>
+#include <sys/xattr.h>
+
+int
+lremovexattr (const char *__path, const char *__name)
+{
+ __set_errno (ENOSYS);
+ return -1;
+}
+
+stub_warning (lremovexattr)
+#include <stub-tag.h>
============================================================
Index: sysdeps/generic/lsetxattr.c
--- sysdeps/generic/lsetxattr.c created
+++ sysdeps/generic/lsetxattr.c Fri Aug 23 10:09:41 2002 1.1
@@ -0,0 +1,31 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+ 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
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <errno.h>
+#include <sys/xattr.h>
+
+int
+lsetxattr (const char *__path, const char *__name,
+ const void *__value, size_t __size, int __flags)
+{
+ __set_errno (ENOSYS);
+ return -1;
+}
+
+stub_warning (lsetxattr)
+#include <stub-tag.h>
============================================================
Index: sysdeps/generic/removexattr.c
--- sysdeps/generic/removexattr.c created
+++ sysdeps/generic/removexattr.c Fri Aug 23 10:14:53 2002 1.1
@@ -0,0 +1,30 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+ 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
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <errno.h>
+#include <sys/xattr.h>
+
+int
+removexattr (const char *__path, const char *__name)
+{
+ __set_errno (ENOSYS);
+ return -1;
+}
+
+stub_warning (removexattr)
+#include <stub-tag.h>
============================================================
Index: sysdeps/generic/setxattr.c
--- sysdeps/generic/setxattr.c created
+++ sysdeps/generic/setxattr.c Fri Aug 23 10:09:46 2002 1.1
@@ -0,0 +1,31 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+ 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
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <errno.h>
+#include <sys/xattr.h>
+
+int
+setxattr (const char *__path, const char *__name,
+ const void *__value, size_t __size, int __flags)
+{
+ __set_errno (ENOSYS);
+ return -1;
+}
+
+stub_warning (setxattr)
+#include <stub-tag.h>
============================================================
Index: misc/sys/xattr.h
--- misc/sys/xattr.h created
+++ misc/sys/xattr.h Fri Aug 23 09:50:57 2002 1.1
@@ -0,0 +1,106 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+ 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
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#ifndef _XATTR_H
+#define _XATTR_H 1
+
+#include <features.h>
+
+
+#define __need_size_t
+#include <stddef.h>
+
+__BEGIN_DECLS
+
+/* The following constants should be used for the fifth parameter of
+ `*setxattr'. */
+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
+};
+
+/* 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. */
+extern int setxattr (const char *__path, const char *__name,
+ const void *__value, size_t __size, int __flags)
+ __THROW;
+
+/* 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. */
+extern int lsetxattr (const char *__path, const char *__name,
+ const void *__value, size_t __size, int __flags)
+ __THROW;
+
+/* Set the attribute NAME of the file descriptor FD to VALUE (which is SIZE
+ bytes long). Return 0 on success, -1 for errors. */
+extern int fsetxattr (int __fd, const char *__name, const void *__value,
+ size_t __size, int __flags) __THROW;
+
+/* 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. */
+extern ssize_t getxattr (const char *__path, const char *__name,
+ void *__value, size_t __size) __THROW;
+
+/* 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. */
+extern ssize_t lgetxattr (const char *__path, const char *__name,
+ void *__value, size_t __size) __THROW;
+
+/* Get the attribute NAME of the file descriptor FD to VALUE (which is SIZE
+ bytes long). Return 0 on success, -1 for errors. */
+extern ssize_t fgetxattr (int __fd, const char *__name, void *__value,
+ size_t __size) __THROW;
+
+/* 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. */
+extern ssize_t listxattr (const char *__path, char *__list, size_t __size)
+ __THROW;
+
+/* 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. */
+extern ssize_t llistxattr (const char *__path, char *__list, size_t __size)
+ __THROW;
+
+/* 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)
+ __THROW;
+
+/* Remove the attribute NAME from the file pointed to by PATH. Return 0
+ on success, -1 for errors. */
+extern int removexattr (const char *__path, const char *__name) __THROW;
+
+/* 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. */
+extern int lremovexattr (const char *__path, const char *__name) __THROW;
+
+/* Remove the attribute NAME from the file descriptor FD. Return 0 on
+ success, -1 for errors. */
+extern int fremovexattr (int __fd, const char *__name) __THROW;
+
+__END_DECLS
+
+#endif /* xattr.h */
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj