diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2014-05-08 07:02:22 -0400 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2014-12-03 10:51:14 -0500 |
commit | e65392e2ccbea210da1d8d8571de0d9821c42e7c (patch) | |
tree | 596a27bae750f2a274b841b067aef72dc582f06b | |
parent | 82c13d42bb9e54e0678cbbac16fb51cf3e2f0eff (diff) |
Bluetooth: Add basic SMP defines for LE Secure Connections
This patch adds basic SMP defines for commands, error codes and PDU
definitions for the LE Secure Connections feature.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-rw-r--r-- | net/bluetooth/smp.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/net/bluetooth/smp.h b/net/bluetooth/smp.h index f76083b85005..7c3c351909f5 100644 --- a/net/bluetooth/smp.h +++ b/net/bluetooth/smp.h | |||
@@ -50,10 +50,13 @@ struct smp_cmd_pairing { | |||
50 | #define SMP_DIST_ENC_KEY 0x01 | 50 | #define SMP_DIST_ENC_KEY 0x01 |
51 | #define SMP_DIST_ID_KEY 0x02 | 51 | #define SMP_DIST_ID_KEY 0x02 |
52 | #define SMP_DIST_SIGN 0x04 | 52 | #define SMP_DIST_SIGN 0x04 |
53 | #define SMP_DIST_LINK_KEY 0x08 | ||
53 | 54 | ||
54 | #define SMP_AUTH_NONE 0x00 | 55 | #define SMP_AUTH_NONE 0x00 |
55 | #define SMP_AUTH_BONDING 0x01 | 56 | #define SMP_AUTH_BONDING 0x01 |
56 | #define SMP_AUTH_MITM 0x04 | 57 | #define SMP_AUTH_MITM 0x04 |
58 | #define SMP_AUTH_SC 0x08 | ||
59 | #define SMP_AUTH_KEYPRESS 0x10 | ||
57 | 60 | ||
58 | #define SMP_CMD_PAIRING_CONFIRM 0x03 | 61 | #define SMP_CMD_PAIRING_CONFIRM 0x03 |
59 | struct smp_cmd_pairing_confirm { | 62 | struct smp_cmd_pairing_confirm { |
@@ -102,7 +105,23 @@ struct smp_cmd_security_req { | |||
102 | __u8 auth_req; | 105 | __u8 auth_req; |
103 | } __packed; | 106 | } __packed; |
104 | 107 | ||
105 | #define SMP_CMD_MAX 0x0b | 108 | #define SMP_CMD_PUBLIC_KEY 0x0c |
109 | struct smp_cmd_public_key { | ||
110 | __u8 x[32]; | ||
111 | __u8 y[32]; | ||
112 | } __packed; | ||
113 | |||
114 | #define SMP_CMD_DHKEY_CHECK 0x0d | ||
115 | struct smp_cmd_dhkey_check { | ||
116 | __u8 e[16]; | ||
117 | } __packed; | ||
118 | |||
119 | #define SMP_CMD_KEYPRESS_NOTIFY 0x0e | ||
120 | struct smp_cmd_keypress_notify { | ||
121 | __u8 value; | ||
122 | } __packed; | ||
123 | |||
124 | #define SMP_CMD_MAX 0x0e | ||
106 | 125 | ||
107 | #define SMP_PASSKEY_ENTRY_FAILED 0x01 | 126 | #define SMP_PASSKEY_ENTRY_FAILED 0x01 |
108 | #define SMP_OOB_NOT_AVAIL 0x02 | 127 | #define SMP_OOB_NOT_AVAIL 0x02 |
@@ -114,6 +133,10 @@ struct smp_cmd_security_req { | |||
114 | #define SMP_UNSPECIFIED 0x08 | 133 | #define SMP_UNSPECIFIED 0x08 |
115 | #define SMP_REPEATED_ATTEMPTS 0x09 | 134 | #define SMP_REPEATED_ATTEMPTS 0x09 |
116 | #define SMP_INVALID_PARAMS 0x0a | 135 | #define SMP_INVALID_PARAMS 0x0a |
136 | #define SMP_DHKEY_CHECK_FAILED 0x0b | ||
137 | #define SMP_NUMERIC_COMP_FAILED 0x0c | ||
138 | #define SMP_BREDR_PAIRING_IN_PROGRESS 0x0d | ||
139 | #define SMP_CROSS_TRANSP_NOT_ALLOWED 0x0e | ||
117 | 140 | ||
118 | #define SMP_MIN_ENC_KEY_SIZE 7 | 141 | #define SMP_MIN_ENC_KEY_SIZE 7 |
119 | #define SMP_MAX_ENC_KEY_SIZE 16 | 142 | #define SMP_MAX_ENC_KEY_SIZE 16 |