用户空间与内核空间的通信——AF_netlink + AF_Unix

用户空间与内核空间的通信——AF_netlink + AF_Unix

我是 IPC 新手,正在尝试在内核和用户空间进程之间实现公共缓冲区。我的设计会是这样的,

我将有一个库(在用户空间中),我的客户端套接字尝试连接到等待连接的用户空间守护进程(具有缓冲区)。尝试访问缓冲区的进程必须链接库并将消息发布到套接字。因此消息被发布到缓冲区。对于仅用户空间进程来说,这将非常容易实现

套接字(AF_UNIX,SOCK_STREAM,0);

但我的问题是如何在内核空间中使用相同的库与用户空间守护进程(具有缓冲区)进行通信。正如我们所知,以下 API 将从用户空间用于 netlink 套接字

套接字(PF_NETLINK,SOCK_RAW,NETLINK_TEST);

有没有什么方法可以将两者组合在同一个库中,以便内核和用户空间进程都可以使用该库?

相关内容