All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH_v2] genl: Introduce new api
@ 2015-02-27  9:13 Ravi kumar Veeramally
  2015-02-27 17:03 ` Denis Kenzior
  0 siblings, 1 reply; 2+ messages in thread
From: Ravi kumar Veeramally @ 2015-02-27  9:13 UTC (permalink / raw)
  To: ell

[-- Attachment #1: Type: text/plain, Size: 2798 bytes --]

Introducing l_genl_family_send_and_unref, l_genl_family_dump_and_unref
wrapper functions for l_genl_family_send and l_genl_family_dump
but it unref the message no matter of what the result is.
---
 ell/genl.c | 28 ++++++++++++++++++++++++++++
 ell/genl.h | 10 ++++++++++
 2 files changed, 38 insertions(+)

diff --git a/ell/genl.c b/ell/genl.c
index 2ef6a34..e84d801 100644
--- a/ell/genl.c
+++ b/ell/genl.c
@@ -1091,6 +1091,20 @@ unsigned int l_genl_family_send(struct l_genl_family *family,
 						user_data, destroy);
 }
 
+unsigned int l_genl_family_send_and_unref(struct l_genl_family *family,
+						struct l_genl_msg *msg,
+						l_genl_msg_func_t callback,
+						void *user_data,
+						l_genl_destroy_func_t destroy)
+{
+	unsigned int id;
+
+	id = l_genl_family_send(family, msg, callback, user_data, destroy);
+	l_genl_msg_unref(msg);
+
+	return id;
+}
+
 unsigned int l_genl_family_dump(struct l_genl_family *family,
 				struct l_genl_msg *msg, l_genl_msg_func_t callback,
 				void *user_data, l_genl_destroy_func_t destroy)
@@ -1099,6 +1113,20 @@ unsigned int l_genl_family_dump(struct l_genl_family *family,
 							user_data, destroy);
 }
 
+unsigned int l_genl_family_dump_and_unref(struct l_genl_family *family,
+						struct l_genl_msg *msg,
+						l_genl_msg_func_t callback,
+						void *user_data,
+						l_genl_destroy_func_t destroy)
+{
+	unsigned int id;
+
+	id = l_genl_family_dump(family, msg, callback, user_data, destroy);
+	l_genl_msg_unref(msg);
+
+	return id;
+}
+
 static bool match_request_id(const void *a, const void *b)
 {
 	const struct genl_request *request = a;
diff --git a/ell/genl.h b/ell/genl.h
index c628b8c..1f58a94 100644
--- a/ell/genl.h
+++ b/ell/genl.h
@@ -101,9 +101,19 @@ bool l_genl_family_can_dump(struct l_genl_family *family, uint8_t cmd);
 unsigned int l_genl_family_send(struct l_genl_family *family,
 				struct l_genl_msg *msg, l_genl_msg_func_t callback,
 				void *user_data, l_genl_destroy_func_t destroy);
+unsigned int l_genl_family_send_and_unref(struct l_genl_family *family,
+						struct l_genl_msg *msg,
+						l_genl_msg_func_t callback,
+						void *user_data,
+						l_genl_destroy_func_t destroy);
 unsigned int l_genl_family_dump(struct l_genl_family *family,
 				struct l_genl_msg *msg, l_genl_msg_func_t callback,
 				void *user_data, l_genl_destroy_func_t destroy);
+unsigned int l_genl_family_dump_and_unref(struct l_genl_family *family,
+						struct l_genl_msg *msg,
+						l_genl_msg_func_t callback,
+						void *user_data,
+						l_genl_destroy_func_t destroy);
 bool l_genl_family_cancel(struct l_genl_family *family, unsigned int id);
 
 bool l_genl_family_has_group(struct l_genl_family *family, const char *group);
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-02-27 17:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-27  9:13 [PATCH_v2] genl: Introduce new api Ravi kumar Veeramally
2015-02-27 17:03 ` Denis Kenzior

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.