From: dcs@neutron.chem.yale.edu (Dave Schweisguth)
Subject: Re: Has anyone got working tn3270 sources?
Organization: Yale University
X-Newsreader: Tin 1.1 PL5
Date: Sat, 12 Sep 1992 01:29:48 GMT

Dave Schweisguth (dcs@neutron.chem.yale.edu) wrote:
: We've been using John Merritt's IRIX port of tn3270 since 3.3.something. The
: binary works fine under 4.0.x, but the same sources that compiled under 3.3.x
: no longer do so. [etc.]

Well, they do now. Thanks to Joe Habermann for the following fixes. They are to
be applied _after_ John Merritt's patches and additions. (For those interested,
the original tn3270 4.1.1 sources can be found virtually anywhere, and John
Merritt's port is at climate.gsfc.nasa.gov.)

===== snip ===== snip ===== snip ==============================================

*** telnet.c.old	Tue Sep  8 13:10:25 1992
--- telnet.c	Wed Sep  9 10:17:35 1992
***************
*** 29,34 ****
--- 29,37 ----
  static char sccsid[] = "@(#)telnet.c	3.5  1/21/87";
  #endif not lint
  
+ #define XXX(x,y,t) (IOC_IN|((sizeof(t)&IOCPARM_MASK)<<16)|('x'<<8)|y)
+ #define YYY(x,y,t) (IOC_OUT|((sizeof(t)&IOCPARM_MASK)<<16)|('x'<<8)|y)
+ 
  /*
   * User telnet program, modified for use by tn3270.c.
   *
***************
*** 797,802 ****
--- 800,807 ----
  	if (!(SYNCHing||flushout)) {
  	    n = write(tout, tbackp, n);
  	} else {
+ #undef TIOCFLUSH
+ #define TIOCFLUSH XXX(t, 16, int)
  	    ioctl(fileno(stdout), TIOCFLUSH, (char *) 0);
  	    /* we leave 'n' alone! */
  	}
***************
*** 1008,1015 ****
--- 1013,1026 ----
      default:
  	    return;
      }
+ #undef TIOCSLTC
+ #define TIOCSLTC XXX(t,117,struct ltchars) 
      ioctl(tin, TIOCSLTC, (char *)ltc);
+ #undef TIOCSETC
+ #define TIOCSETC XXX(t,17,struct tchars)
      ioctl(tin, TIOCSETC, (char *)tc);
+ #undef TIOCSETP
+ #define TIOCSETP XXX(t, 9,struct sgttyb)
      ioctl(tin, TIOCSETP, (char *)&sb);
  #if	(!defined(TN3270)) || ((!defined(NOT43)) || defined(PUTCHAR))
      ioctl(tin, FIONBIO, (char *)&onoff);
***************
*** 2800,2807 ****
--- 2811,2824 ----
  	kill(0, SIGTSTP);
  #endif	/* defined(unix) */
  	/* reget parameters in case they were changed */
+ #undef TIOCGETP
+ #define TIOCGETP YYY(t, 8,struct sgttyb) 
  	ioctl(0, TIOCGETP, (char *)&ottyb);
+ #undef TIOCGETC
+ #define TIOCGETC YYY(t,18,struct tchars)
  	ioctl(0, TIOCGETC, (char *)&otc);
+ #undef TIOCGLTC
+ #define TIOCGLTC YYY(t,116,struct ltchars)
  	ioctl(0, TIOCGLTC, (char *)&oltc);
  	return 1;
  }
***************
*** 3231,3236 ****
--- 3248,3255 ----
      ioctl(0, TIOCGETC, (char *)&otc);
      ioctl(0, TIOCGLTC, (char *)&oltc);
  #if	defined(LNOFLSH)
+ #undef TIOCLGET
+ #define TIOCLGET YYY(t, 124, int)
      ioctl(0, TIOCLGET, (char *)&autoflush);
      autoflush = !(autoflush&LNOFLSH);	/* if LNOFLSH, no autoflush */
  #else	/* LNOFLSH */
*** outbound.c.old	Tue Sep  8 12:58:41 1992
--- outbound.c	Wed Sep  9 10:22:57 1992
***************
*** 564,570 ****
  #if	defined(unix)
  	char KSEbuffer[2050];
  	char *lotsofspace = KSEbuffer;
! 	extern int abort();
  	extern char *tgetstr();
  #endif	/* defined(unix) */
  
--- 564,570 ----
  #if	defined(unix)
  	char KSEbuffer[2050];
  	char *lotsofspace = KSEbuffer;
! /*	extern int abort();*/
  	extern char *tgetstr();
  #endif	/* defined(unix) */

=== end of snip ===============================================================
  
Cheers,

--
| Dave Schweisguth   Yale MB&B & Chemistry   Email: dcs@neutron.chem.yale.edu |
| Lab phone: 203-432-5208      Fax: 203-432-6144     Home phone: 203-624-3866 |
Newsgroups: comp.sys.sgi