next up previous
Next: Generare de numere aleatoare Up: Controlul terminalului Previous: Apeluri POSIX

stty

Comanda stty este folosita pentru controlul terminalului direct prin intermediul intepretorului de comenzi (shell-ului). Folosirea acesteia fara nici un parametru conduce la afisarea caracteristicilor curente ale terminalului.

razvan@ragnarok:~/cfiles/solab/lab1$ stty
speed 38400 baud; line = 0;
eol = M-^?; eol2 = M-^?;
ixany

Comanda poate fi urmata de o serie de optiuni care corespund optiunilor posibile pentru manipularea structurii termios (ignbrk, inclr, opost, ofill, icanon, echo, etc.). Multe din aceste optiuni pot fi precedate de '-' pentru a indica lipsa acestora. Spre exemplu daca dorim sa lucram in modul noncanonic vom folosi comanda

$ stty -icanon 
Un exemplu de utilizare care stabileste aceleasi optiuni ca si programele prezentate anterior este

$ stty -icanon -echo min 1 time 0
De fapt, functionalitatea de program prezentata la ioctl si apeluri POSIX poate fi realizata (desi nu la fel de eficient) folosind stty prin intermediul functiei system care permite rularea unei comenzi shell in cadrul unui program. Functiile start_getch si stop_getch vor fi modificate astfel

/*
 * actualizare terminal pentru lucrul in modul necanonic fara ecou
 */

void start_getch (void)
{
        system ("stty -icanon -echo min 1 time 0");
}

/*
 * revenire la modul de lucru initial
 */

void stop_getch (void)
{
        system ("stty icanon echo");
}



Razvan Adrian Deaconescu 2005-10-01