Forum » Operacijski sistemi » [linux] tty -> ethernet
[linux] tty -> ethernet
slovencl ::
Rad bi napisal program/driver, ki se bo na zunaj prikazal kot tty, če boš pisal vanj (v ta tty fajl), pa bo pošiljal RAW ethernet pakete, ki jih bi generirqal po določenem ključu.
Me lahko kdo usmeri kako se to naredi. A je to device driver? Najbrž ne, ker bo podatke pošiljal preko socketa (to znam pošiljat). Ne vem pa kako bi naredil ta interface, da se bo pokazal kot /dev/tty_ethernet.
Me lahko kdo usmeri kako se to naredi. A je to device driver? Najbrž ne, ker bo podatke pošiljal preko socketa (to znam pošiljat). Ne vem pa kako bi naredil ta interface, da se bo pokazal kot /dev/tty_ethernet.
Ribič ::
Uf, za tole nisem ravno prepričan kako bi šlo. Kar si opisal, bi verjetno zahtevalo izdelavo dejanskega gonilnika za teletype napravo (da se sploh prikaže kot /dev/tty*) in nato še gonilnik za Ethernet posebej ter njuna sklopitev. Mar nebi bilo bolje, da izpišeš nek daemon program, ki v ozadju posluša preko kakega UNIX socketa (mogoče se da tudi preko TTY) in potem pošilja pakete preko standardnih omrežnih API-jev npr. UDP?
Lahko malo bolj opišeš kaj točno želiš tule izdelati in koliko možnosti za manevriranje imaš? Če ugibam, si tty izbral zato, ker bi želel skozi njega preusmeriti stdout is nekega command-line programa?
Lahko malo bolj opišeš kaj točno želiš tule izdelati in koliko možnosti za manevriranje imaš? Če ugibam, si tty izbral zato, ker bi želel skozi njega preusmeriti stdout is nekega command-line programa?
slovencl ::
Z GDB in opcijo "target remote /dev/device" bi rad pisal/bral v ta "moj driver/deamon", ki bi ukaze preoblikoval in pošiljal/sprejemal po mreži.
Če vključiš to opcijo "remote", potem GDB vse svoje ukaze piše v ta device, in jih sprejema z njega. Te ukaze bi rad predelal in pošiljal po mreži.
Ta GDB zahteva, da se poveže na tty file/device. Funkcija isatty() mora potrdit, da je da moj device/driver tty. Če to ni (če npr. pošiljam v fifo), potem GDB javi napako "set_tty_state_failed: Inappropriate ioctl for device".
Če vključiš to opcijo "remote", potem GDB vse svoje ukaze piše v ta device, in jih sprejema z njega. Te ukaze bi rad predelal in pošiljal po mreži.
Ta GDB zahteva, da se poveže na tty file/device. Funkcija isatty() mora potrdit, da je da moj device/driver tty. Če to ni (če npr. pošiljam v fifo), potem GDB javi napako "set_tty_state_failed: Inappropriate ioctl for device".
Zgodovina sprememb…
- spremenil: slovencl ()
RedDrake ::
Tole se da narediti s psevdo terminali.
Advanced Programming in the UNIX Environment (APUE) je luštna knjiga kjer je to demonstrirano. Na spletni strani lahko downloadaš source, ki so dobro komentirani, notri je tudi primer za pseudo terminal (pty). Sicer so ti demo programi malce overly developed in je brez knjige rahlo težje razvozlati kaj je tisto ključno za delovanje, ampak se da .
Drugače pa openpty oz. bolj verjetno forkpty (glede na to kaj želiš početi) sta funkciji iz pty.h (-lutil potem za linker), ki tudi omogočata točno to. Psevdo terminal bi moral vrniti true na isatty().
Advanced Programming in the UNIX Environment (APUE) je luštna knjiga kjer je to demonstrirano. Na spletni strani lahko downloadaš source, ki so dobro komentirani, notri je tudi primer za pseudo terminal (pty). Sicer so ti demo programi malce overly developed in je brez knjige rahlo težje razvozlati kaj je tisto ključno za delovanje, ampak se da .
Drugače pa openpty oz. bolj verjetno forkpty (glede na to kaj želiš početi) sta funkciji iz pty.h (-lutil potem za linker), ki tudi omogočata točno to. Psevdo terminal bi moral vrniti true na isatty().
Zgodovina sprememb…
- spremenil: RedDrake ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Zaznavanje Arduina priklopljenega preko USB v LinuxuOddelek: Programiranje | 1599 (1093) | mojster_joni |
» | Linux/KDE - shell scriptaOddelek: Programiranje | 993 (838) | Icematxyz |
» | suse 9.1 in radeon 9800PROOddelek: Operacijski sistemi | 1723 (1595) | jurre |
» | Suse 8.2 težave z grafično...Oddelek: Operacijski sistemi | 1785 (1673) | norvalk |
» | SuSe 8.1 in miškaOddelek: Operacijski sistemi | 695 (666) | dj_jojo |