How Does rlogin Know Terminal Rows and Columns?
D. Jason Penney
penneyj at servio.UUCP
Tue Nov 7 17:54:27 AEST 1989
My circumstances are a little complicated, but the problem is simple
enough once I've explained it. I have a program driving a pseudo-tty
which is running a shell. Within this pseudo-tty, I want all programs
(such as vi) to know how many rows and columns they are dealing with.
Just to complicate matters, suppose the original "physical" tty is
something weird, like a window under sunview. Even worse, the
window can be resized.
In point of fact, if I "rlogin" to our AIX system using a SunView window,
the resulting AIX session gets everything right. I can test it by
climbing into vi and either typing away madly in insert mode, or examining
the terminal height using ":se window". I can climb out of vi, resize
my window (on the Sun, now), climb back into vi and see that AIX has
properly registered the new window size.
In a BSD system like SunOS, I use the TIOGCWINSZ and TIOCSWINSZ ioctl's
to read the window's current size and to propogate it to the pseudo-tty.
I even have a SIGWINCH to let me know when to do the ioctl's.
I've RTFM'd the AIX Tech Ref until I'm blue in the face, and the solution
still escapes me. I find it interesting that the BSD rlogin program
is handshaking properly to the AIX rlogind.
I would appreciate some one with the appropriate expertise (System V
or AIX) or access to the source code to let me know exactly what I should
be doing to 1) read my terminal characteristics (rows and columns) and,
just as important, 2) propogate them to my pseudo-tty. As a bonus,
it would be pleasant to know how to detect when the window size has
changed (SIGWINCH).
Please e-mail to me at the address below. Thanks in advance.
--
D. Jason Penney Ph: (503) 629-8383
Beaverton, OR 97006 uucp: ...uunet!servio!penneyj
STANDARD DISCLAIMER: Should I or my opinions be caught or killed, the
company will disavow any knowledge of my actions...
More information about the Comp.unix.wizards
mailing list