From a1454c0f12421da1849ca347f8a30d084778d679 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 3 Aug 2005 07:18:31 +0000 Subject: Create per device SDP server functions --- include/sdp_lib.h | 3 +++ src/sdp.c | 21 ++++++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/include/sdp_lib.h b/include/sdp_lib.h index b4e83fe3..b9fbf6f3 100644 --- a/include/sdp_lib.h +++ b/include/sdp_lib.h @@ -397,11 +397,13 @@ void sdp_record_free(sdp_record_t *rec); * on success or -1 on failure (and sets errno). */ int sdp_record_register(sdp_session_t *sess, sdp_record_t *rec, uint8_t flags); +int sdp_device_record_register(sdp_session_t *sess, bdaddr_t *device, sdp_record_t *rec, uint8_t flags); /* * Unregister a service record. */ int sdp_record_unregister(sdp_session_t *sess, sdp_record_t *rec); +int sdp_device_record_unregister(sdp_session_t *sess, bdaddr_t *device, sdp_record_t *rec); /* * Update an existing service record. (Calling this function @@ -409,6 +411,7 @@ int sdp_record_unregister(sdp_session_t *sess, sdp_record_t *rec); * in an error.) */ int sdp_record_update(sdp_session_t *sess, const sdp_record_t *rec); +int sdp_device_record_update(sdp_session_t *sess, bdaddr_t *device, const sdp_record_t *rec); void sdp_record_print(const sdp_record_t *rec); diff --git a/src/sdp.c b/src/sdp.c index 84d0a016..4c1117e1 100644 --- a/src/sdp.c +++ b/src/sdp.c @@ -2292,7 +2292,7 @@ void sdp_append_to_pdu(sdp_buf_t *pdu, sdp_data_t *d) * * Returns zero on success, otherwise -1 (and sets errno). */ -int sdp_record_register(sdp_session_t *session, sdp_record_t *rec, uint8_t flags) +int sdp_device_record_register(sdp_session_t *session, bdaddr_t *device, sdp_record_t *rec, uint8_t flags) { int status = 0; uint8_t *req, *rsp, *p; @@ -2348,10 +2348,15 @@ end: return status; } +int sdp_record_register(sdp_session_t *session, sdp_record_t *rec, uint8_t flags) +{ + return sdp_device_record_register(session, BDADDR_ANY, rec, flags); +} + /* * unregister a service record */ -int sdp_record_unregister(sdp_session_t *session, sdp_record_t *rec) +int sdp_device_record_unregister(sdp_session_t *session, bdaddr_t *device, sdp_record_t *rec) { int status = 0; uint8_t *reqbuf, *rspbuf, *p; @@ -2405,10 +2410,15 @@ end: return status; } +int sdp_record_unregister(sdp_session_t *session, sdp_record_t *rec) +{ + return sdp_device_record_unregister(session, BDADDR_ANY, rec); +} + /* * modify an existing service record */ -int sdp_record_update(sdp_session_t *session, const sdp_record_t *rec) +int sdp_device_record_update(sdp_session_t *session, bdaddr_t *device, const sdp_record_t *rec) { int status = 0; uint8_t *reqbuf, *rspbuf, *p; @@ -2472,6 +2482,11 @@ end: return status; } +int sdp_record_update(sdp_session_t *session, const sdp_record_t *rec) +{ + return sdp_device_record_update(session, BDADDR_ANY, rec); +} + sdp_record_t *sdp_record_alloc() { sdp_record_t *rec = (sdp_record_t *)malloc(sizeof(sdp_record_t)); -- cgit