Home | History | Annotate | Download | only in btm

Lines Matching defs:p_rec

1018     tBTM_SEC_DEV_REC *p_rec;
1030 if ((p_rec = btm_find_dev (bd_addr)) != NULL && (p_keys || key_type== BTM_LE_KEY_LID))
1032 btm_ble_init_pseudo_addr (p_rec, bd_addr);
1037 memcpy(p_rec->ble.keys.pltk, p_keys->penc_key.ltk, BT_OCTET16_LEN);
1038 memcpy(p_rec->ble.keys.rand, p_keys->penc_key.rand, BT_OCTET8_LEN);
1039 p_rec->ble.keys.sec_level = p_keys->penc_key.sec_level;
1040 p_rec->ble.keys.ediv = p_keys->penc_key.ediv;
1041 p_rec->ble.keys.key_size = p_keys->penc_key.key_size;
1042 p_rec->ble.key_type |= BTM_LE_KEY_PENC;
1043 p_rec->sec_flags |= BTM_SEC_LE_LINK_KEY_KNOWN;
1045 p_rec->sec_flags |= BTM_SEC_LE_LINK_KEY_AUTHED;
1047 p_rec->sec_flags &= ~BTM_SEC_LE_LINK_KEY_AUTHED;
1049 p_rec->ble.key_type,
1050 p_rec->sec_flags,
1051 p_rec->ble.keys.sec_level);
1057 p_rec->ble.keys.irk[i] = p_keys->pid_key.irk[i];
1060 //memcpy( p_rec->ble.keys.irk, p_keys->pid_key, BT_OCTET16_LEN); todo will crash the system
1061 memcpy(p_rec->ble.static_addr, p_keys->pid_key.static_addr, BD_ADDR_LEN);
1062 p_rec->ble.static_addr_type = p_keys->pid_key.addr_type;
1063 p_rec->ble.key_type |= BTM_LE_KEY_PID;
1064 BTM_TRACE_DEBUG("BTM_LE_KEY_PID key_type=0x%x save peer IRK", p_rec->ble.key_type);
1066 memcpy(p_rec->bd_addr, p_keys->pid_key.static_addr, BD_ADDR_LEN);
1068 btm_consolidate_dev(p_rec);
1072 memcpy(p_rec->ble.keys.pcsrk, p_keys->pcsrk_key.csrk, BT_OCTET16_LEN);
1073 p_rec->ble.keys.srk_sec_level = p_keys->pcsrk_key.sec_level;
1074 p_rec->ble.keys.counter = p_keys->pcsrk_key.counter;
1075 p_rec->ble.key_type |= BTM_LE_KEY_PCSRK;
1076 p_rec->sec_flags |= BTM_SEC_LE_LINK_KEY_KNOWN;
1078 p_rec->sec_flags |= BTM_SEC_LE_LINK_KEY_AUTHED;
1080 p_rec->sec_flags &= ~BTM_SEC_LE_LINK_KEY_AUTHED;
1083 p_rec->ble.key_type,
1084 p_rec->sec_flags,
1085 p_rec->ble.keys.srk_sec_level,
1086 p_rec->ble.keys.counter );
1090 memcpy(p_rec->ble.keys.lltk, p_keys->lenc_key.ltk, BT_OCTET16_LEN);
1091 p_rec->ble.keys.div = p_keys->lenc_key.div; /* update DIV */
1092 p_rec->ble.keys.sec_level = p_keys->lenc_key.sec_level;
1093 p_rec->ble.keys.key_size = p_keys->lenc_key.key_size;
1094 p_rec->ble.key_type |= BTM_LE_KEY_LENC;
1097 p_rec->ble.key_type,
1098 p_rec->ble.keys.div,
1099 p_rec->ble.keys.key_size,
1100 p_rec->ble.keys.sec_level );
1104 memcpy (p_rec->ble.keys.lcsrk, p_keys->lcsrk_key.csrk, BT_OCTET16_LEN);
1105 p_rec->ble.keys.div = p_keys->lcsrk_key.div; /* update DIV */
1106 p_rec->ble.keys.local_csrk_sec_level = p_keys->lcsrk_key.sec_level;
1107 p_rec->ble.keys.local_counter = p_keys->lcsrk_key.counter;
1108 p_rec->ble.key_type |= BTM_LE_KEY_LCSRK;
1110 p_rec->ble.key_type,
1111 p_rec->ble.keys.div,
1112 p_rec->ble.keys.local_csrk_sec_level,
1113 p_rec->ble.keys.local_counter );
1117 p_rec->ble.key_type |= BTM_LE_KEY_LID;
1144 if (p_rec)
1146 BTM_TRACE_DEBUG ("sec_flags=0x%x", p_rec->sec_flags);
1161 tBTM_SEC_DEV_REC *p_rec;
1165 if ((p_rec = btm_find_dev (bd_addr)) != NULL )
1167 p_rec->enc_key_size = enc_key_size;
1182 tBTM_SEC_DEV_REC *p_rec;
1184 if ((p_rec = btm_find_dev (bd_addr)) != NULL )
1186 return p_rec->enc_key_size;
1282 tBTM_SEC_DEV_REC *p_rec = btm_find_dev (bd_addr);
1286 if (p_rec == NULL)
1292 BTM_TRACE_DEBUG ("btm_ble_set_encryption sec_act=0x%x role_master=%d", sec_act, p_rec->role_master);
1296 p_rec->security_required |= BTM_SEC_IN_MITM;
1328 p_rec->sec_state = BTM_SEC_STATE_AUTHENTICATING;
1383 tBTM_SEC_DEV_REC *p_rec = btm_find_dev (bda);
1389 if (!p_rec )
1395 if (p_rec->sec_state == BTM_SEC_STATE_ENCRYPTING)
1401 p_cb->enc_handle = p_rec->ble_hci_handle;
1405 if (btsnd_hcic_ble_start_enc(p_rec->ble_hci_handle, dummy_rand, 0, stk))
1408 else if (p_rec->ble.key_type & BTM_LE_KEY_PENC)
1410 if (btsnd_hcic_ble_start_enc(p_rec->ble_hci_handle, p_rec->ble.keys.rand,
1411 p_rec->ble.keys.ediv, p_rec->ble.keys.pltk))
1420 if (p_rec->sec_state == BTM_SEC_STATE_IDLE)
1421 p_rec->sec_state = BTM_SEC_STATE_ENCRYPTING;
1538 tBTM_SEC_DEV_REC *p_rec = btm_find_dev (bda);
1542 if (p_rec == NULL)
1549 p_cb->enc_handle = p_rec->ble_hci_handle;
1550 p_cb->key_size = p_rec->ble.keys.key_size;
1552 BTM_TRACE_ERROR("key size = %d", p_rec->ble.keys.key_size);
1559 if (p_rec->ble.key_type & BTM_LE_KEY_LENC)
1560 btsnd_hcic_ble_ltk_req_reply(btm_cb.enc_handle, p_rec->ble.keys.lltk);
1687 static void btm_ble_resolve_random_addr_on_conn_cmpl(void * p_rec, void *p_data)
1690 tBTM_SEC_DEV_REC *match_rec = (tBTM_SEC_DEV_REC *) p_rec;
2071 tBTM_SEC_DEV_REC *p_rec = btm_find_dev (bd_addr);
2075 if (p_rec == NULL)
2094 UINT32_TO_STREAM(pp, p_rec->ble.keys.local_counter);
2095 UINT32_TO_STREAM(p_mac, p_rec->ble.keys.local_counter);
2097 if ((ret = aes_cipher_msg_auth_code(p_rec->ble.keys.lcsrk, p_buf, (UINT16)(len + 4),
2134 tBTM_SEC_DEV_REC *p_rec = btm_find_dev (bd_addr);
2137 if (p_rec == NULL || (p_rec && !(p_rec->ble.key_type & BTM_LE_KEY_PCSRK)))
2141 else if (counter < p_rec->ble.keys.counter)
2152 p_rec->ble.keys.counter);
2154 if (aes_cipher_msg_auth_code(p_rec->ble.keys.pcsrk, p_orig, len, BTM_CMAC_TLEN_SIZE, p_mac))