Substitute le_read_supported_status with le_read_supported_states.

Refer to bluetooth core v5.2 specifications Vol4. Part E. 7.8.27.

PR:		245763
Submitted by:	Marc Veldman <marc@bumblingdork.com>
MFC after:	1 week
Sponsored by:	Mellanox Technologies
This commit is contained in:
Hans Petter Selasky 2020-04-20 13:44:14 +00:00
parent 47c0672b08
commit 21eefd310a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=360116
3 changed files with 23 additions and 17 deletions

View File

@ -842,7 +842,7 @@ process_le_params(ng_hci_unit_p unit, u_int16_t ocf,
case NG_HCI_OCF_LE_RAND:
case NG_HCI_OCF_LE_LONG_TERM_KEY_REQUEST_REPLY:
case NG_HCI_OCF_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY:
case NG_HCI_OCF_LE_READ_SUPPORTED_STATUS:
case NG_HCI_OCF_LE_READ_SUPPORTED_STATES:
case NG_HCI_OCF_LE_RECEIVER_TEST:
case NG_HCI_OCF_LE_TRANSMITTER_TEST:
case NG_HCI_OCF_LE_TEST_END:
@ -913,7 +913,7 @@ process_le_status(ng_hci_unit_p unit,ng_hci_command_status_ep *ep,
case NG_HCI_OCF_LE_RAND:
case NG_HCI_OCF_LE_LONG_TERM_KEY_REQUEST_REPLY:
case NG_HCI_OCF_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY:
case NG_HCI_OCF_LE_READ_SUPPORTED_STATUS:
case NG_HCI_OCF_LE_READ_SUPPORTED_STATES:
case NG_HCI_OCF_LE_RECEIVER_TEST:
case NG_HCI_OCF_LE_TRANSMITTER_TEST:
case NG_HCI_OCF_LE_TEST_END:

View File

@ -1673,12 +1673,12 @@ typedef struct {
}__attribute__ ((packed)) ng_hci_le_long_term_key_request_negative_reply_rp;
#define NG_HCI_OCF_LE_READ_SUPPORTED_STATUS 0x001c
#define NG_HCI_OCF_LE_READ_SUPPORTED_STATES 0x001c
/*No command parameter*/
typedef struct {
u_int8_t status;
u_int64_t le_status;
}__attribute__ ((packed)) ng_hci_le_read_supported_status_rp;
u_int64_t le_states;
}__attribute__ ((packed)) ng_hci_le_read_supported_states_rp;
#define NG_HCI_OCF_LE_RECEIVER_TEST 0x001d
typedef struct{

View File

@ -52,7 +52,7 @@ static int le_set_scan_param(int s, int argc, char *argv[]);
static int le_set_scan_enable(int s, int argc, char *argv[]);
static int parse_param(int argc, char *argv[], char *buf, int *len);
static int le_set_scan_response(int s, int argc, char *argv[]);
static int le_read_supported_status(int s, int argc, char *argv[]);
static int le_read_supported_states(int s, int argc, char *argv[]);
static int le_read_local_supported_features(int s, int argc ,char *argv[]);
static int set_le_event_mask(int s, uint64_t mask);
static int set_event_mask(int s, uint64_t mask);
@ -259,20 +259,26 @@ le_read_local_supported_features(int s, int argc ,char *argv[])
}
static int
le_read_supported_status(int s, int argc, char *argv[])
le_read_supported_states(int s, int argc, char *argv[])
{
ng_hci_le_read_supported_status_rp rp;
int e;
ng_hci_le_read_supported_states_rp rp;
int n = sizeof(rp);
e = hci_simple_request(s, NG_HCI_OPCODE(
if (hci_simple_request(s, NG_HCI_OPCODE(
NG_HCI_OGF_LE,
NG_HCI_OCF_LE_READ_SUPPORTED_STATUS),
(void *)&rp, &n);
NG_HCI_OCF_LE_READ_SUPPORTED_STATES),
(void *)&rp, &n) == ERROR)
return (ERROR);
printf("LE_STATUS: %d %d %jx\n", e, rp.status, (uintmax_t)rp.le_status);
if (rp.status != 0x00) {
fprintf(stdout, "Status: %s [%#02x]\n",
hci_status2str(rp.status), rp.status);
return (FAILED);
}
return 0;
fprintf(stdout, "LE States: %jx\n", rp.le_states);
return (OK);
}
static int
@ -347,11 +353,11 @@ struct hci_command le_commands[] = {
&le_read_local_supported_features,
},
{
"le_read_supported_status",
"le_read_supported_status\n"
"le_read_supported_states",
"le_read_supported_states\n"
"read supported status"
,
&le_read_supported_status,
&le_read_supported_states,
},
{
"le_set_scan_response",