summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bluetooth/sdpcontrol
diff options
context:
space:
mode:
authoremax <emax@FreeBSD.org>2005-05-27 19:11:33 +0000
committeremax <emax@FreeBSD.org>2005-05-27 19:11:33 +0000
commit720e9b2d9fb28b57fcae795d38e68d9396f1fb0c (patch)
tree4dbe1e40ae84309636c8070672a81ba7f90e84ca /usr.sbin/bluetooth/sdpcontrol
parent9409f5e4f1cae0b940f05349a61181c1a50eda6f (diff)
downloadFreeBSD-src-720e9b2d9fb28b57fcae795d38e68d9396f1fb0c.zip
FreeBSD-src-720e9b2d9fb28b57fcae795d38e68d9396f1fb0c.tar.gz
Do not tread 128-bit UUID as int128. Provide separate macros to get/put
128-bit UUID libsdp(3). Fix 128-bit UUID printing in sdpcontrol(8). MFC after: 3 days
Diffstat (limited to 'usr.sbin/bluetooth/sdpcontrol')
-rw-r--r--usr.sbin/bluetooth/sdpcontrol/search.c63
1 files changed, 36 insertions, 27 deletions
diff --git a/usr.sbin/bluetooth/sdpcontrol/search.c b/usr.sbin/bluetooth/sdpcontrol/search.c
index dad6563..5b19765 100644
--- a/usr.sbin/bluetooth/sdpcontrol/search.c
+++ b/usr.sbin/bluetooth/sdpcontrol/search.c
@@ -29,6 +29,7 @@
* $FreeBSD$
*/
+#include <netinet/in.h>
#include <bluetooth.h>
#include <ctype.h>
#include <sdp.h>
@@ -118,14 +119,14 @@ print_service_class_id_list(uint8_t const *start, uint8_t const *end)
case SDP_DATA_UUID128: {
int128_t uuid;
- SDP_GET128(&uuid, start);
+ SDP_GET_UUID128(&uuid, start);
fprintf(stdout, "\t%#8.8x-%4.4x-%4.4x-%4.4x-%4.4x%8.8x\n",
- *(uint32_t *)&uuid.b[0],
- *(uint16_t *)&uuid.b[4],
- *(uint16_t *)&uuid.b[6],
- *(uint16_t *)&uuid.b[8],
- *(uint16_t *)&uuid.b[10],
- *(uint32_t *)&uuid.b[12]);
+ ntohl(*(uint32_t *)&uuid.b[0]),
+ ntohs(*(uint16_t *)&uuid.b[4]),
+ ntohs(*(uint16_t *)&uuid.b[6]),
+ ntohs(*(uint16_t *)&uuid.b[8]),
+ ntohs(*(uint16_t *)&uuid.b[10]),
+ ntohl(*(uint32_t *)&uuid.b[12]));
} break;
default:
@@ -179,14 +180,14 @@ print_protocol_descriptor(uint8_t const *start, uint8_t const *end)
break;
case SDP_DATA_UUID128:
- SDP_GET128(&value.int128, start);
+ SDP_GET_UUID128(&value.int128, start);
fprintf(stdout, "\t%#8.8x-%4.4x-%4.4x-%4.4x-%4.4x%8.8x\n",
- *(uint32_t *)&value.int128.b[0],
- *(uint16_t *)&value.int128.b[4],
- *(uint16_t *)&value.int128.b[6],
- *(uint16_t *)&value.int128.b[8],
- *(uint16_t *)&value.int128.b[10],
- *(uint32_t *)&value.int128.b[12]);
+ ntohl(*(uint32_t *)&value.int128.b[0]),
+ ntohs(*(uint16_t *)&value.int128.b[4]),
+ ntohs(*(uint16_t *)&value.int128.b[6]),
+ ntohs(*(uint16_t *)&value.int128.b[8]),
+ ntohs(*(uint16_t *)&value.int128.b[10]),
+ ntohl(*(uint32_t *)&value.int128.b[12]));
break;
default:
@@ -235,17 +236,25 @@ print_protocol_descriptor(uint8_t const *start, uint8_t const *end)
case SDP_DATA_UINT128:
case SDP_DATA_INT128:
- case SDP_DATA_UUID128:
SDP_GET128(&value.int128, start);
- fprintf(stdout, "u/int/uuid128 %#8.8x-%4.4x-%4.4x-%4.4x-%4.4x%8.8x\n",
+ fprintf(stdout, "u/int128 %#8.8x%8.8x%8.8x%8.8x\n",
*(uint32_t *)&value.int128.b[0],
- *(uint16_t *)&value.int128.b[4],
- *(uint16_t *)&value.int128.b[6],
- *(uint16_t *)&value.int128.b[8],
- *(uint16_t *)&value.int128.b[10],
+ *(uint32_t *)&value.int128.b[4],
+ *(uint32_t *)&value.int128.b[8],
*(uint32_t *)&value.int128.b[12]);
break;
+ case SDP_DATA_UUID128:
+ SDP_GET_UUID128(&value.int128, start);
+ fprintf(stdout, "uuid128 %#8.8x-%4.4x-%4.4x-%4.4x-%4.4x%8.8x\n",
+ ntohl(*(uint32_t *)&value.int128.b[0]),
+ ntohs(*(uint16_t *)&value.int128.b[4]),
+ ntohs(*(uint16_t *)&value.int128.b[6]),
+ ntohs(*(uint16_t *)&value.int128.b[8]),
+ ntohs(*(uint16_t *)&value.int128.b[10]),
+ ntohl(*(uint32_t *)&value.int128.b[12]));
+ break;
+
case SDP_DATA_STR8:
case SDP_DATA_URL8:
SDP_GET8(len, start);
@@ -446,14 +455,14 @@ print_bluetooth_profile_descriptor_list(uint8_t const *start, uint8_t const *end
case SDP_DATA_UUID128: {
int128_t uuid;
- SDP_GET128(&uuid, start);
+ SDP_GET_UUID128(&uuid, start);
fprintf(stdout, "\t%#8.8x-%4.4x-%4.4x-%4.4x-%4.4x%8.8x ",
- *(uint32_t *)&uuid.b[0],
- *(uint16_t *)&uuid.b[4],
- *(uint16_t *)&uuid.b[6],
- *(uint16_t *)&uuid.b[8],
- *(uint16_t *)&uuid.b[10],
- *(uint32_t *)&uuid.b[12]);
+ ntohl(*(uint32_t *)&uuid.b[0]),
+ ntohs(*(uint16_t *)&uuid.b[4]),
+ ntohs(*(uint16_t *)&uuid.b[6]),
+ ntohs(*(uint16_t *)&uuid.b[8]),
+ ntohs(*(uint16_t *)&uuid.b[10]),
+ ntohl(*(uint32_t *)&uuid.b[12]));
} break;
default:
OpenPOWER on IntegriCloud