🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.os.linux.programowanie
3 messages
3 total messages Started by Jacek Debowczyk Wed, 25 Aug 1999 17:34
problem z terminalem...
#29
Author: Jacek Debowczyk
Date: Wed, 25 Aug 1999 17:34
18 lines
1709 bytes
Witajcie :)
Na poczatku chcialbym napisac, ze bardzo sie ciesze, ze ta grupa wreszcie
powstala i dorzuce swoje 3 grosze, a mianowicie sajta:
http://rainbow.mimuw.edu.pl/SO/LabLinux/

A teraz moj problem... Pytanie to wyslalem juz na programming, lecz niestety
nie otrzymalem odpowiedzi, mam nadzieje ze Wy mi pomozecie.
Po wielu probach w koncu udalo mi sie utworzyc proces, ktory przypisuje
sobie jako terminal sterujacy jakis nieuzywany pseudo-terminal, natomiast
drugi proces zajmuje sie przepisywaniem danych ze standardowego wejscia do
tego terminala i odwrotnie. Mam jednak problem wydaje mi sie ze z atrybutami
terminala. Otoz enter (^M) jest interpretowany jako ^J. Bardzo prosze o
jakakolwiek pomoc, albo wskazowke.
Z kolei jesli standardowym wejsciem jest socket i to z niego sa przepisywane
dane do terminala nie jestem wogole w stanie zmienic atrybutow terminala.
Jeszcze raz z gory dzieki za pomoc, jesli ktos moglby podac jakis URL
odnosnie programowania pseudo-terminali
                                                                jacek.
Re: problem z terminalem...
#30
Author: Cezary H. Noweta
Date: Fri, 27 Aug 1999 13:39
37 lines
2387 bytes
Witam,

> Po wielu probach w koncu udalo mi sie utworzyc proces, ktory przypisuje
> sobie jako terminal sterujacy jakis nieuzywany pseudo-terminal, natomiast
> drugi proces zajmuje sie przepisywaniem danych ze standardowego wejscia do
> tego terminala i odwrotnie. Mam jednak problem wydaje mi sie ze z atrybutami
> terminala. Otoz enter (^M) jest interpretowany jako ^J. Bardzo prosze o
> jakakolwiek pomoc, albo wskazowke.

Zapewne chodzi o flage ICRNL, ktora zamienia ^M --> ^J na wejsciu lub OCRNL,
ktora zamienia ^M --> ^J na wyjsciu. Chociaz, gdy sprawdzilem u siebie, to
open() domyslnie otworzyl terminal w trybie, ktory zamienia ^M --> ^M^J
(tzn, ICRNL oraz ONLCR, co daje ^M --wejscie--> ^J --wyjscie--> ^M^J).
Przykladowy kod:

term_id = open(...);
tcgetattr(term_id, &term_attrs);
term_attrs.c_iflag &= ~ICRNL; /* lub term_attrs.c_oflag &= ~OCRNL */
tcsetattr(term_id, ..., &term_attrs);

Wiecej informacji znajdziesz w TERMIOS na str. 3 MANa (funkcje
tc{set,get}attr, struktura termios i atrybuty) i w termbits.h (wartosci
liczbowe atrybutow).

Mam nadzieje, ze to o to chodzilo.

> Z kolei jesli standardowym wejsciem jest socket i to z niego sa przepisywane
> dane do terminala nie jestem wogole w stanie zmienic atrybutow terminala.

Dlaczego?

  -- pozdrawiam

-- 
Cezary H. Noweta                 90-237 LODZ, ul. J.Matejki 34/38 POLAND
(chncc@irys.usun.drugiitrzeciczlon.uni.lodz.pl)  +48 42 6356013, 6356012
University of Lodz - Main Library                            fax 6781678
Re: problem z terminalem...
#31
Author: Piotr Kucharski
Date: Mon, 30 Aug 1999 23:55
12 lines
984 bytes
Jacek Debowczyk <jumbo@nemezis.ipan.lublin.pl> wrote:
> Otoz enter (^M) jest interpretowany jako ^J. Bardzo prosze o
> jakakolwiek pomoc, albo wskazowke.

^M to 0x0D, a ^J to 0x0A
unixowy 'enter' to ^J, a dosowy to de facto ^M ^J

ja bym interpretował (jeśli niczego to nie popsuje) oba ciągi
jako enter

HTH
p.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads