> > My question was more in terms of - who tells OpenDevice() that.
> > Who sets #ifdef TIOCPKT to true?
> >
Nothing magic there.
It is brought in through standard system header files:
/usr/include/asm-arm/ioctls.h:#define TIOCPKT 0x5420
/usr/include/asm-generic/ioctls.h:#define TIOCPKT 0x5420
/usr/include/asm-ia64/ioctls.h:#define TIOCPKT 0x5420
/usr/include/asm-parisc/ioctls.h:#define TIOCPKT 0x5420
/usr/include/asm-powerpc/ioctls.h:#define TIOCPKT 0x5420
/usr/include/asm-s390/ioctls.h:#define TIOCPKT 0x5420
/usr/include/asm-sparc/ioctls.h:#define TIOCPKT _IOW('t', 112, int)
... at least for linux.
Thanks for this info.
> Just to be clearer, I am on Linux, 2.6.32-26-generic.
>
> I am still trying to find out how "TIOCPKT" is set when I start a shell
> (start a terminal) on my Linux box.
window.c OpenDevice() on /dev/[pt]ty* always sets TIOCPKT mode,
if that symbol is defined.
ansi.c DoCSI() DoESC() code reacts differently with or without having
TIOCPKT defined.
Can you verify that both files see the same definition?
Missing include somewhere?
In the scenario we are looking at, it doesn't even get into 2 functions you mentioned in ansi.c. Am I missing something?
On the other side, inside screen.c main(), TIOCPKT is defined. That means, when screen starts, this symbol is defined already. Does that mean screen is always in packet mode?
Thanks,
Hiren