aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/bluetooth/mgmt.h
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@nokia.com>2011-01-13 21:56:52 +0200
committerGustavo F. Padovan <padovan@profusion.mobi>2011-02-08 01:40:06 -0200
commit1aff6f09491f454d4cd9f405c783fa5e9d3168a0 (patch)
tree3c51a386ada638e39bf6fa42dbc35413ede08ddd /include/net/bluetooth/mgmt.h
parentd5859e22cd40b73164b3e5d8d5d796f96edcc6af (diff)
downloadkernel_samsung_smdk4412-1aff6f09491f454d4cd9f405c783fa5e9d3168a0.zip
kernel_samsung_smdk4412-1aff6f09491f454d4cd9f405c783fa5e9d3168a0.tar.gz
kernel_samsung_smdk4412-1aff6f09491f454d4cd9f405c783fa5e9d3168a0.tar.bz2
Bluetooth: Add class of device control to the management interface
This patch adds the possibility for user space to fully control the Class of Device value of local adapters. To control the service class bits each UUID that's added comes with a service class "hint" which acts as a mask of bits that the UUID needs to have enabled. The set_service_cache management command is used to make sure we queue up all UUID changes as user space initializes its drivers and then send a single HCI_Write_Class_of_Device command when initialization is complete. Signed-off-by: Johan Hedberg <johan.hedberg@nokia.com> Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'include/net/bluetooth/mgmt.h')
-rw-r--r--include/net/bluetooth/mgmt.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/net/bluetooth/mgmt.h b/include/net/bluetooth/mgmt.h
index c118ad3..b092c4c 100644
--- a/include/net/bluetooth/mgmt.h
+++ b/include/net/bluetooth/mgmt.h
@@ -76,6 +76,7 @@ struct mgmt_mode {
struct mgmt_cp_add_uuid {
__le16 index;
__u8 uuid[16];
+ __u8 svc_hint;
} __packed;
#define MGMT_OP_REMOVE_UUID 0x000A
@@ -84,6 +85,19 @@ struct mgmt_cp_remove_uuid {
__u8 uuid[16];
} __packed;
+#define MGMT_OP_SET_DEV_CLASS 0x000B
+struct mgmt_cp_set_dev_class {
+ __le16 index;
+ __u8 major;
+ __u8 minor;
+} __packed;
+
+#define MGMT_OP_SET_SERVICE_CACHE 0x000C
+struct mgmt_cp_set_service_cache {
+ __le16 index;
+ __u8 enable;
+} __packed;
+
#define MGMT_EV_CMD_COMPLETE 0x0001
struct mgmt_ev_cmd_complete {
__le16 opcode;