--- attr-2.4.47/include/xattr.h
+++ attr-2.4.47/include/xattr.h
@@ -31,33 +31,37 @@
 #define XATTR_REPLACE 0x2       /* set value, fail if attr does not exist */
 
 
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 extern int setxattr (const char *__path, const char *__name,
-		      const void *__value, size_t __size, int __flags) __THROW;
+		      const void *__value, size_t __size, int __flags);
 extern int lsetxattr (const char *__path, const char *__name,
-		      const void *__value, size_t __size, int __flags) __THROW;
+		      const void *__value, size_t __size, int __flags);
 extern int fsetxattr (int __filedes, const char *__name,
-		      const void *__value, size_t __size, int __flags) __THROW;
+		      const void *__value, size_t __size, int __flags);
 
 extern ssize_t getxattr (const char *__path, const char *__name,
-				void *__value, size_t __size) __THROW;
+				void *__value, size_t __size);
 extern ssize_t lgetxattr (const char *__path, const char *__name,
-				void *__value, size_t __size) __THROW;
+				void *__value, size_t __size);
 extern ssize_t fgetxattr (int __filedes, const char *__name,
-				void *__value, size_t __size) __THROW;
+				void *__value, size_t __size);
 
 extern ssize_t listxattr (const char *__path, char *__list,
-				size_t __size) __THROW;
+				size_t __size);
 extern ssize_t llistxattr (const char *__path, char *__list,
-				size_t __size) __THROW;
+				size_t __size);
 extern ssize_t flistxattr (int __filedes, char *__list,
-				size_t __size) __THROW;
+				size_t __size);
 
-extern int removexattr (const char *__path, const char *__name) __THROW;
-extern int lremovexattr (const char *__path, const char *__name) __THROW;
-extern int fremovexattr (int __filedes,   const char *__name) __THROW;
+extern int removexattr (const char *__path, const char *__name);
+extern int lremovexattr (const char *__path, const char *__name);
+extern int fremovexattr (int __filedes,   const char *__name);
 
-__END_DECLS
+#ifdef __cplusplus
+}
+#endif
 
 #endif	/* __XATTR_H__ */