我是minix 3.2.1的新手,我想更改某个系统调用及其输出。例如,当我键入mkdir Newdirectory时,我希望在屏幕上看到Newdir->myNewDirectory 755(755代表访问权限)。我怎样才能做到这一点?
首先,您需要找到要修改的正确文件。对于您的示例,您可以通过更改/添加/usr/src/servers/vfs/open.c文件中的代码来修改mkdir命令。如果你查看open.c文件,你会发现那里有一个do_mkdir
函数。您可以使用:
printf("New dir -> %s",fullpath);
domkdir实际上具有fullpath数组中新目录的名称,因此不必自己创建变量。关于访问权限,您可以使用S_IRWXU/S_IRWXG/S_IRWXO查看访问权限(有关更多信息,请访问http://pubs.opengroup.org/onlinepubs/7908799/xsh/sysstat.h.html)。例如,您可以将访问权限存储在整数变量中:
if(bits & S_IRUSR) x = x + 4;
if(bits & S_IWUSR) x = x + 2;
if(bits % S_IXUSR) x = x + 1;
只需为团体和其他人的权利做同样的事情,就可以进行
请记住,您需要编译该文件才能应用更改。转到/usr/src/realeasetools目录,然后在终端中使用make hdboot
命令。重新启动,您将看到更改。