From 6faeffe64acd7d94f152afbb99ab811949308b11 Mon Sep 17 00:00:00 2001 From: Jiri Pirko Date: Tue, 30 Aug 2011 18:31:47 +0200 Subject: [PATCH] socket: introduce nl_socket_modify_err_cb This function does the same as nl_socket_modify_cb except for error callback Signed-off-by: Jiri Pirko --- include/netlink/socket.h | 2 ++ lib/socket.c | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/include/netlink/socket.h b/include/netlink/socket.h index f0062b5..d0f5a6a 100644 --- a/include/netlink/socket.h +++ b/include/netlink/socket.h @@ -45,6 +45,8 @@ extern void nl_socket_set_cb(struct nl_sock *, extern int nl_socket_modify_cb(struct nl_sock *, enum nl_cb_type, enum nl_cb_kind, nl_recvmsg_msg_cb_t, void *); +extern int nl_socket_modify_err_cb(struct nl_sock *, enum nl_cb_kind, + nl_recvmsg_err_cb_t, void *); extern int nl_socket_set_buffer_size(struct nl_sock *, int, int); extern int nl_socket_set_passcred(struct nl_sock *, int); diff --git a/lib/socket.c b/lib/socket.c index 60120fb..565248f 100644 --- a/lib/socket.c +++ b/lib/socket.c @@ -511,6 +511,21 @@ int nl_socket_modify_cb(struct nl_sock *sk, enum nl_cb_type type, return nl_cb_set(sk->s_cb, type, kind, func, arg); } +/** + * Modify the error callback handler associated with the socket + * @arg sk Netlink socket. + * @arg kind kind of callback + * @arg func callback function + * @arg arg argument to be passed to callback function + * + * @see nl_cb_err + */ +int nl_socket_modify_err_cb(struct nl_sock *sk, enum nl_cb_kind kind, + nl_recvmsg_err_cb_t func, void *arg) +{ + return nl_cb_err(sk->s_cb, kind, func, arg); +} + /** @} */ /**