diff options
author | Frédéric Danis <frederic.danis@collabora.com> | 2024-01-25 20:08:05 +0100 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2024-01-25 15:50:37 -0500 |
commit | 0de32f67f685b95c35a5c2f1206081af89bd88b6 (patch) | |
tree | dfa750bc4660db0c7edd5c68bf929476f951dfc2 /tools | |
parent | 647adf9260ff554a5b2907ce2c327a9d8b5bd258 (diff) |
btgatt-client: Add function to search all primary services
This is requested to pass PTS GATT/CL/GAD/BV-01-C test.
Diffstat (limited to 'tools')
-rw-r--r-- | tools/btgatt-client.c | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/tools/btgatt-client.c b/tools/btgatt-client.c index 04fd3ce0fb..b47914da3d 100644 --- a/tools/btgatt-client.c +++ b/tools/btgatt-client.c @@ -1354,13 +1354,6 @@ static void cmd_set_sign_key(struct client *cli, char *cmd_str) set_sign_key_usage(); } -static void search_service_usage(void) -{ - printf("Usage: search-service <uuid>\n" - "e.g.:\n" - "\tsearch-service 1800\n"); -} - static void search_service_cb(bool success, uint8_t att_ecode, struct bt_gatt_result *result, void *user_data) @@ -1392,6 +1385,27 @@ static void search_service_cb(bool success, uint8_t att_ecode, PRLOG("\n"); } +static void cmd_search_all_primary_services(struct client *cli, char *cmd_str) +{ + if (!bt_gatt_client_is_ready(cli->gatt)) { + printf("GATT client not initialized\n"); + return; + } + + bt_gatt_discover_all_primary_services(bt_gatt_client_get_att(cli->gatt), + NULL, + search_service_cb, + NULL, + NULL); +} + +static void search_service_usage(void) +{ + printf("Usage: search-service <uuid>\n" + "e.g.:\n" + "\tsearch-service 1800\n"); +} + static void cmd_search_service(struct client *cli, char *cmd_str) { char *argv[2]; @@ -1536,6 +1550,8 @@ static struct { "\tSet retry on security error by elevating security"}, { "set-sign-key", cmd_set_sign_key, "\tSet signing key for signed write command"}, + { "search-all-primary-services", cmd_search_all_primary_services, + "\tSearch all primary services"}, { "search-service", cmd_search_service, "\tSearch service"}, { "search-characteristics", cmd_search_characteristics, |