大家晚上好!
我正在minix 3.2.1上做作业,我被要求创建一个新的系统调用 my_rmdir,它的作用与rmdir完全相同,但也会打印已删除目录的名称。另外我应该修改系统的源代码,所以当我给出rmdir命令时,系统应该调用我自己的do_myrmdir 函数,而不是调用 do_rmdir函数。
过去,我使用mkdir命令完成了相同的作业,但一切都很简单,因为mkdir被正确声明为 minix 样式,并且我对
/usr/src/servers/vfs/proto.h
/usr/src/servers/vfs/open.c
/usr/src/servers/vfs/request.c
/usr/src/servers/vfs/table.c
/usr/include/minix/callnr.h
一切正常。但是现在,我想因为NETBSD 代码注入,我有点迷失了。
此外,重点不是从头开始创建新的系统调用,因为首先我没有知识,其次我需要做的更改非常小。
我遇到的第一个问题是我找不到原始do_rmdir的声明位置以及它如何与rmdir命令连接。
在/usr/src/servers/vfs/table.c文件第 58 行
do_unlink, /* 40 = rmdir */
让它更混乱
有什么帮助或想法吗?
如果您需要更多信息,请询问。
我是新来的论坛,我试图正确地问,谢谢你的理解。