Komunikace mezi moduly

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Sobota Červenec 7 17:28:30 CEST 2001


On Fri, 6 Jul 2001, Maca wrote:

> Potreboval bych napsat modul, ktery bude jako by vlozen mezi uzivatelskym
> programem a jinym modulem jadra. Ten jiny modul jadra ma definovane
> rozhranni ioctl, mmap, read a write (samozrejme spoustu dalsich, ktere
> nevyuzivam). Pokud muj zdrojak napisu jako samostatnou aplikaci, tak bezi v
> pohode. Pokud jej ale napisu jako modul jadra, pak mi nedovoli vyuzivat jiz
> zminene rozhrani jineho modulu.

Zevnitr jadra muzete jen tezko volat syscally. Tedy obcas to jde, ale
nelze doporucovat, abyste to zkousel, pokud v tom neumite chodit.
Programovani v userlandu a v kernellandu se proste hodne lisi a s tim se
neda nic moc delat (pomineme-li prechod k OS, kde je tomu jinak).

Jestlize mate potrebu z jednoho modulu volat funkce jineho modulu, pak je
asi obecne nejlepsi ziskat primo adresy pozadovanych funkci a volat je
primo. U zarizeni bych asi zkusil na nem nasimulovat open a pak se dival
do "tabulky metod" (file_operations nebo tak nejak).

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux