Patch with small CoD changes in hciconfig and hcitool
Hi all,
I was using hciconfig to perform some tests and I realized that there were a few omissions and small mistakes in the way hciconfig and hcitool were converting CoD information to strings.
I've created a small patch to fix this. It's the first patch I send to this list, so forgive me if there is any "childish" mistake or style flaw in it ;-) Any comments are welcome.
Cheers,
Luca.
hciconfig.c +69 -6
@@ -597,16 +597,51 @@return "Gaming/Toy" ; }break ; -case 5 :/* peripheral */ -switch (minor) { +case 5 :/* peripheral */ { +static char cls_str[48 ]; cls_str[0 ] =0 ; + +switch (minor &48 ) {case 16 : -return "Keyboard" ; +strncpy (cls_str,"Keyboard" ,sizeof (cls_str)); +break ;case 32 : -return "Pointing device" ; +strncpy (cls_str,"Pointing device" ,sizeof (cls_str)); +break ;case 48 : -return "Combo keyboard/pointing device" ; +strncpy (cls_str,"Combo keyboard/pointing device" ,sizeof (cls_str)); +break ; } -break ; +if ((minor &15 ) && (strlen (cls_str) >0 )) +strcat (cls_str,"/" ); + +switch (minor &15 ) { +case 0 : +break ; +case 1 : +strncat (cls_str,"Joystick" ,sizeof (cls_str) -strlen (cls_str)); +break ; +case 2 : +strncat (cls_str,"Gamepad" ,sizeof (cls_str) -strlen (cls_str)); +break ; +case 3 : +strncat (cls_str,"Remote control" ,sizeof (cls_str) -strlen (cls_str)); +break ; +case 4 : +strncat (cls_str,"Sensing device" ,sizeof (cls_str) -strlen (cls_str)); +break ; +case 5 : +strncat (cls_str,"Digitizer tablet" ,sizeof (cls_str) -strlen (cls_str)); +break ; +case 6 : +strncat (cls_str,"Card reader" ,sizeof (cls_str) -strlen (cls_str)); +break ; +default : +strncat (cls_str,"(reserved)" ,sizeof (cls_str) -strlen (cls_str)); +break ; + } +if (strlen (cls_str) >0 ) +return cls_str; + }case 6 :/* imaging */ if (minor &4 )return "Display" ;
@@ -617,6 +652,34 @@if (minor &32 )return "Printer" ;break ; +case 7 :/* wearable */ +switch (minor) { +case 1 : +return "Wrist Watch" ; +case 2 : +return "Pager" ; +case 3 : +return "Jacket" ; +case 4 : +return "Helmet" ; +case 5 : +return "Glasses" ; + } +break ; +case 8 :/* toy */ +switch (minor) { +case 1 : +return "Robot" ; +case 2 : +return "Vehicle" ; +case 3 : +return "Doll / Action Figure" ; +case 4 : +return "Controller" ; +case 5 : +return "Game" ; + } +break ;case 63 :/* uncategorised */ return "" ; }
Index: tools/hcitool.c
===================================================================
RCS file: /cvsroot/bluez/utils/tools/hcitool.c,v
retrieving revision 1.91
hcitool.c +68 -5
90 lines not on this page · raw message
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Hello,
Has anyone had the time to look into this patch I submited a while ago? It's really a simple patch and not very critical, but it's very useful in certain test scenarios.
I've shown this patch to Johan previously and he thought it was ok. Would anyone have the time to take a look at it? It would be nice to have it included in the main bluez tree...
Cheers,
Luca.
Quoted 200 lines · Luciano Coelho
Hi all,
I was using hciconfig to perform some tests and I realized that there were a few omissions and small mistakes in the way hciconfig and hcitool were converting CoD information to strings.
I've created a small patch to fix this. It's the first patch I send to this list, so forgive me if there is any "childish" mistake or style flaw in it ;-) Any comments are welcome.
Cheers,
Luca.------------------------------------------------------------------------
hciconfig.c +69
-6@@ -597,16 +597,51 @@return "Gaming/Toy" ; }break ; -case 5 :/* peripheral */ -switch (minor) { +case 5 :/* peripheral */ { +static char cls_str[48 ]; cls_str[0 ] =0 ; + +switch (minor &48 ) {case 16 : -return "Keyboard" ; +strncpy (cls_str,"Keyboard" ,sizeof (cls_str)); +break ;case 32 : -return "Pointing device" ; +strncpy (cls_str,"Pointing device" ,sizeof (cls_str)); +break ;case 48 : -return "Combo keyboard/pointing device" ; +strncpy (cls_str,"Combo keyboard/pointing device" ,sizeof (cls_str)); +break ; } -break ; +if ((minor &15 ) && (strlen (cls_str) >0 )) +strcat (cls_str,"/" ); + +switch (minor &15 ) { +case 0 : +break ; +case 1 : +strncat (cls_str,"Joystick" ,sizeof (cls_str) -strlen (cls_str)); +break ; +case 2 : +strncat (cls_str,"Gamepad" ,sizeof (cls_str) -strlen (cls_str)); +break ; +case 3 : +strncat (cls_str,"Remote control" ,sizeof (cls_str) -strlen (cls_str)); +break ; +case 4 : +strncat (cls_str,"Sensing device" ,sizeof (cls_str) -strlen (cls_str)); +break ; +case 5 : +strncat (cls_str,"Digitizer tablet" ,sizeof (cls_str) -strlen (cls_str)); +break ; +case 6 : +strncat (cls_str,"Card reader" ,sizeof (cls_str) -strlen (cls_str)); +break ; +default : +strncat (cls_str,"(reserved)" ,sizeof (cls_str) -strlen (cls_str)); +break ; + } +if (strlen (cls_str) >0 ) +return cls_str; + }case 6 :/* imaging */ if (minor &4 )return "Display" ;@@ -617,6 +652,34 @@if (minor &32 )return "Printer" ;break ; +case 7 :/* wearable */ +switch (minor) { +case 1 : +return "Wrist Watch" ; +case 2 : +return "Pager" ; +case 3 : +return "Jacket" ; +case 4 : +return "Helmet" ; +case 5 : +return "Glasses" ; + } +break ; +case 8 :/* toy */ +switch (minor) { +case 1 : +return "Robot" ; +case 2 : +return "Vehicle" ; +case 3 : +return "Doll / Action Figure" ; +case 4 : +return "Controller" ; +case 5 : +return "Game" ; + } +break ;case 63 :/* uncategorised */ return "" ; }Index:
tools/hcitool.c
===================================================================
RCS file: /cvsroot/bluez/utils/tools/hcitool.c,v
retrieving revision 1.91
diff -u -r1.91hcitool.chcitool.c +61
-5@@ -245,16 +245,51 @@return "Gaming/Toy" ; }break ; -case 5 :/* peripheral */ -switch (minor) { +case 5 :/* peripheral */ { +static char cls_str[48 ]; cls_str[0 ] =0 ; + +switch (minor &48 ) {case 16 : -return "Keyboard" ; +strncpy (cls_str,"Keyboard" ,sizeof (cls_str)); +break ;case 32 : -return "Pointing device" ; +strncpy (cls_str,"Pointing device" ,sizeof (cls_str)); +break ;case 48 : -return "Combo keyboard/pointing device" ; +strncpy (cls_str,"Combo keyboard/pointing device" ,sizeof (cls_str)); +break ; } +if ((minor &15 ) && (strlen (cls_str) >0 )) +strcat (cls_str,"/" ); + +switch (minor &15 ) { +case 0 : +break ; +case 1 : +strncat (cls_str,"Joystick" ,sizeof (cls_str) -strlen (cls_str)); +break ; +case 2 : +strncat (cls_str,"Gamepad" ,sizeof (cls_str) -strlen (cls_str)); +break ; +case 3 : +strncat (cls_str,"Remote control" ,sizeof (cls_str) -strlen (cls_str)); +break ; +case 4 : +strncat (cls_str,"Sensing device" ,sizeof (cls_str) -strlen (cls_str)); +break ; +case 5 : +strncat (cls_str,"Digitizer tablet" ,sizeof (cls_str) -strlen (cls_str));break ; +case 6 : +strncat (cls_str,"Card reader" ,sizeof (cls_str) -strlen (cls_str)); +break ; +default : +strncat (cls_str,"(reserved)" ,sizeof (cls_str) -strlen (cls_str)); +break ; + } +if (strlen (cls_str) >0 ) +return cls_str; + }case 6 :/* imaging */ if (minor &4 )return "Display" ;@@ -265,6 +300,34 @@if (minor &32 )return "Printer" ;break ; +case 7 :/* wearable */ +switch (minor) { +case 1 : +return "Wrist Watch" ; +case 2 : +return "Pager" ; +case 3 : +return "Jacket" ; +case 4 : +return "Helmet" ; +case 5 : +return "Glasses" ; + } +break ; +case 8 :/* toy */ +switch (minor) { +case 1 : +return "Robot" ; +case 2 : +return "Vehicle" ; +case 3 :
hcitool.c line 333
Quoted 10 lines
hcitool.c +7
-0+return "Doll / Action Figure" ; +case 4 : +return "Controller" ; +case 5 : +return "Game" ; + } +break ;case 63 :/* uncategorised */ return "" ; }
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel