Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
libnl中nl_socket_set_cb()的用途_C_Linux - Fatal编程技术网

libnl中nl_socket_set_cb()的用途

libnl中nl_socket_set_cb()的用途,c,linux,C,Linux,最近,我正在研究iw的源代码,试图了解libnl是如何工作的 我在iw.c的某个地方遇到了使用nl\u socket\u set\u cb()。网络上也没有文档 我的第一个怀疑是当有数据要从nl套接字读取时关联回调函数,但这是在源代码的其他部分中通过在调用nl\u recvmsgs()时关联回调来完成的 有人能解释一下吗?nl\u socket\u set\u cb()。在通过套接字发送任何内容之前,在nl\u sendmsg()中调用该回调 但是,如果改为使用,则nl\u socket\u s

最近,我正在研究
iw
的源代码,试图了解
libnl
是如何工作的

我在
iw.c
的某个地方遇到了使用
nl\u socket\u set\u cb()。网络上也没有文档

我的第一个怀疑是当有数据要从nl套接字读取时关联回调函数,但这是在源代码的其他部分中通过在调用
nl\u recvmsgs()
时关联回调来完成的

有人能解释一下吗?
nl\u socket\u set\u cb()。在通过套接字发送任何内容之前,在
nl\u sendmsg()
中调用该回调

但是,如果改为使用,则
nl\u socket\u set\u cb()
非常方便,因为它将回调存储在
sk->s\u cb
结构中,并传递给发送和接收函数

我认为
nl\u socket\u set\u sb()
的真正用途是对同一个套接字重新使用
nl\u recvmsgs\u default()
,因为它似乎删除了存储在
sk
结构中的任何先前设置的回调