pass in service record handle for sdp spp create

This commit is contained in:
Matthias Ringwald 2015-11-25 15:57:48 +01:00
parent cb1f1ed1c6
commit e53943d75d
13 changed files with 17 additions and 17 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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));

View File

@ -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));
}

View File

@ -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));
}

View File

@ -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);

View File

@ -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);

View File

@ -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')){

View File

@ -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')){

View File

@ -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);

View File

@ -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 */

View File

@ -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);

View File

@ -133,7 +133,7 @@ TEST(SDPClient, QueryRFCOMMWithSyntheticData){
de_create_sequence(spp_buffer);
for (i=0; i<record_nr; i++){
uint8_t * record_start = de_push_sequence(spp_buffer);
sdp_create_spp_service(record_start, expected_channel[i], expected_name[i]);
sdp_create_spp_service(record_start, 0x10001, expected_channel[i], expected_name[i]);
de_pop_sequence(spp_buffer, record_start);
}