我特别想到了以用户可控方式处理流的方法,但是在内核中进行处理.这些 *** 作可以附加到内核模块,但这会使开发变得更容易,因为我不需要在开发过程中弄乱内核.
更具体地说,这将是一个过程:
>数据由驱动程序读取到缓冲区.
>数据由这些用户定义的函数处理.
>完成了一些处理,可能还有一些HW块.
>数据由用户空间应用程序使用.
然后,您可以使用inotify(linux journal article)进行内核 – >用户空间事件通信. Ioctl或写入设备以进行用户空间 – >内核事件通信.还可以通过读/写一个或多个设备文件来实现数据交换.
或者,您可以提供/ proc或/ sys文件系统条目或使用netlink.
您可能还会考虑ksocket:
总结Ksocket is a linux 2.6 kernel module that provIDes bsd-style socket interfaces (namely socket,bind,Listen,connect,accept,…) for kernel developers to facilitate their network progaramming in linux kernel space. The interfaces ksocket presents are much the same as their equivalent in glibc,so even new developers for kernel space will have no barrIEr in develoPing kernel network-related programms.
以上是内存溢出为你收集整理的linux-kernel – 是否可以从Linux(ioctl)中的内核空间调用用户空间回调函数?全部内容,希望文章能够帮你解决linux-kernel – 是否可以从Linux(ioctl)中的内核空间调用用户空间回调函数?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)