diff options
| author | Mat Martineau <mathewm@codeaurora.org> | 2011-11-02 19:18:28 -0400 |
|---|---|---|
| committer | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-11-07 14:24:59 -0500 |
| commit | c14968b0c1792901ac1cbbbf18f42e37b5a6f4df (patch) | |
| tree | 4d13f5ba65e9bf6e3828454dd940d468154f281c | |
| parent | 6b3c7104677a731cf6d3638e09d9d6c530b9bc25 (diff) | |
Bluetooth: Add BT_CHANNEL_POLICY socket option
Allow control of AMP functionality on L2CAP sockets. By default,
connections will be restricted to BR/EDR. Manipulating the
BT_CHANNEL_POLICY option allows for channels to be moved to or created
on AMP controllers.
Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Acked-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
| -rw-r--r-- | include/net/bluetooth/bluetooth.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h index fb1acb3454ae..38cd3dab7f1d 100644 --- a/include/net/bluetooth/bluetooth.h +++ b/include/net/bluetooth/bluetooth.h | |||
| @@ -77,6 +77,33 @@ struct bt_power { | |||
| 77 | #define BT_POWER_FORCE_ACTIVE_OFF 0 | 77 | #define BT_POWER_FORCE_ACTIVE_OFF 0 |
| 78 | #define BT_POWER_FORCE_ACTIVE_ON 1 | 78 | #define BT_POWER_FORCE_ACTIVE_ON 1 |
| 79 | 79 | ||
| 80 | #define BT_CHANNEL_POLICY 10 | ||
| 81 | |||
| 82 | /* BR/EDR only (default policy) | ||
| 83 | * AMP controllers cannot be used. | ||
| 84 | * Channel move requests from the remote device are denied. | ||
| 85 | * If the L2CAP channel is currently using AMP, move the channel to BR/EDR. | ||
| 86 | */ | ||
| 87 | #define BT_CHANNEL_POLICY_BREDR_ONLY 0 | ||
| 88 | |||
| 89 | /* BR/EDR Preferred | ||
| 90 | * Allow use of AMP controllers. | ||
| 91 | * If the L2CAP channel is currently on AMP, move it to BR/EDR. | ||
| 92 | * Channel move requests from the remote device are allowed. | ||
| 93 | */ | ||
| 94 | #define BT_CHANNEL_POLICY_BREDR_PREFERRED 1 | ||
| 95 | |||
| 96 | /* AMP Preferred | ||
| 97 | * Allow use of AMP controllers | ||
| 98 | * If the L2CAP channel is currently on BR/EDR and AMP controller | ||
| 99 | * resources are available, initiate a channel move to AMP. | ||
| 100 | * Channel move requests from the remote device are allowed. | ||
| 101 | * If the L2CAP socket has not been connected yet, try to create | ||
| 102 | * and configure the channel directly on an AMP controller rather | ||
| 103 | * than BR/EDR. | ||
| 104 | */ | ||
| 105 | #define BT_CHANNEL_POLICY_AMP_PREFERRED 2 | ||
| 106 | |||
| 80 | __attribute__((format (printf, 2, 3))) | 107 | __attribute__((format (printf, 2, 3))) |
| 81 | int bt_printk(const char *level, const char *fmt, ...); | 108 | int bt_printk(const char *level, const char *fmt, ...); |
| 82 | 109 | ||
