diff options
| -rw-r--r-- | include/sdp_lib.h | 3 | ||||
| -rw-r--r-- | src/sdp.c | 28 | 
2 files changed, 30 insertions, 1 deletions
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 @@ -3086,6 +3086,34 @@ sdp_session_t *sdp_create(int sk, uint32_t flags)  }  /* + * 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   * for matching service, requested attributes are extracted  | 
