This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]