perm filename TELSER.DIF[S,NET]1 blob
sn#697635 filedate 1983-01-24 generic text, type T, neo UTF8
1) TELSER.MID[S,NET] and 2) TELSER.OLD[S,NET] 1-24-83 17:00 pages 2,2
**** File 1) TELSER.MID[S,NET]/2P/20L
1) DEFINE TELCMD CMDLST
**** File 2) TELSER.OLD[S,NET]/2P/19L
2) ;NETWRK package uses 0,1,2 (potentially)
2) LOGC==4 ;for terminal I/O record
2) ; Macro to send a TELNET command
2) DEFINE TELCMD CMDLST
***************
**** File 1) TELSER.MID[S,NET]/2P/34L
1) INTPTO==001000,, ; PTY interrupt
**** File 2) TELSER.OLD[S,NET]/2P/38L
2) INTMAI==004000,, ; interrupt for MAIL from LOGIN
2) INTPTO==001000,, ; PTY interrupt
***************
**** File 1) TELSER.MID[S,NET]/3P/1L
1) ;ECHOFF ECHON TYSBLK IMPSET LINCHR XONOFF GAGOFF NTYSTS TERMID CORBEG TERSTR PTINTP NTINTP NTOINP DOQUIT NETCMP RCBINP TRBINP ECHOP SUPGAP WANTBP NODETP NEWLNP LFFLSP TTCHGP TTYLIN TPCSAV IDLTIM PTIBUF WHOBUF PDL DPYNAM COREND
**** File 2) TELSER.OLD[S,NET]/2P/49L
2) WRTPRV==020000 ; enables writing log
2) ;ECHOFF ECHON TYSBLK IMPSET LINCHR XONOFF GAGOFF NTYSTS TERMID CORBEG TERSTR PTINTP NTINTP NTOINP DOQUIT NETCMP RCBINP TRBINP ECHOP SUPGAP WANTBP NODETP NEWLNP LFFLSP TTCHGP MAILP SPYON TTYLIN TPCSAV IDLTIM PTIBUF WHOBUF PDL DPYNAM MAIBOX LOGO COREND
***************
**** File 1) TELSER.MID[S,NET]/3P/53L
1) ; Other storage
**** File 2) TELSER.OLD[S,NET]/3P/52L
2) MAILP: BLOCK 1 ; -1 → MAIL arrived (from LOGIN)
2) SPYON: BLOCK 1 ; -1 → log text
2) ; Other storage
***************
**** File 1) TELSER.MID[S,NET]/3P/63L
1) COREND==.-1 ; end of initialized storage
**** File 2) TELSER.OLD[S,NET]/3P/64L
2) MAIBOX: BLOCK 40 ; MAIL box
2) LOGO: BLOCK 3 ; log output buffer header
2) COREND==.-1 ; end of initialized storage
***************
**** File 1) TELSER.MID[S,NET]/5P/35L
1) TLNE X,(INTINR)
**** File 2) TELSER.OLD[S,NET]/5P/35L
2) TLNE X,(INTMAI) ; MAIL
2) SETOM MAILP
2) TLNE X,(INTINR)
***************
**** File 1) TELSER.MID[S,NET]/6P/7L
1) GETNAM ; decide what net we want
1) HLRZ
1) CAIN 'PUP
1) MOVSM NETDEV ; Ethernet!
1) MOVE ['TELSER]
**** File 2) TELSER.OLD[S,NET]/6P/7L
2) MOVEI 0,0
2) SETPRV 0, ;turn off any priv, so JOBRD will work
2) MOVE ['TELSER]
***************
**** File 1) TELSER.MID[S,NET]/6P/35L
1) MOVE [INTTTC\INTFOP\INTPTO\INTCLK\INTINR\INTINS\INTIMS\INTINP\INTQUIT]
1) INTENB ; turn on interrupts
**** File 2) TELSER.OLD[S,NET]/6P/33L
2) MOVE [INTTTC\INTFOP\INTPTO\INTCLK\INTINR\INTINS\INTIMS\INTINP\INTQUIT\INTMAI]
2) INTENB ; turn on interrupts
***************
**** File 1) TELSER.MID[S,NET]/6P/48L
1) MOVS A,NETDEV
1) CAIE A,'PUP
1) JRST NOTPUP
1) MOVE A,0 ; *** Fudge host number!
1) TRZ A,377
1) ADD A
1) TLO 44000 ; SU-NET
1) NOTPUP: PUSHJ P,HSTNUM ; get HDB
1) CAI ; sorry about errors
**** File 2) TELSER.OLD[S,NET]/6P/46L
2) PUSHJ P,HSTNUM ; get HDB
2) CAI ; sorry about errors
***************
**** File 1) TELSER.MID[S,NET]/6P/66L
1) CAMN B,[ASCII/TIP/] ; on a TIP?
**** File 2) TELSER.OLD[S,NET]/6P/57L
2) CAME B,[ASCIZ/TAC/] ; TACs are llke TIPs
2) CAMN B,[ASCII/TIP/] ; on a TIP?
***************
**** File 1) TELSER.MID[S,NET]/7P/73L
1) JRST MAINL ; back to sleep for us
**** File 2) TELSER.OLD[S,NET]/7P/73L
2) AOSG MAILP ; MAIL arrived?
2) JRST MAISER
2) JRST MAINL ; back to sleep for us
***************
**** File 1) TELSER.MID[S,NET]/9P/43L
1) JRST NTISER ; try for more user characters
**** File 2) TELSER.OLD[S,NET]/9P/43L
2) SKIPE SPYON
2) PUSHJ P,LOGCH ; record char in 0
2) JRST NTISER ; try for more user characters
***************
**** File 1) TELSER.MID[S,NET]/10P/15L
1) CAIN ↑J ; LF? (someday remove this kludge)
**** File 2) TELSER.OLD[S,NET]/10P/15L
2) SKIPE SPYON
2) PUSHJ P,LOGCH ; record char in 0
2) CAIN ↑J ; LF? (someday remove this kludge)
***************
**** File 1) TELSER.MID[S,NET]/15P/3L
1) SUBTTL Subroutines
**** File 2) TELSER.OLD[S,NET]/15P/3L
2) LOGM: 200
2) SIXBIT /DSK/
2) LOGO,,0
2) LOGNAM: 'LATEST
2) 0
2) 777000,,0
2) 'PSYS
2) MAISER: SRCV MAIBOX ;receive any letter sent to us
2) JRST MAINL ;none there, forget it
2) MOVE B,MAIBOX
2) CAME B,['SPYNOW]
2) JRST MAINL ;junk mail, forget it
2) SKIPN SPYON ;maybe already loggin'
2) OPEN LOGC,LOGM
2) JRST MAINL ;don't bother
2) MOVSI B,WRTPRV ;enable writing the file
2) SETPRV B,
2) MOVE B+3,[LOGNAM,,B] ;get filename
2) BLT B+3,B+3
2) TIMER B+1, ;random extension
2) MOVSI B+1,(B+1)
2) ENTER LOGC,B ;open file
2) JRST MAINL ;hmmm, oh well
2) MOVE B,TTYLIN
2) TTYJOB B, ;get subjob's number
2) JUMPE B,MAISE0 ;jump if no subjob
2) MOVEI 0,211
2) PEEK 0,
2) ADD B,0
2) PEEK B,
2) MAISE0: PUSHJ P,LOGSIX ;tell who it is
2) MOVEI B,0
2) PUSHJ P,LOGSIX ;some spaces
2) MOVEI B,0↓j2) SETPRV B, ;turn off the priv, so JOBRD will work
2) SETOM SPYON ;now loggin'
2) MOVE B,[440700,,TERSTR] ;get ptr to location descriptor
2) MAISE2: ILDB 0,B
2) JUMPE 0,MAISE3
2) PUSHJ P,LOGCH
2) JRST MAISE2
2) MAISE3: MOVEI 0,15 ;end location string with crlf
2) PUSHJ P,LOGCH
2) MOVEI 0,12
2) PUSHJ P,LOGCH
2) JRST MAINL
2) LOGSIX: MOVE B+1,[440600,,B]
2) LOGSI2: ILDB 0,B+1
2) ADDI 0,40 ;make into ascii
2) PUSHJ P,LOGCH
2) TLNE B+1,770000 ;end of word?
2) JRST LOGSI2 ;no
2) POPJ P, ;yes
2) LOGCH: SOSG LOGO+2 ;usual buffered output: any bytes left
2) OUT LOGC, ;next buffer
2) JRST LOGCH1
2) RELEAS LOGC, ;some error, close file
2) SETZM SPYON ;remember file is closed
2) POPJ P,
2) LOGCH1: IDPB 0,LOGO+1 ;put char in buffer
2) POPJ P,
2) ;OPTMSG RNDMSG SNDMSG MSGLUP SUIQUI ERRDIE SUICID DIEDIE ...LIT SVRRTS ERRTNS ERRHAN ERRINS HSTTAB HSTSIX
2) SUBTTL Subroutines
***************
**** File 1) TELSER.MID[S,NET]/15P/76L
1) DIEDIE: RESET ? EXIT
1) ...LIT: CONSTANTS
**** File 2) TELSER.OLD[S,NET]/16P/76L
2) DIEDIE: RELEAS LOGC, ; close log
2) RESET ? EXIT
2) ...LIT: CONSTANTS
***************
**** File 1) TELSER.MID[S,NET]/15P/89L
1) ;.INSRT NETWRK[NET,MRC]
1) .INSRT NETWRK
1) END TELSER
**** File 2) TELSER.OLD[S,NET]/16P/90L
2) .INSRT NETWRK[NET,MRC]
2) END TELSER
***************