From dd610a12694a42aeb67417c95d87384f2eef8e70 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Fri, 25 Aug 2006 22:22:01 +0000 Subject: Add sdp_set_notify function --- include/sdp_lib.h | 3 ++- src/sdp.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/include/sdp_lib.h b/include/sdp_lib.h index a4b2cb4b..eaf4cdb0 100644 --- a/include/sdp_lib.h +++ b/include/sdp_lib.h @@ -114,8 +114,9 @@ uint16_t sdp_gen_tid(sdp_session_t *session); /* * SDP transaction: functions for asynchronous search. */ -typedef void sdp_callback_t(uint8_t type, sdp_list_t *rsp, void *udata, int err); +typedef void sdp_callback_t(uint8_t type, uint16_t status, uint8_t *rsp, size_t *size, void *udata); sdp_session_t *sdp_create(int sk, uint32_t flags); +int sdp_set_notify(sdp_session_t *session, sdp_callback_t *func, void *udata); /* * find all devices in the piconet diff --git a/src/sdp.c b/src/sdp.c index f535ad48..5bbc8ec8 100644 --- a/src/sdp.c +++ b/src/sdp.c @@ -3085,6 +3085,34 @@ sdp_session_t *sdp_create(int sk, uint32_t flags) return session; } +/* + * Set the callback function to called when the transaction finishes + * + * INPUT: + * sdp_session_t *session + * Current sdp session to be handled + * sdp_callback_t *cb + * callback to be called when the transaction finishes + * void *udata + * user data passed to callback + * RETURN: + * 0 - Success + * -1 - Failure + */ +int sdp_set_notify(sdp_session_t *session, sdp_callback_t *func, void *udata) +{ + struct sdp_transaction *t; + + if (!session || !session->priv) + return -1; + + t = session->priv; + t->cb = func; + t->udata = udata; + + return 0; +} + /* * This is a service search request combined with the service * attribute request. First a service class match is done and -- cgit