| #ifndef __SMP_H | |
| #define __SMP_H | |
| struct smp_command_hdr { | |
| __u8 code; | |
| } __packed; | |
| #define SMP_CMD_PAIRING_REQ 0x01 | |
| #define SMP_CMD_PAIRING_RSP 0x02 | |
| struct smp_cmd_pairing { | |
| __u8 io_capability; | |
| __u8 oob_flag; | |
| __u8 auth_req; | |
| __u8 max_key_size; | |
| __u8 init_key_dist; | |
| __u8 resp_key_dist; | |
| } __packed; | |
| #define SMP_CMD_PAIRING_CONFIRM 0x03 | |
| struct smp_cmd_pairing_confirm { | |
| __u8 confirm_val[16]; | |
| } __packed; | |
| #define SMP_CMD_PAIRING_RANDOM 0x04 | |
| struct smp_cmd_pairing_random { | |
| __u8 rand_val[16]; | |
| } __packed; | |
| #define SMP_CMD_PAIRING_FAIL 0x05 | |
| struct smp_cmd_pairing_fail { | |
| __u8 reason; | |
| } __packed; | |
| #define SMP_CMD_ENCRYPT_INFO 0x06 | |
| struct smp_cmd_encrypt_info { | |
| __u8 ltk[16]; | |
| } __packed; | |
| #define SMP_CMD_MASTER_IDENT 0x07 | |
| struct smp_cmd_master_ident { | |
| __u16 ediv; | |
| __u8 rand[8]; | |
| } __packed; | |
| #define SMP_CMD_IDENT_INFO 0x08 | |
| struct smp_cmd_ident_info { | |
| __u8 irk[16]; | |
| } __packed; | |
| #define SMP_CMD_IDENT_ADDR_INFO 0x09 | |
| struct smp_cmd_ident_addr_info { | |
| __u8 addr_type; | |
| bdaddr_t bdaddr; | |
| } __packed; | |
| #define SMP_CMD_SIGN_INFO 0x0a | |
| struct smp_cmd_sign_info { | |
| __u8 csrk[16]; | |
| } __packed; | |
| #define SMP_CMD_SECURITY_REQ 0x0b | |
| struct smp_cmd_security_req { | |
| __u8 auth_req; | |
| } __packed; | |
| #define SMP_PASSKEY_ENTRY_FAILED 0x01 | |
| #define SMP_OOB_NOT_AVAIL 0x02 | |
| #define SMP_AUTH_REQUIREMENTS 0x03 | |
| #define SMP_CONFIRM_FAILED 0x04 | |
| #define SMP_PAIRING_NOTSUPP 0x05 | |
| #define SMP_ENC_KEY_SIZE 0x06 | |
| #define SMP_CMD_NOTSUPP 0x07 | |
| #define SMP_UNSPECIFIED 0x08 | |
| #define SMP_REPEATED_ATTEMPTS 0x09 | |
| #endif /* __SMP_H */ |