Xref: utzoo unix-pc.general:3544 comp.sys.att:7259 Path: utzoo!utgpu!watmath!uunet!lll-winken!bu-cs!att!dptg!holin!bes From: bes@holin.ATT.COM (Bradley Smith) Newsgroups: unix-pc.general,comp.sys.att Subject: Need more help on /etc/lddrv/wind.o Message-ID: <642@holin.ATT.COM> Date: 10 Aug 89 12:59:19 GMT Distribution: unix-pc Organization: AT&T Bell Labs, OIL, Holmdel, NJ Lines: 43 Ok here is the latest. first - the 'ld -r -o uipc.o /etc/lddrv/ifile.wind ...' didn't work something about can't allocate address second - catching the linesw for reads & writes didn't buy me much other than I could verify my address. now what I have gotten to work. By using nlist and loading the vaules via a boot program (right now they are hard coded) I can get at the wintty struct which is most likely defined as 'struct tty wintty[WINNUM];' where WINNUM=12. Further more I can look at all the tty elements. Now the interesting stuff. First I am currently only interested in input (so we don't block on reads, and can select on stdin). In looking at Ditto's nkbd.c driver when it gets a char it ends up calling (*linesw[].l_input)(tp), which from looking at /etc/master, wind dosnot have. Also nkbd.c sticks the chars on the end tty->t_rbuf.c_ptr and has tp->t_rbuf.c_count count down via --. This is backwards from the pty driver. Further more c_count also is 64 (as is c_size which is the buffer size) when I do selects and have typed chars in, ie. I have a loop that does a select for 5 seconds, and repeats this. The first time around I get select=0 (which it should) but then I type chars (with out a read) and select still is 0 and all the buffer address and counts haven't changed. Even though the nkbd.c driver has been called (debug messages in it). Also it appears that even if in the program there is a sleep(30); and I type chars in the wind driver sucks them up and puts them else where and I can't seem to find out where. Anyone have an idea? Note: if one was to increase the number of windows, one would have to change wintty (ie patch wind.o so that it uses your address) and since it is an array of structures instead of a pointer, you have to patch actual .text segment -- Bradley Smith Computer Systems Offer Integration Laboratory AT&T Bell Labs, Holmdel, NJ 201-949-0090 att!holin!bes or bes@holin.ATT.COM