[OT] Auf Kernelmodul zugreifen

flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

[OT] Auf Kernelmodul zugreifen

Beitrag von flasher »

Hi

Ich hoffe ich werde nicht gleich zerrissen, das dies nichts mit TuxBox zu tun hat.

Ich möchte gerne mit einem C/C++ Programm auf ein Kernelmodul zugreifen.
Das Modul hat die interne Funktion : int foo() mit EXPORT_SYMBOL(foo) exportiert.

Kann mir einer von sagen/schreiben wie ich auf die Schnittstelle zugreifen kann um die interne Funktion aufzurufen?

Ich habe davon überhaupt keinen Plan.

Gruß
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

Du kannst dir einen private ioctl einbauen, mit dem du dann diese Funktion aufrufst, siehe aviaEXT.c z.B., oder du machst es über ein virtuelles File in /proc oder /sys, siehe z.B. avia_av_proc.c
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Beitrag von flasher »

Hi

Ich denke mal, dass ich dann diese Variante irgendwie übernehme:

Code: Alles auswählen

static int aviaEXT_ioctl(struct inode *inode, struct file *file, 
	unsigned int cmd, unsigned long arg)
Die Frage ist nur wo im CVS gibt es nun Sourcen an dennen ich sehen kann wie ich aus einem externen Programm über ioctl auf das Modul zugreifen kann.

Wie geschrieben habe ich von soetwas überhaupt keinen Plan.

Gruß
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

Es gibt auch ein tool "aviaext", das auf das aviaEXT device zugreift.

apps/tuxbox/tools/misc/aviaext.c
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Beitrag von flasher »

Vielen Dank!

Das sollte für den Einstieg reichen.

Gruß