summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2005-08-03 07:18:31 +0000
committerMarcel Holtmann <marcel@holtmann.org>2005-08-03 07:18:31 +0000
commita1454c0f12421da1849ca347f8a30d084778d679 (patch)
tree44ee61248c833540c894e37d73905604c16e186a
parentb809fb039119546a8b5b4fbb4bcbfbad6666cf24 (diff)
Create per device SDP server functions
-rw-r--r--include/sdp_lib.h3
-rw-r--r--src/sdp.c21
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));