This patch adds an extra callback to inform the result of the write operation on an external entity to allow the core to reply properly for the ATT request. --- src/gatt-dbus.c | 4 +++- src/gatt.h | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gatt-dbus.c b/src/gatt-dbus.c index 5dbd82e..916f727 100644 --- a/src/gatt-dbus.c +++ b/src/gatt-dbus.c @@ -186,7 +186,9 @@ static void proxy_write_reply(const DBusError *derr, void *user_data) } static void proxy_write_cb(struct btd_attribute *attr, - const uint8_t *value, size_t len) + const uint8_t *value, size_t len, + btd_attr_write_result_t result, + void *user_data) { GDBusProxy *proxy; diff --git a/src/gatt.h b/src/gatt.h index 41fb3e5..447a380 100644 --- a/src/gatt.h +++ b/src/gatt.h @@ -48,8 +48,11 @@ typedef void (*btd_attr_read_t) (struct btd_attribute *attr, * @err: error in -errno format. * @user_data: user_data passed in btd_attr_write_t callback */ +typedef void (*btd_attr_write_result_t) (int err, void *user_data); typedef void (*btd_attr_write_t) (struct btd_attribute *attr, - const uint8_t *value, size_t len); + const uint8_t *value, size_t len, + btd_attr_write_result_t result, + void *user_data); /* btd_gatt_add_service - Add a service declaration to local attribute database. * @uuid: Service UUID. -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html