From e53943d75d8e5bb67cbb1957c30670cc8f78174d Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Wed, 25 Nov 2015 15:57:48 +0100 Subject: [PATCH] pass in service record handle for sdp spp create --- example/daemon/rfcomm-echo.c | 2 +- example/daemon/rfcomm-test.c | 2 +- example/embedded/spp_and_le_counter.c | 2 +- example/embedded/spp_counter.c | 2 +- example/embedded/spp_flowcontrol.c | 2 +- port/msp-exp430f5438-cc2564b/example/ant-test.c | 2 +- port/msp-exp430f5438-cc2564b/example/spp_accel.c | 2 +- src/classic/hsp_ag.c | 4 ++-- src/classic/hsp_hs.c | 6 +++--- src/classic/sdp_util.c | 4 ++-- src/classic/sdp_util.h | 2 +- test/pts/classic_test.c | 2 +- test/sdp_client/sdp_rfcomm_query.c | 2 +- 13 files changed, 17 insertions(+), 17 deletions(-) diff --git a/example/daemon/rfcomm-echo.c b/example/daemon/rfcomm-echo.c index d4b3f6ab7..2efb37c41 100644 --- a/example/daemon/rfcomm-echo.c +++ b/example/daemon/rfcomm-echo.c @@ -101,7 +101,7 @@ void packet_handler(uint8_t packet_type, uint16_t channel, uint8_t *packet, uint case RFCOMM_EVENT_SERVICE_REGISTERED: printf("RFCOMM_EVENT_SERVICE_REGISTERED channel: %u, status: 0x%02x\n", packet[3], packet[2]); // register SDP for our SPP - sdp_create_spp_service((uint8_t*)service_buffer, rfcomm_channel_nr, "SPP ECHO"); + sdp_create_spp_service((uint8_t*)service_buffer, 0x10001, rfcomm_channel_nr, "SPP ECHO"); bt_send_cmd(&sdp_register_service_record_cmd, service_buffer); bt_send_cmd(&btstack_set_discoverable, 1); break; diff --git a/example/daemon/rfcomm-test.c b/example/daemon/rfcomm-test.c index a5f78d164..541cb62cb 100644 --- a/example/daemon/rfcomm-test.c +++ b/example/daemon/rfcomm-test.c @@ -117,7 +117,7 @@ void packet_handler(uint8_t packet_type, uint16_t channel, uint8_t *packet, uint printf("RFCOMM_EVENT_SERVICE_REGISTERED\n"); rfcomm_channel_nr = packet[3]; // register SDP for our SPP - sdp_create_spp_service((uint8_t*) spp_service_buffer, rfcomm_channel_nr, "RFCOMM Test"); + sdp_create_spp_service((uint8_t*) spp_service_buffer, 0x10001, rfcomm_channel_nr, "RFCOMM Test"); bt_send_cmd(&sdp_register_service_record_cmd, spp_service_buffer); bt_send_cmd(&btstack_set_discoverable, 1); break; diff --git a/example/embedded/spp_and_le_counter.c b/example/embedded/spp_and_le_counter.c index 46e0d3510..eeff601e9 100644 --- a/example/embedded/spp_and_le_counter.c +++ b/example/embedded/spp_and_le_counter.c @@ -260,7 +260,7 @@ int btstack_main(void) // init SDP, create record for SPP and register with SDP sdp_init(); memset(spp_service_buffer, 0, sizeof(spp_service_buffer)); - sdp_create_spp_service(spp_service_buffer, RFCOMM_SERVER_CHANNEL, "SPP Counter"); + sdp_create_spp_service(spp_service_buffer, 0x10001, RFCOMM_SERVER_CHANNEL, "SPP Counter"); sdp_register_service(spp_service_buffer); printf("SDP service record size: %u\n", de_get_len(spp_service_buffer)); diff --git a/example/embedded/spp_counter.c b/example/embedded/spp_counter.c index 987f8e13d..2f5111c83 100644 --- a/example/embedded/spp_counter.c +++ b/example/embedded/spp_counter.c @@ -100,7 +100,7 @@ static void spp_service_setup(void){ // init SDP, create record for SPP and register with SDP sdp_init(); memset(spp_service_buffer, 0, sizeof(spp_service_buffer)); - sdp_create_spp_service(spp_service_buffer, RFCOMM_SERVER_CHANNEL, "SPP Counter"); + sdp_create_spp_service(spp_service_buffer, 0x10001, RFCOMM_SERVER_CHANNEL, "SPP Counter"); sdp_register_service(spp_service_buffer); printf("SDP service record size: %u\n", de_get_len(spp_service_buffer)); } diff --git a/example/embedded/spp_flowcontrol.c b/example/embedded/spp_flowcontrol.c index 0c3b1859a..1d894124c 100644 --- a/example/embedded/spp_flowcontrol.c +++ b/example/embedded/spp_flowcontrol.c @@ -93,7 +93,7 @@ static void spp_service_setup(void){ // init SDP, create record for SPP and register with SDP sdp_init(); memset(spp_service_buffer, 0, sizeof(spp_service_buffer)); - sdp_create_spp_service(spp_service_buffer, 1, "SPP Counter"); + sdp_create_spp_service(spp_service_buffer, 0x10001, 1, "SPP Counter"); sdp_register_service(spp_service_buffer); printf("SDP service buffer size: %u\n\r", (uint16_t) de_get_len(spp_service_buffer)); } diff --git a/port/msp-exp430f5438-cc2564b/example/ant-test.c b/port/msp-exp430f5438-cc2564b/example/ant-test.c index 4cc39c1fa..ddd0bdfa9 100644 --- a/port/msp-exp430f5438-cc2564b/example/ant-test.c +++ b/port/msp-exp430f5438-cc2564b/example/ant-test.c @@ -227,7 +227,7 @@ int btstack_main(int argc, const char * argv[]){ // init SDP, create record for SPP and register with SDP sdp_init(); memset(spp_service_buffer, 0, sizeof(spp_service_buffer)); - sdp_create_spp_service( (uint8_t*) spp_service_buffer, 1, "SPP Counter"); + sdp_create_spp_service( (uint8_t*) spp_service_buffer, 0x10001, 1, "SPP Counter"); printf("SDP service buffer size: %u\n\r", (uint16_t) de_get_len((uint8_t*) spp_service_buffer)); sdp_register_service(spp_service_buffer); diff --git a/port/msp-exp430f5438-cc2564b/example/spp_accel.c b/port/msp-exp430f5438-cc2564b/example/spp_accel.c index 7802621ab..986f0f641 100644 --- a/port/msp-exp430f5438-cc2564b/example/spp_accel.c +++ b/port/msp-exp430f5438-cc2564b/example/spp_accel.c @@ -217,7 +217,7 @@ int btstack_main(int argc, const char * argv[]){ // init SDP, create record for SPP and register with SDP sdp_init(); memset(spp_service_buffer, 0, sizeof(spp_service_buffer)); - sdp_create_spp_service( (uint8_t*) spp_service_buffer, 1, "SPP Accel"); + sdp_create_spp_service( (uint8_t*) spp_service_buffer, 0x10001, 1, "SPP Accel"); printf("SDP service buffer size: %u\n\r", (uint16_t) de_get_len((uint8_t*) spp_service_buffer)); sdp_register_service(spp_service_buffer); diff --git a/src/classic/hsp_ag.c b/src/classic/hsp_ag.c index 9320b86c0..47b5b6847 100644 --- a/src/classic/hsp_ag.c +++ b/src/classic/hsp_ag.c @@ -117,7 +117,7 @@ static hsp_state_t hsp_state = HSP_IDLE; static hsp_ag_callback_t hsp_ag_callback; static void hsp_run(); -static void packet_handler (void * connection, uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size); +static void packet_handler (uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size); static void handle_query_rfcomm_event(sdp_query_event_t * event, void * context); static void dummy_notify(uint8_t * event, uint16_t size){} @@ -432,7 +432,7 @@ static void hsp_run(void){ } -static void packet_handler (void * connection, uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size){ +static void packet_handler (uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size){ // printf("packet_handler type %u, packet[0] %x\n", packet_type, packet[0]); if (packet_type == RFCOMM_DATA_PACKET){ while (size > 0 && (packet[0] == '\n' || packet[0] == '\r')){ diff --git a/src/classic/hsp_hs.c b/src/classic/hsp_hs.c index 861bd4aa6..b69041093 100644 --- a/src/classic/hsp_hs.c +++ b/src/classic/hsp_hs.c @@ -112,7 +112,7 @@ typedef enum { static hsp_state_t hsp_state = HSP_IDLE; static void hsp_run(void); -static void packet_handler (void * connection, uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size); +static void packet_handler (uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size); static void handle_query_rfcomm_event(sdp_query_event_t * event, void * context); static hsp_hs_callback_t hsp_hs_callback; @@ -254,7 +254,7 @@ void hsp_hs_init(uint8_t rfcomm_channel_nr){ rfcomm_init(); rfcomm_register_packet_handler(packet_handler); - rfcomm_register_service_internal(NULL, rfcomm_channel_nr, 0xffff); // reserved channel, mtu limited by l2cap + rfcomm_register_service(rfcomm_channel_nr, 0xffff); // reserved channel, mtu limited by l2cap sdp_query_rfcomm_register_callback(handle_query_rfcomm_event, NULL); @@ -379,7 +379,7 @@ static void hsp_run(void){ } -static void packet_handler (void * connection, uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size){ +static void packet_handler (uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size){ // printf("packet_handler type %u, packet[0] %x\n", packet_type, packet[0]); if (packet_type == RFCOMM_DATA_PACKET){ while (size > 0 && (packet[0] == '\n' || packet[0] == '\r')){ diff --git a/src/classic/sdp_util.c b/src/classic/sdp_util.c index 03dfaf9d5..4170e8251 100644 --- a/src/classic/sdp_util.c +++ b/src/classic/sdp_util.c @@ -677,14 +677,14 @@ void de_dump_data_element(uint8_t * record){ #endif } -void sdp_create_spp_service(uint8_t *service, int service_id, const char *name){ +void sdp_create_spp_service(uint8_t *service, uint32_t service_record_handle, int service_id, const char *name){ uint8_t* attribute; de_create_sequence(service); // 0x0000 "Service Record Handle" de_add_number(service, DE_UINT, DE_SIZE_16, SDP_ServiceRecordHandle); - de_add_number(service, DE_UINT, DE_SIZE_32, 0x10001); + de_add_number(service, DE_UINT, DE_SIZE_32, service_record_handle); // 0x0001 "Service Class ID List" de_add_number(service, DE_UINT, DE_SIZE_16, SDP_ServiceClassIDList); diff --git a/src/classic/sdp_util.h b/src/classic/sdp_util.h index a937e2934..8c8b5e5a8 100644 --- a/src/classic/sdp_util.h +++ b/src/classic/sdp_util.h @@ -116,7 +116,7 @@ int sdp_filter_attributes_in_attributeIDList(uint8_t *record, uint8_t *att int sdp_attribute_list_constains_id(uint8_t *attributeIDList, uint16_t attributeID); int sdp_traversal_match_pattern(uint8_t * element, de_type_t attributeType, de_size_t size, void *my_context); -void sdp_create_spp_service(uint8_t *service, int service_id, const char *name); +void sdp_create_spp_service(uint8_t *service, uint32_t service_record_handle, int service_id, const char *name); /* API_END */ diff --git a/test/pts/classic_test.c b/test/pts/classic_test.c index 516f9fd6f..a0fa10c23 100644 --- a/test/pts/classic_test.c +++ b/test/pts/classic_test.c @@ -778,7 +778,7 @@ int btstack_main(int argc, const char * argv[]){ // init SDP, create record for SPP and register with SDP sdp_init(); memset(spp_service_buffer, 0, sizeof(spp_service_buffer)); - sdp_create_spp_service((uint8_t*) spp_service_buffer, RFCOMM_SERVER_CHANNEL, "SPP Counter"); + sdp_create_spp_service((uint8_t*) spp_service_buffer, 0x10001, RFCOMM_SERVER_CHANNEL, "SPP Counter"); de_dump_data_element((uint8_t*) spp_service_buffer); printf("SDP service record size: %u\n\r", de_get_len((uint8_t*)spp_service_buffer)); sdp_register_service((uint8_t*)spp_service_buffer); diff --git a/test/sdp_client/sdp_rfcomm_query.c b/test/sdp_client/sdp_rfcomm_query.c index 1c00d3097..349cf8a02 100644 --- a/test/sdp_client/sdp_rfcomm_query.c +++ b/test/sdp_client/sdp_rfcomm_query.c @@ -133,7 +133,7 @@ TEST(SDPClient, QueryRFCOMMWithSyntheticData){ de_create_sequence(spp_buffer); for (i=0; i