Ich versuche, eine Konfigurationsdatei (die sich an einem bestimmten Ort im Kernel befindet/generiert) für ein Modul zu lesen, das ich arbeite.Read Config File Zeile für Zeile in Kernel
Ich kann die Datei als Ganzes lesen, indem ich filp_open mit O_RDONLY-Flag (schreibgeschützt), aber ich kann mir nicht vorstellen, eine Möglichkeit, es Zeile für Zeile zu lesen.
aktuellen Code
f = filp_open("/etc/my_module",O_RDONLY, 0);
if (f==NULL) {
printk("Error in loading config for birdge.\n");
return 1;
} else {
fs = get_fs();
set_fs(get_ds());
/* read line config here */
f->f_op->read(f, buf, 128, &f->f_pos);
set_fs(fs);
printk("buf:%s\n",buf);
}
Linux Kernel Version: 3.8.0-29-generic
Was ich versuche, jede (n) Zeile in einen Puffer-Array (char * buf zu erreichen setzt [ 128] [128]) und später werde ich den Parameter und Wert mit reinem c zerstückeln.
Auf diese Weise können die Variablen aus der Konfigurationsdatei in der Laufzeit des Moduls verwendet werden und natürlich werde ich einige Bedingungen überprüfen, ob die Konfigurationen in Ordnung sind oder nicht.
Dank
Nein, und das ist ziemlich genau der falsche Weg, es zu tun. –
Sie sollten lesen, wie man fragt. Das ist eine schreckliche Frage. –
Zur Inspiration für die Konfiguration komplexer Dinge schauen Sie sich an, wie der Kernel Netzwerk, Routing und Firewall konfiguriert. –