我的任务是在 openbsd-7.5 中实现类似于 SCM_RIGHTS 的东西。我的理解是,SCM_RIGHTS 并不是真正的代码块,它更多的是与 cmsg_type 一起使用的宏。所以我想知道,如果我必须实现类似于 SCM_RIGHTS 的东西,我会在内核中查看哪些文件?我应该从哪里开始我的代码?我需要修改哪些文件?
谢谢您的帮助!
可以从sys/kern/uipc_usrreq.c开始,这里有两个方法需要注意。首先unp_internalize,它将fd转换为文件指针,unp_externalize方法将文件指针转换为fd,并分配新的fd(如果可用)。要完成 comp3301 a2,您需要实现类似的函数来关联您发送到内核结构的内存块消息,并将其映射到接收者。