From: Jiri Pirko Date: Tue, 30 Aug 2011 16:31:47 +0000 (+0200) Subject: socket: introduce nl_socket_modify_err_cb X-Git-Tag: libnl3_2~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6faeffe64acd7d94f152afbb99ab811949308b11;p=thirdparty%2Flibnl.git 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 --- 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); +} + /** @} */ /**