kdbus.h: remove features bitfield from make calls (ABI break)
authorDaniel Mack <daniel@zonque.org>
Thu, 16 Oct 2014 16:12:54 +0000 (18:12 +0200)
committerDaniel Mack <daniel@zonque.org>
Sat, 18 Oct 2014 19:00:16 +0000 (21:00 +0200)
After discussion in the systemd hackfest, we agreed on flags
negotiation via the flags fields, so there's no need for a bitmask
called 'features' anymore. Drop it.

Signed-off-by: Daniel Mack <daniel@zonque.org>
handle.c
kdbus.h
kdbus.txt

index 34c468fbbd0644d557532b42e931d6608a19e409..2bdd6132fa4d67853569556084bb70f88fb1129e 100644 (file)
--- a/handle.c
+++ b/handle.c
@@ -508,12 +508,6 @@ static long kdbus_handle_ioctl_ep(struct file *file, unsigned int cmd,
                if (ret < 0)
                        break;
 
-               /* Reject all feature requests for now */
-               if (hello->features != 0) {
-                       ret = -EOPNOTSUPP;
-                       break;
-               }
-
                if (hello->pool_size == 0 ||
                    !IS_ALIGNED(hello->pool_size, PAGE_SIZE)) {
                        ret = -EFAULT;
diff --git a/kdbus.h b/kdbus.h
index 79a17f3449a55cd9ce36019f1a90e0e99c85a4eb..a9c4c806608418eacf07da6d94cc9ec90e164ce8 100644 (file)
--- a/kdbus.h
+++ b/kdbus.h
@@ -554,7 +554,6 @@ enum kdbus_attach_flags {
 /**
  * struct kdbus_cmd_hello - struct to say hello to kdbus
  * @size:              The total size of the structure
- * @features:          Feature negotiation bitmask
  * @conn_flags:                Connection flags (KDBUS_HELLO_*).
  * @attach_flags:      Mask of metadata to attach to each message sent
  *                     (KDBUS_ATTACH_*)
@@ -574,7 +573,6 @@ enum kdbus_attach_flags {
  */
 struct kdbus_cmd_hello {
        __u64 size;
-       __u64 features;
        __u64 conn_flags;
        __u64 attach_flags;
        __u64 bus_flags;
@@ -598,7 +596,6 @@ enum kdbus_make_flags {
 /**
  * struct kdbus_cmd_make - struct to make a bus, an endpoint or a domain
  * @size:              The total size of the struct
- * @features:          Feature negotiation bitmask
  * @flags:             Properties for the bus/ep/domain to create
  * @items:             Items describing details
  *
@@ -607,7 +604,6 @@ enum kdbus_make_flags {
  */
 struct kdbus_cmd_make {
        __u64 size;
-       __u64 features;
        __u64 flags;
        struct kdbus_item items[0];
 } __attribute__((aligned(8)));
index 3a219be698c5650e9a44d9fb19be399f287e2ef1..14d77193b8ff3dbd7dc3277c41dddffa31b0d38e 100644 (file)
--- a/kdbus.txt
+++ b/kdbus.txt
@@ -307,14 +307,6 @@ struct kdbus_cmd_make {
   __u64 size;
     The overall size of the struct, including its items.
 
-  __u64 features;
-    Feature negotiation bitmask. In this field, userspace specifies a set
-    of features it requires from the kernel driver. When the ioctl returns,
-    the kernel has set this field to a value describing the features it
-    requires from the userspace. This field is intended for future forward-
-    compatibility and has to be set to 0. Userspace should check the value
-    after the ioctl returned and treat non-null values as error.
-
   __u64 flags;
     The flags for creation.
 
@@ -426,14 +418,6 @@ struct kdbus_cmd_hello {
   __u64 size;
     The overall size of the struct, including all attached items.
 
-  __u64 features;
-    Feature negotiation bitmask. In this field, userspace specifies a set
-    of features it requires from the kernel driver. When the ioctl returns,
-    the kernel has set this field to a value describing the features it
-    requires from the userspace. This field is intended for future forward-
-    compatibility and has to be set to 0. Userspace should check the value
-    after the ioctl returned and treat non-null values as error.
-
   __u64 conn_flags;
     Flags to apply to this connection: