Index: trunk/Nebulous/nebclient/src/nebclient.c
===================================================================
--- trunk/Nebulous/nebclient/src/nebclient.c	(revision 20110)
+++ trunk/Nebulous/nebclient/src/nebclient.c	(revision 20209)
@@ -4,5 +4,5 @@
  * Copyright (C) 2005  Joshua Hoblitt
  *
- * $Id: nebclient.c,v 1.51 2008-10-13 22:11:09 jhoblitt Exp $
+ * $Id: nebclient.c,v 1.52 2008-10-16 23:53:01 jhoblitt Exp $
  */
 
@@ -333,4 +333,41 @@
 }
 
+
+bool nebSetXattr(nebServer *server, const char *key, const char *name, const char *value, nebCR flag)
+{
+
+    REQUIRE_SERVER;
+
+    if (!key) {
+        nebSetErr(server, "parameter 'key' may not be NULL");
+        return false;
+    }
+    if (!name) {
+        nebSetErr(server, "parameter 'name' may not be NULL");
+        return false;
+    }
+    if (!value) {
+        nebSetErr(server, "parameter 'value' may not be NULL");
+        return false;
+    }
+
+    char *type = flag == NEB_CREATE ? "create" : "replace";
+
+    int response;
+    if (soap_call_ns1__setxattr_USCOREobject(server->soap, server->endpoint,
+        NULL, (char *)key, (char *)name, (char *)value, type, &response) != SOAP_OK) {
+        nebSetServerErr(server);
+        return false;
+    }
+
+    if (!response) {
+        nebSetErr(server, "can not set xattr");
+        return false;
+    }
+
+    return true;
+}
+
+
 nebObjectInstances *nebFindInstances(nebServer *server, const char *key, const char *volume)
 {
