Module Name: src Committed By: plunky Date: Sat Jul 25 17:32:47 UTC 2009
Modified Files: src/usr.bin/sdpquery: print.c Log Message: add new Service Class ID and Protocol UUIDs from the Service Discovery assigned numbers document at www.bluetooth.com add detail printing for Message Access Profile v1.0 To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/usr.bin/sdpquery/print.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/sdpquery/print.c diff -u src/usr.bin/sdpquery/print.c:1.2 src/usr.bin/sdpquery/print.c:1.3 --- src/usr.bin/sdpquery/print.c:1.2 Sat Jul 4 16:01:15 2009 +++ src/usr.bin/sdpquery/print.c Sat Jul 25 17:32:47 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: print.c,v 1.2 2009/07/04 16:01:15 plunky Exp $ */ +/* $NetBSD: print.c,v 1.3 2009/07/25 17:32:47 plunky Exp $ */ /*- * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: print.c,v 1.2 2009/07/04 16:01:15 plunky Exp $"); +__RCSID("$NetBSD: print.c,v 1.3 2009/07/25 17:32:47 plunky Exp $"); #include <ctype.h> #include <iconv.h> @@ -73,6 +73,7 @@ static bool print_service_attribute(uint16_t, sdp_data_t *); static void print_bool(sdp_data_t *); +static void print_uint8d(sdp_data_t *); static void print_uint8x(sdp_data_t *); static void print_uint16d(sdp_data_t *); static void print_uint16x(sdp_data_t *); @@ -108,6 +109,7 @@ static void print_hfag_features(sdp_data_t *); static void print_net_access_type(sdp_data_t *); static void print_pnp_source(sdp_data_t *); +static void print_mas_types(sdp_data_t *); static void print_rfcomm(sdp_data_t *); static void print_bnep(sdp_data_t *); @@ -137,6 +139,8 @@ { 0x0019, "AVDTP", print_avdtp }, { 0x001b, "CMTP", NULL }, { 0x001d, "UDI_C_PLANE", NULL }, + { 0x001e, "MCAP_CONTROL_CHANNEL", NULL }, + { 0x001f, "MCAP_DATA_CHANNEL", NULL }, { 0x0100, "L2CAP", print_l2cap }, }; @@ -269,6 +273,11 @@ { 0x0205, "VendorIDSource", print_pnp_source }, }; +attr_t mas_attrs[] = { /* Message Access Server */ + { 0x0315, "InstanceID", print_uint8d }, + { 0x0316, "SupportedMessageTypes", print_mas_types }, +}; + #define A(a) a, __arraycount(a) service_t service_list[] = { { 0x1000, "Service Discovery Server", A(sds_attrs) }, @@ -319,6 +328,13 @@ { 0x112b, "UDI TA", NULL, 0 }, { 0x112c, "Audio/Video", NULL, 0 }, { 0x112d, "SIM Access", NULL, 0 }, + { 0x112e, "Phonebook Access PCE", NULL, 0 }, + { 0x112f, "Phonebook Access PSE", NULL, 0 }, + { 0x1130, "Phonebook Access", NULL, 0 }, + { 0x1131, "Headset HS", NULL, 0 }, + { 0x1132, "Message Access Server", A(mas_attrs) }, + { 0x1133, "Message Notification Server", NULL, 0 }, + { 0x1134, "Message Access Profile", NULL, 0 }, { 0x1200, "PNP Information", A(pnp_attrs) }, { 0x1201, "Generic Networking", NULL, 0 }, { 0x1202, "Generic File Transfer", NULL, 0 }, @@ -329,6 +345,12 @@ { 0x1300, "UPNP IP PAN", NULL, 0 }, { 0x1301, "UPNP IP LAP", NULL, 0 }, { 0x1302, "UPNP IP L2CAP", NULL, 0 }, + { 0x1303, "Video Source", NULL, 0 }, + { 0x1304, "Video Sink", NULL, 0 }, + { 0x1305, "Video Distribution", NULL, 0 }, + { 0x1400, "HDP", NULL, 0 }, + { 0x1401, "HDP Source", NULL, 0 }, + { 0x1402, "HDP Sink", NULL, 0 }, }; #undef A @@ -583,6 +605,17 @@ } static void +print_uint8d(sdp_data_t *data) +{ + uint8_t v; + + if (!sdp_get_uint8(data, &v)) + return; + + printf("%d\n", v); +} + +static void print_uint8x(sdp_data_t *data) { uint8_t v; @@ -1274,6 +1307,24 @@ } static void +print_mas_types(sdp_data_t *data) +{ + uint8_t v; + + if (!sdp_get_uint8(data, &v)) + return; + + if (Nflag) + printf("(0x%02x)", v); + + printf("\n"); + if (v & (1<<0)) printf(" EMAIL\n"); + if (v & (1<<1)) printf(" SMS_GSM\n"); + if (v & (1<<2)) printf(" SMS_CDMA\n"); + if (v & (1<<3)) printf(" MMS\n"); +} + +static void print_rfcomm(sdp_data_t *data) { uint8_t v;