diff --git a/src/gatt-database.c b/src/gatt-database.c
index 26e4fae..2261398 100644
--- a/src/gatt-database.c
+++ b/src/gatt-database.c
static uint8_t dbus_error_to_att_ecode(const char *error_name)
{
- /* TODO: Parse error ATT ecode from error_message */
if (strcmp(error_name, "org.bluez.Error.Failed") == 0)
return 0x80; /* For now return this "application error" */
if (strcmp(error_name, "org.bluez.Error.InvalidValueLength") == 0)
return BT_ATT_ERROR_INVALID_ATTRIBUTE_VALUE_LEN;
+ if (strcmp(error_name, "org.bluez.Error.InProgress") == 0)
+ return BT_ERROR_ALREADY_IN_PROGRESS;
+
return 0;
}
diff --git a/src/shared/att-types.h b/src/shared/att-types.h
index aa7f0da..10a42f2 100644
--- a/src/shared/att-types.h
+++ b/src/shared/att-types.h
#define BT_ATT_ERROR_INSUFFICIENT_RESOURCES 0x11
/*
+ * Common Profile and Service Error Code descriptions (see Supplement to the
+ * Bluetooth Core Specification, sections 1.2 and 2). The error codes within
+ * 0xE0-0xFC are reserved for future use. The remaining 3 are defined as the
+ * following:
+ */
+#define BT_ERROR_CCC_IMPROPERLY_CONFIGURED 0xfd
+#define BT_ERROR_ALREADY_IN_PROGRESS 0xfe
+#define BT_ERROR_OUT_OF_RANGE 0xff
+
+/*
* ATT attribute permission bitfield values. Permissions are grouped as
* "Access", "Encryption", "Authentication", and "Authorization". A bitmask of
* permissions is a byte that encodes a combination of these.
diff --git a/src/shared/att.c b/src/shared/att.c
index 422cc2c..b920eb8 100644
--- a/src/shared/att.c
+++ b/src/shared/att.c
#define ATT_OP_SIGNED_MASK 0x80
#define ATT_TIMEOUT_INTERVAL 30000 /* 30000 ms */
-/*
- * Common Profile and Service Error Code descriptions (see Supplement to the
- * Bluetooth Core Specification, sections 1.2 and 2). The error codes within
- * 0xE0-0xFC are reserved for future use. The remaining 3 are defined as the
- * following:
- */
-#define BT_ERROR_CCC_IMPROPERLY_CONFIGURED 0xfd
-#define BT_ERROR_ALREADY_IN_PROGRESS 0xfe
-#define BT_ERROR_OUT_OF_RANGE 0xff
-
/* Length of signature in write signed packet */
#define BT_ATT_SIGNATURE_LEN 12