[rename] renamed kdbus related macros
[platform/upstream/dbus.git] / dbus / kdbus-common.c
index a456dd9..e0e6305 100644 (file)
 #include <dbus/dbus-internals.h>
 #include <dbus/dbus-shared.h>
 
-static struct kdbus_policy *make_policy_name(const char *name)
+static struct kdbus_item *make_policy_name(const char *name)
 {
-  struct kdbus_policy *p;
+  struct kdbus_item *p;
   __u64 size;
 
-  size = offsetof(struct kdbus_policy, name) + strlen(name) + 1;
+  size = offsetof(struct kdbus_item, policy.name) + strlen(name) + 1;
   p = malloc(size);
   if (!p)
-    return NULL;
+         return NULL;
   memset(p, 0, size);
   p->size = size;
-  p->type = KDBUS_POLICY_NAME;
-  strcpy(p->name, name);
+  p->type = KDBUS_ITEM_POLICY_NAME;
+  memcpy(p->policy.name, name, strlen(name) + 1);
 
   return p;
 }
 
-static struct kdbus_policy *make_policy_access(__u64 type, __u64 bits, __u64 id)
+static  struct kdbus_item *make_policy_access(__u64 type, __u64 bits, __u64 id)
 {
-  struct kdbus_policy *p;
+  struct kdbus_item *p;
   __u64 size = sizeof(*p);
 
   p = malloc(size);
   if (!p)
-    return NULL;
+         return NULL;
 
   memset(p, 0, size);
   p->size = size;
-  p->type = KDBUS_POLICY_ACCESS;
-  p->access.type = type;
-  p->access.bits = bits;
-  p->access.id = id;
+  p->type = KDBUS_ITEM_POLICY_ACCESS;
+  p->policy.access.type = type;
+  p->policy.access.bits = bits;
+  p->policy.access.id = id;
 
   return p;
 }
 
-static void append_policy(struct kdbus_cmd_policy *cmd_policy, struct kdbus_policy *policy, __u64 max_size)
+static void append_policy(struct kdbus_cmd_policy *cmd_policy, struct kdbus_item *policy, __u64 max_size)
 {
-  struct kdbus_policy *dst = (struct kdbus_policy *) ((char *) cmd_policy + cmd_policy->size);
+  struct kdbus_item *dst = (struct kdbus_item *) ((char *) cmd_policy + cmd_policy->size);
 
   if (cmd_policy->size + policy->size > max_size)
-    return;
+         return;
 
   memcpy(dst, policy, policy->size);
   cmd_policy->size += KDBUS_ALIGN8(policy->size);
@@ -101,7 +101,7 @@ static void append_policy(struct kdbus_cmd_policy *cmd_policy, struct kdbus_poli
 dbus_bool_t register_kdbus_policy(const char* name, DBusTransport *transport, unsigned long int owner_uid)
 {
   struct kdbus_cmd_policy *cmd_policy;
-  struct kdbus_policy *policy;
+  struct kdbus_item *policy;
   int size = 0xffff;
   int fd;
 
@@ -111,7 +111,7 @@ dbus_bool_t register_kdbus_policy(const char* name, DBusTransport *transport, un
   cmd_policy = alloca(size);
   memset(cmd_policy, 0, size);
 
-  policy = (struct kdbus_policy *) cmd_policy->policies;
+  policy = (struct kdbus_item *) cmd_policy->policies;
   cmd_policy->size = offsetof(struct kdbus_cmd_policy, policies);
 
   policy = make_policy_name(name);
@@ -169,12 +169,11 @@ int request_kdbus_name(int fd, const char *name, const __u64 flags, __u64 id)
     flags_kdbus |= KDBUS_NAME_QUEUE;
   if(flags & DBUS_NAME_FLAG_REPLACE_EXISTING)
     flags_kdbus |= KDBUS_NAME_REPLACE_EXISTING;
-  if(flags & KDBUS_NAME_STARTER)
-    flags_kdbus |= KDBUS_NAME_STARTER;
+  if(flags & KDBUS_NAME_STARTER_NAME)
+    flags_kdbus |= KDBUS_NAME_STARTER_NAME;
 
   cmd_name->flags = flags_kdbus;
   cmd_name->id = id;
-  //   cmd_name->conn_flags = 0;
 
   _dbus_verbose("Request name - flags sent: 0x%llx       !!!!!!!!!\n", cmd_name->flags);
 
@@ -183,6 +182,8 @@ int request_kdbus_name(int fd, const char *name, const __u64 flags, __u64 id)
       _dbus_verbose ("error acquiring name '%s': %m, %d\n", name, errno);
       if(errno == EEXIST)
         return DBUS_REQUEST_NAME_REPLY_EXISTS;
+      if(errno == EALREADY)
+        return DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER;
       return -errno;
     }
 
@@ -192,9 +193,6 @@ int request_kdbus_name(int fd, const char *name, const __u64 flags, __u64 id)
     return DBUS_REQUEST_NAME_REPLY_IN_QUEUE;
   else
     return DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER;
-  /*todo now 1 code is never returned -  DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER
-   * because kdbus never returns it now
-   */
 }
 
 /**
@@ -221,7 +219,7 @@ int release_kdbus_name(int fd, const char *name, __u64 id)
 
   if (ioctl(fd, KDBUS_CMD_NAME_RELEASE, cmd_name))
     {
-      if(errno == ESRCH)
+      if((errno == ESRCH) || (errno == ENXIO))
         return DBUS_RELEASE_NAME_REPLY_NON_EXISTENT;
       else if (errno == EPERM)
         return DBUS_RELEASE_NAME_REPLY_NOT_OWNER;