diff mbox series

[BlueZ,v2] tools/obexctl: Add support to connect using PSM port

Message ID 20241014171058.75235-1-frederic.danis@collabora.com
State Superseded
Headers show
Series [BlueZ,v2] tools/obexctl: Add support to connect using PSM port | expand

Commit Message

Frédéric Danis Oct. 14, 2024, 5:10 p.m. UTC
Since commit 5d7d3ac25bd5 ("obexd: Add PSM support to session create")
obexd supports to connect the session using a L2CAP PSM.
---
 tools/obexctl.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

Comments

patchwork-bot+bluetooth@kernel.org Oct. 18, 2024, 2:10 p.m. UTC | #1
Hello:

This patch was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:

On Mon, 14 Oct 2024 19:10:58 +0200 you wrote:
> Since commit 5d7d3ac25bd5 ("obexd: Add PSM support to session create")
> obexd supports to connect the session using a L2CAP PSM.
> ---
>  tools/obexctl.c | 17 +++++++++++------
>  1 file changed, 11 insertions(+), 6 deletions(-)

Here is the summary with links:
  - [BlueZ,v2] tools/obexctl: Add support to connect using PSM port
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=b30b1eddb4b3

You are awesome, thank you!
diff mbox series

Patch

diff --git a/tools/obexctl.c b/tools/obexctl.c
index 56a76915c..c3db11b67 100644
--- a/tools/obexctl.c
+++ b/tools/obexctl.c
@@ -114,7 +114,7 @@  static void connect_reply(DBusMessage *message, void *user_data)
 struct connect_args {
 	char *dev;
 	char *target;
-	uint8_t channel;
+	uint16_t channel;
 };
 
 static void connect_args_free(void *data)
@@ -144,9 +144,14 @@  static void connect_setup(DBusMessageIter *iter, void *user_data)
 		g_dbus_dict_append_entry(&dict, "Target",
 					DBUS_TYPE_STRING, &args->target);
 
-	if (args->channel)
-		g_dbus_dict_append_entry(&dict, "Channel",
+	if (args->channel) {
+		if (args->channel > 31)
+			g_dbus_dict_append_entry(&dict, "PSM",
+					DBUS_TYPE_UINT16, &args->channel);
+		else
+			g_dbus_dict_append_entry(&dict, "Channel",
 					DBUS_TYPE_BYTE, &args->channel);
+	}
 
 	dbus_message_iter_close_container(iter, &dict);
 }
@@ -169,8 +174,8 @@  static void cmd_connect(int argc, char *argv[])
 		char *endptr = NULL;
 
 		channel = strtol(argv[3], &endptr, 0);
-		if (!endptr || *endptr != '\0' || channel > UINT8_MAX) {
-			bt_shell_printf("Invalid channel\n");
+		if (!endptr || *endptr != '\0' || channel > UINT16_MAX) {
+			bt_shell_printf("Invalid channel or PSM\n");
 			return bt_shell_noninteractive_quit(EXIT_FAILURE);
 		}
 	}
@@ -1846,7 +1851,7 @@  static void cmd_mkdir(int argc, char *argv[])
 static const struct bt_shell_menu main_menu = {
 	.name = "main",
 	.entries = {
-	{ "connect",      "<dev> [uuid] [channel]", cmd_connect,
+	{ "connect",      "<dev> [uuid] [channel|PSM]", cmd_connect,
 						"Connect session" },
 	{ "disconnect",   "[session]", cmd_disconnect, "Disconnect session",
 						session_generator },