diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2005-08-03 07:41:21 +0000 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2005-08-03 07:41:21 +0000 |
commit | fb1557c4111ca9993e4927af6f65bdbf9c2fa8ec (patch) | |
tree | 10eb4d02f17d2d4a0aed5334d6ece8552ee9ed6e | |
parent | a1454c0f12421da1849ca347f8a30d084778d679 (diff) |
Add device specific record register
-rw-r--r-- | include/sdp.h | 1 | ||||
-rw-r--r-- | 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 @@ -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; |