From fb1557c4111ca9993e4927af6f65bdbf9c2fa8ec Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 3 Aug 2005 07:41:21 +0000 Subject: Add device specific record register --- include/sdp.h | 1 + src/sdp.c | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/include/sdp.h b/include/sdp.h index f08a7ddb..c2846242 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -371,6 +371,7 @@ extern "C" { * Values of the flags parameter to sdp_record_register */ #define SDP_RECORD_PERSIST 0x01 +#define SDP_DEVICE_RECORD 0x02 /* * Values of the flags parameter to sdp_connect diff --git a/src/sdp.c b/src/sdp.c index 4c1117e1..22fcd362 100644 --- a/src/sdp.c +++ b/src/sdp.c @@ -2318,8 +2318,13 @@ int sdp_device_record_register(sdp_session_t *session, bdaddr_t *device, sdp_rec reqhdr->tid = htons(sdp_gen_tid(session)); reqsize = sizeof(sdp_pdu_hdr_t) + 1; p = req + sizeof(sdp_pdu_hdr_t); - *p++ = flags; - if (0 > sdp_gen_record_pdu(rec, &pdu)) { + if (bacmp(device, BDADDR_ANY)) { + *p++ = flags | SDP_DEVICE_RECORD; + bacpy((bdaddr_t *) p, device); + p += sizeof(bdaddr_t); + } else + *p++ = flags; + if (sdp_gen_record_pdu(rec, &pdu) < 0) { status = -1; errno = ENOMEM; goto end; -- cgit