2016-04-16 6 views
0

私はminix 3.2.1で新しく、特定のシステムコールとその出力を変更したいと思います。たとえば、mkdir Newdirectoryと入力すると、New dir - > myNewDirectory 755という画面が表示されます(755はアクセス権を表します)。どうすればこれを達成できますか?minix 3.2.1で特定のシステムコールを変更するには?

+0

これでは不十分です。あなたが試したこと、発見した問題などを書いてください。 – peterh

答えて

0

まず、修正するために正しいファイルを見つける必要があります。たとえば、usr/src/servers/vfs/open.cファイルのコードを変更/追加することによって、mkdirコマンドを変更できます。 open.cファイルを見ると、そこにはdo_mkdir関数があることがわかります。あなたは使用することができます。

printf("New dir -> %s",fullpath); 

do_mkdirは、実際にはフルパス配列に新しいディレクトリの名前を持っているので、変数を自分で行う必要はありません。アクセス権については、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コマンドを使用します。再起動すると、変更が表示されます。

関連する問題