--- tools/btiotest.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/tools/btiotest.c b/tools/btiotest.c index 7a77bb7..853d6d4 100644 --- a/tools/btiotest.c +++ b/tools/btiotest.c @@ -436,7 +436,8 @@ static void rfcomm_listen(const char *src, uint8_t ch, gboolean defer, g_io_channel_unref(rc_srv); } -static void sco_connect(const char *src, const char *dst, gint disconn) +static void sco_connect(const char *src, const char *dst, gint disconn, + gint mode) { struct io_data *data; GError *err = NULL; @@ -451,12 +452,14 @@ static void sco_connect(const char *src, const char *dst, gint disconn) &err, BT_IO_OPT_SOURCE, src, BT_IO_OPT_DEST, dst, + BT_IO_OPT_SCO_MODE, mode, BT_IO_OPT_INVALID); else data->io = bt_io_connect(connect_cb, data, (GDestroyNotify) io_data_unref, &err, BT_IO_OPT_DEST, dst, + BT_IO_OPT_SCO_MODE, mode, BT_IO_OPT_INVALID); if (!data->io) { @@ -467,7 +470,7 @@ static void sco_connect(const char *src, const char *dst, gint disconn) } static void sco_listen(const char *src, gboolean defer, gint reject, - gint disconn, gint accept) + gint disconn, gint accept, gint mode) { struct io_data *data; BtIOConnect conn; @@ -492,11 +495,14 @@ static void sco_listen(const char *src, gboolean defer, gint reject, (GDestroyNotify) io_data_unref, &err, BT_IO_OPT_SOURCE, src, + BT_IO_OPT_SCO_MODE, mode, BT_IO_OPT_INVALID); else sco_srv = bt_io_listen(conn, cfm, data, (GDestroyNotify) io_data_unref, - &err, BT_IO_OPT_INVALID); + &err, + BT_IO_OPT_SCO_MODE, mode, + BT_IO_OPT_INVALID); if (!sco_srv) { printf("Listening failed: %s\n", err->message); @@ -511,6 +517,7 @@ static gint opt_channel = -1; static gint opt_psm = 0; static gboolean opt_sco = FALSE; static gboolean opt_defer = FALSE; +static gint opt_mode = 0; static char *opt_dev = NULL; static gint opt_reject = -1; static gint opt_disconn = -1; @@ -537,6 +544,8 @@ static GOptionEntry options[] = { "Use SCO" }, { "defer", 'd', 0, G_OPTION_ARG_NONE, &opt_defer, "Use DEFER_SETUP for incoming connections" }, + { "mode", 'M', 0, G_OPTION_ARG_NONE, &opt_mode, + "Use specified mode (0 CVSD, 1 Transparent)" }, { "sec-level", 'S', 0, G_OPTION_ARG_INT, &opt_sec, "Security level" }, { "update-sec-level", 'U', 0, G_OPTION_ARG_INT, &opt_update_sec, @@ -602,10 +611,10 @@ int main(int argc, char *argv[]) if (opt_sco) { if (argc > 1) - sco_connect(opt_dev, argv[1], opt_disconn); + sco_connect(opt_dev, argv[1], opt_disconn, opt_mode); else sco_listen(opt_dev, opt_defer, opt_reject, - opt_disconn, opt_accept); + opt_disconn, opt_accept, opt_mode); } signal(SIGTERM, sig_term); -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html