S
soundofakira
Grünschnabel
Hallo zusammen
Kurz zu meiner Person
Mein Name ist Andre, ich bin 27 und bin eigentlich Aquarianer
Ich arbeite mich grade ein wenig in die Kernel Programmierung ein und möchte ein wenig darüber lernen.
Mein erstes Problem, welches ich probieren möchte ist:
Ich möchte in die Kernel.log einen Eintrag schreiben lassen, wann immer eine neue Datei im System erstellt wird.
Ich habe mich jetzt ein wenig durch die syscalls gewühlt und habe rausgefunden, dass sys_creat zur Erstellung einer neuen Datei genutzt wird.
Sys_create ruft wiederum sys_open auf mit dem Flag O_Creat, wenn die Datei erstellt wird
Richtig soweit?
Jetzt stehe ich aber ein wenig vor dem Berg
Ist diese Funktion in fs/open.c zu finden?
Ich haber dort folgendes gefunden:
Ich nehme mal an, dass ich also entsprechend unter
meinen Hinweis für den Kernel habe, dass es sich beim Aufruf der Funktion um eine neue Datei handelt die erstellt wird. (Flag O_Create)
Wenn dem so ist.. wie geht es denn dann weiter?
Da steige ich grade noch nicht so richtig hinter.
Wäre super, wenn mir da jemand helfen kann
gruß
Andre
gruß
Andre
Kurz zu meiner Person
Mein Name ist Andre, ich bin 27 und bin eigentlich Aquarianer
Ich arbeite mich grade ein wenig in die Kernel Programmierung ein und möchte ein wenig darüber lernen.
Mein erstes Problem, welches ich probieren möchte ist:
Ich möchte in die Kernel.log einen Eintrag schreiben lassen, wann immer eine neue Datei im System erstellt wird.
Ich habe mich jetzt ein wenig durch die syscalls gewühlt und habe rausgefunden, dass sys_creat zur Erstellung einer neuen Datei genutzt wird.
Sys_create ruft wiederum sys_open auf mit dem Flag O_Creat, wenn die Datei erstellt wird
Richtig soweit?
Jetzt stehe ich aber ein wenig vor dem Berg
Ist diese Funktion in fs/open.c zu finden?
Ich haber dort folgendes gefunden:
Code:
if (flags & O_CREAT) {
op->intent |= LOOKUP_CREATE;
if (flags & O_EXCL)
op->intent |= LOOKUP_EXCL;
}
if (flags & O_DIRECTORY)
lookup_flags |= LOOKUP_DIRECTORY;
if (!(flags & O_NOFOLLOW))
lookup_flags |= LOOKUP_FOLLOW;
return lookup_flags;
}
/**
* filp_open - open file and return file pointer
*
* @filename: path to open
* @flags: open flags as per the open(2) second argument
* @mode: mode for the new file if O_CREAT is set, else ignored
Ich nehme mal an, dass ich also entsprechend unter
Code:
if (flags & O_CREAT) {
op->intent |= LOOKUP_CREATE;
meinen Hinweis für den Kernel habe, dass es sich beim Aufruf der Funktion um eine neue Datei handelt die erstellt wird. (Flag O_Create)
Wenn dem so ist.. wie geht es denn dann weiter?
Da steige ich grade noch nicht so richtig hinter.
Wäre super, wenn mir da jemand helfen kann
gruß
Andre
gruß
Andre