* [PATCHv2 1/2] BlueZ: l2test: Use defined L2CAP extended feature mask @ 2011-07-06 7:48 Emeltchenko Andrei 2011-07-06 7:48 ` [PATCHv2 2/2] Bluez: l2test: enhance L2CAP mode option Emeltchenko Andrei 2011-07-26 8:04 ` [PATCHv2 1/2] BlueZ: l2test: Use defined L2CAP extended feature mask Johan Hedberg 0 siblings, 2 replies; 3+ messages in thread From: Emeltchenko Andrei @ 2011-07-06 7:48 UTC (permalink / raw) To: linux-bluetooth From: Andrei Emeltchenko <andrei.emeltchenko@intel.com> Sync l2cap.h from kernel concerning L2CAP extended feature mask. --- lib/l2cap.h | 12 ++++++++++++ test/l2test.c | 20 ++++++++++---------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/lib/l2cap.h b/lib/l2cap.h index e59cfdd..bc87f72 100644 --- a/lib/l2cap.h +++ b/lib/l2cap.h @@ -83,6 +83,18 @@ struct l2cap_conninfo { #define L2CAP_INFO_REQ 0x0a #define L2CAP_INFO_RSP 0x0b +/* L2CAP extended feature mask */ +#define L2CAP_FEAT_FLOWCTL 0x00000001 +#define L2CAP_FEAT_RETRANS 0x00000002 +#define L2CAP_FEAT_BIDIR_QOS 0x00000004 +#define L2CAP_FEAT_ERTM 0x00000008 +#define L2CAP_FEAT_STREAMING 0x00000010 +#define L2CAP_FEAT_FCS 0x00000020 +#define L2CAP_FEAT_EXT_FLOW 0x00000040 +#define L2CAP_FEAT_FIXED_CHAN 0x00000080 +#define L2CAP_FEAT_EXT_WINDOW 0x00000100 +#define L2CAP_FEAT_UCD 0x00000200 + /* L2CAP structures */ typedef struct { uint16_t len; diff --git a/test/l2test.c b/test/l2test.c index 3ac332f..3b606d2 100644 --- a/test/l2test.c +++ b/test/l2test.c @@ -948,25 +948,25 @@ static void info_request(char *svr) case 0x0000: memcpy(&mask, rsp->data, sizeof(mask)); printf("Extended feature mask is 0x%04x\n", btohl(mask)); - if (mask & 0x01) + if (mask & L2CAP_FEAT_FLOWCTL) printf(" Flow control mode\n"); - if (mask & 0x02) + if (mask & L2CAP_FEAT_RETRANS) printf(" Retransmission mode\n"); - if (mask & 0x04) + if (mask & L2CAP_FEAT_BIDIR_QOS) printf(" Bi-directional QoS\n"); - if (mask & 0x08) + if (mask & L2CAP_FEAT_ERTM) printf(" Enhanced Retransmission mode\n"); - if (mask & 0x10) + if (mask & L2CAP_FEAT_STREAMING) printf(" Streaming mode\n"); - if (mask & 0x20) + if (mask & L2CAP_FEAT_FCS) printf(" FCS Option\n"); - if (mask & 0x40) + if (mask & L2CAP_FEAT_EXT_FLOW) printf(" Extended Flow Specification\n"); - if (mask & 0x80) + if (mask & L2CAP_FEAT_FIXED_CHAN) printf(" Fixed Channels\n"); - if (mask & 0x0100) + if (mask & L2CAP_FEAT_EXT_WINDOW) printf(" Extended Window Size\n"); - if (mask & 0x0200) + if (mask & L2CAP_FEAT_UCD) printf(" Unicast Connectionless Data Reception\n"); break; case 0x0001: -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCHv2 2/2] Bluez: l2test: enhance L2CAP mode option 2011-07-06 7:48 [PATCHv2 1/2] BlueZ: l2test: Use defined L2CAP extended feature mask Emeltchenko Andrei @ 2011-07-06 7:48 ` Emeltchenko Andrei 2011-07-26 8:04 ` [PATCHv2 1/2] BlueZ: l2test: Use defined L2CAP extended feature mask Johan Hedberg 1 sibling, 0 replies; 3+ messages in thread From: Emeltchenko Andrei @ 2011-07-06 7:48 UTC (permalink / raw) To: linux-bluetooth From: Andrei Emeltchenko <andrei.emeltchenko@intel.com> --- test/l2test.c | 43 +++++++++++++++++++++++++++++++++++++------ 1 files changed, 37 insertions(+), 6 deletions(-) diff --git a/test/l2test.c b/test/l2test.c index 3b606d2..e719c65 100644 --- a/test/l2test.c +++ b/test/l2test.c @@ -112,6 +112,30 @@ static int reliable = 0; static int timestamp = 0; static int defer_setup = 0; +static struct { + char *name; + int flag; +} l2cap_modes[] = { + { "basic", L2CAP_MODE_BASIC }, + /* Not implemented + { "flowctl", L2CAP_MODE_FLOWCTL }, + { "retrans", L2CAP_MODE_RETRANS }, + */ + { "ertm", L2CAP_MODE_ERTM }, + { "streaming", L2CAP_MODE_STREAMING }, + { 0 } +}; + +static void list_l2cap_modes(void) +{ + int i; + + printf("l2test - L2CAP testing\n" + "List L2CAP modes:\n"); + for (i=0; l2cap_modes[i].name; i++) + printf("\t%s\n", l2cap_modes[i].name); +} + static float tv2fl(struct timeval tv) { return (float)tv.tv_sec + (float)(tv.tv_usec/1000000.0); @@ -1083,7 +1107,7 @@ static void usage(void) "\t[-N num] send num frames (default = infinite)\n" "\t[-C num] send num frames before delay (default = 1)\n" "\t[-D milliseconds] delay after sending num frames (default = 0)\n" - "\t[-X mode] select retransmission/flow-control mode\n" + "\t[-X mode] l2cap mode (help for list, default = basic)\n" "\t[-F fcs] use CRC16 check (default = 1)\n" "\t[-Q num] Max Transmit value (default = 3)\n" "\t[-Z size] Transmission Window size (default = 63)\n" @@ -1100,7 +1124,7 @@ static void usage(void) int main(int argc, char *argv[]) { struct sigaction sa; - int opt, sk, mode = RECV, need_addr = 0; + int opt, sk, i, mode = RECV, need_addr = 0; bacpy(&bdaddr, BDADDR_ANY); @@ -1218,10 +1242,17 @@ int main(int argc, char *argv[]) break; case 'X': - if (strcasecmp(optarg, "ertm") == 0) - rfcmode = L2CAP_MODE_ERTM; - else - rfcmode = atoi(optarg); + rfcmode = -1; + + for (i = 0; l2cap_modes[i].name; i++) + if (!strcasecmp(l2cap_modes[i].name, optarg)) + rfcmode = l2cap_modes[i].flag; + + if (!strcasecmp(optarg, "help") || rfcmode == -1) { + list_l2cap_modes(); + exit(1); + } + break; case 'F': -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCHv2 1/2] BlueZ: l2test: Use defined L2CAP extended feature mask 2011-07-06 7:48 [PATCHv2 1/2] BlueZ: l2test: Use defined L2CAP extended feature mask Emeltchenko Andrei 2011-07-06 7:48 ` [PATCHv2 2/2] Bluez: l2test: enhance L2CAP mode option Emeltchenko Andrei @ 2011-07-26 8:04 ` Johan Hedberg 1 sibling, 0 replies; 3+ messages in thread From: Johan Hedberg @ 2011-07-26 8:04 UTC (permalink / raw) To: Emeltchenko Andrei; +Cc: linux-bluetooth Hi Andrei, On Wed, Jul 06, 2011, Emeltchenko Andrei wrote: > Sync l2cap.h from kernel concerning L2CAP extended feature mask. > --- > lib/l2cap.h | 12 ++++++++++++ > test/l2test.c | 20 ++++++++++---------- > 2 files changed, 22 insertions(+), 10 deletions(-) Both patches have been applied, but before that I had to fix the commit messages (e.g. no need for BlueZ prefix) and split this first patch into two (the lib/l2cap.h change should be separate). Johan ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-07-26 8:04 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-07-06 7:48 [PATCHv2 1/2] BlueZ: l2test: Use defined L2CAP extended feature mask Emeltchenko Andrei 2011-07-06 7:48 ` [PATCHv2 2/2] Bluez: l2test: enhance L2CAP mode option Emeltchenko Andrei 2011-07-26 8:04 ` [PATCHv2 1/2] BlueZ: l2test: Use defined L2CAP extended feature mask Johan Hedberg
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox