Nieco ako streams modul?
Stanislav Meduna
stano na trillian.eunet.sk
Neděle Květen 2 13:59:23 CEST 1999
Ahoj,
majme Linuxovy stroj s pripojenym modemom, na ktorom
bezia rozne programy s tymto modemom pracujuce. Raz
vola pomocou diald do internetu, raz niekam rucne
terminalom, pomocou ifcico na Fidonet alebo pouziva
modem hoci nejaky program v dosemu.
Zaujimalo by ma, kedy, kam a ako dlho sa volalo
bez ohladu na to, ktory program volal. Pre dlzky
spojeni mam napisany skriptik, ktory proste
raz za stvrt minuty polluje /proc/tty/driver/serial
a pozera sa, ci je CD. Rad by som vsak nejako zistil
posledne vytacane cislo.
Keby mal Linux streams-y, napise sa stream modul
hladajuci "ATD....\n" v case, ked nie je pritomny
carrier, pushne sa do serioveho drivera a je po
probleme. Takto ma vsak napadaju iba nasledovne
cesty:
- Opatchovat seriovy driver a vysledok vystavit
niekam do /proc - to by sice nemal byt velky
problem, ale zasah do existujuceho kodu kvoli
takej specialite nie je podla mna riesenim.
- Urobit nejaky proxy-modul, ktory by sa tvaril
ako seriovy port a sam potom k skutocnemu
seriaku pristupoval. To je ale kanon na vrabce,
navyse pristup k inemu zariadeniu z modulu
asi nie je uplne bezny.
- Urobit nieco ako pseudoterminal, ktory vie
do user space vyniest aj ioctl, ktorych sa
pri praci so seriakom vyskytne pozehnane.
To mi ale tiez pripada cudne.
Nerobil uz niekto nieco podobneho? Zaujima ma to
viac z teoretickeho hladiska (nechystam sa to
programovat, az tak to zase nepotrebujem),
ale podobna vec by sa mozno hodila aj v inych
pripadoch.
Zdravi
--
Stano
Další informace o konferenci Linux