$ od -c -N 50000 [_CD8_]<dls>DLS.dm!19
0000000 377 \0 \0 D L S C o n t r o l . d e
0000020 c l \0 373 236 026 253 027 \0 \0 376 001 \0 034 ; /
0000040 / D L S C o n t r o l . d e c
0000060 l - - d e c l a r a t i o n
0000100 s f o r D L S c o n t r o
0000120 l p r o g r a m \r \r / / L a
0000140 s t m o d i f i e d J u n e
0000160 2 0 , 1 9 8 2 1 0 : 4 1
0000200 A M b y T a f t \r / / L
0000220 a s t m o d i f i e d J a n
0000240 u a r y 1 7 , 1 9 8 5 1
0000260 0 : 0 1 A M b y D i e b e
0000300 r t \r \r \r m a n i f e s t \r [ \r
0000320 l e n C t x R e g i o n = 4
0000340 5 3 \t / / S i z e o f c o
0000360 n t e x t f o r e a c h l
0000400 i n e \r l e n P u p C o n t e n
0000420 t s = 1 2 8 \t / / M a x 376
0000440 001 \0 ^ 246 n u m b e r o f d
0000460 a t a b y t e s i n e a c
0000500 h P u p \r \t \t \t / / C a n '
0000520 t b e l e s s t h a n 1
0000540 2 8 , e l s e t h e P u p
0000560 p a c k a g e \r \t \t \t / / w
0000600 o n ' t b e a b l e t o
0000620 r e c e i v e r o u t i n g
0000640 t a b l e s . \r \r / / P a r a
0000660 m e t e r s d e t e r m i n i
0000700 n g m e m o r y n e e d e d
0000720 f o r s t a t u s d i s p
0000740 l a y \r s t D i s L i n e s =
0000760 n u m L i n e s / 8 + 1 /
0001000 / L i n e s i n s t a t u
0001020 s d i s p l a y \r s t D i s W
0001040 i d C h 376 001 \0 \a > a r s = 3
0001060 5 \t / / N u m b e r o f c
0001100 h a r a c t e r s p e r l i
0001120 n e \r \r / / O t h e r s t u
0001140 f f o f i n t e r e s t \r e
0001160 n d C o d e = # 3 3 5 \t \t /
0001200 / H o l d s a d d r e s s
0001220 o f f i r s t f r e e w o
0001240 r d \r \r t y p e W h e r e U s e
0001260 r R e q u e s t = 2 3 0 b \r
0001300 t y p e W h e r e U s e r R e p
0001320 l y = 2 3 1 b \r m i s c S e
0001340 r v i c e s S o c k e t = 4
0001360 b \r ] \r \r / / - - - - - - - -
0001400 - - - - - - - - - - - - - - - -
*
0001440 - - - - - - - - - 376 001 \0 352 302 - -
0001460 - - - - - - - - - - - - - - - -
0001500 - - - - - - - - \r s t r u c t u
0001520 r e C T X : \t \t / / C o n t
0001540 e x t s t r u c t u r e f o
0001560 r e a c h l i n e \r / / -
0001600 - - - - - - - - - - - - - - - -
*
0001700 - - - - - - - - - - \r [ \r n e x
0001720 t w o r d \t \t / / S t a n d
0001740 a r d p a r t o f c o n t
0001760 e x t \r s t a c k w o r d \r s
0002000 t a c k M i n w o r d \r d l b
0002020 w o r d \t \t / / L i n k t
0002040 o d a t a l i n e b l 376 001
0002060 \0 370 356 o c k \r a u x C t x w o
0002100 r d \t \t / / L i n k t o a
0002120 u x i l i a r y c o n t e x t
0002140 f o r l i n e \r r e t u r n
0002160 F r a m e w o r d \t / / F r
0002200 a m e t o r e t u r n f r
0002220 o m w h e n i n r e m o t
0002240 e m o d e \r s y n c C o u n t
0002260 w o r d \t \t / / D a t a M
0002300 a r k v s I n t e r r u p t
0002320 c o u n t \r s t a t u s w o
0002340 r d = \t \t / / Z e r o e
0002360 d a t c o n n e c t t i m
0002400 e \r [ \r s o c k e t
0002420 O p e n b i t \t / / A l o
0002440 c a l s o c k e t h a s b
0002460 e e n 376 001 \0 @ 334 c r e a t e d
0002500 \r l o c a l E c h o b i
0002520 t \t / / E c h o i n g t y p
0002540 e i n l o c a l l y \r t
0002560 i m e o u t b i t \t \t / / C
0002600 o n n e c t i o n t i m e d
0002620 o u t \r e s c a p e D i s
0002640 a b l e d b i t \t / / N o
0002660 e s c a p e c h a r \r b
0002700 l a n k b i t \r l i n e
0002720 S t a t e b i t 3 \t / / S
0002740 o f t w a r e s t a t e o f
0002760 t h i s l i n e \r e s
0003000 c a p e C h a r b y t e \t / /
0003020 E s c a p e c h a r a c t e
0003040 r f r o m T a l k T o R e m
0003060 o t e \r ] 376 001 \0 312 250 \r e s
0003100 c a p e C h a r T i m e r \t w o
0003120 r d \t / / p l a c e t o k
0003140 e e p t h e t i m e r \r e s
0003160 c a p e T i m e \t w o r d \t / /
0003200 e s c a p e t i m e v a l
0003220 u e i n s e c o n d s \r \r \t
0003240 \t \t / / T h i n g s n o t
0003260 r e s e t a t c o n n e c t
0003300 t i m e : \r h o s t w o r d
0003320 \t \t / / D e f a u l t h o s
0003340 t n a m e \r c o n s t a n t B
0003360 a u d b i t \t / / T r u e
0003400 i f l i n e t o b e r u
0003420 n a t c o n s t a n t B a
0003440 u d r a t e \r d i a l O u t O
0003460 n l y b i t \t \t / / T 376 001 \0
0003500 _ Q r u e i f l i n e t o
0003520 b e c o n t r o l l e d o
0003540 n l y f r o m n e t w o r k
0003560 - - \r \t \t \t / / n o t e r
0003600 m i n a l c o m m a n d p r
0003620 o c e s s o r \r n o P a d b i
0003640 t \t \t / / N o p a d d i n g
0003660 f o r C R d e l a y \r e i
0003700 g h t B i t b i t \t \t / / T
0003720 h i s l i n e i s i n 8
0003740 b i t n o p a r i t y m
0003760 o d e \r c a l l T i m e d b i
0004000 t \t / / s a y s i f c a l
0004020 l m a d e t h a t h a s
0004040 n o t b e e n t i m e d \r c
0004060 a l l I n P r o g r e s s b i
0004100 t \t 376 001 \0 & 205 / / s a y s i
0004120 f c a l l i s b e i n g
0004140 m a d e \r b l a n k b i t 2
0004160 \r t e r m i n a l T y p e b y
0004200 t e \t / / T e n e x t e r m
0004220 i n a l t y p e \r t e r m i n
0004240 a l L e n g t h b y t e \t / /
0004260 L i n e s / p a g e \r t e r m
0004300 i n a l W i d t h b y t e \t /
0004320 / C h a r s / l i n e \r n a m
0004340 e w o r d \t \t / / P o i n t
0004360 e r t o n a m e s t r i n
0004400 g \r p a s s w o r d \t w o r d \t
0004420 / / P o i n t e r t o p a
0004440 s s w o r d s t r i n g \r s t
0004460 a r t T i m e w o r d \t \t / /
0004500 T i m e a 376 001 \0 006 325 t s t
0004520 a r t o f c a l l \r s o c k
0004540 e t : @ B S P S o c \t \t / /
0004560 R T P s o c k e t s t r u c
0004600 t u r e \r ] \r m a n i f e s t
0004620 [ l e n C T X = s i z e
0004640 C T X / 1 6 - 3 ] / / S i
0004660 z e o f o u r t h i n g s
0004700 i n C T X \r \r m a n i f e s
0004720 t \r [ \r l i n e S t a t e O f f
0004740 = 0 \t / / I d l e , l i
0004760 n e n o t i n u s e , c
0005000 a r r i e r o f f \r / / H a
0005020 r d w i r e d o r d i a l -
0005040 i n l i n e s t a t e s \r l
0005060 i n e S t a t e O n = 1 \t \t
0005100 / / C a r r i e r o 376 \0 373 234
0005120 266 n , a w a i t i n g s p e
0005140 e d d e t e r m i n a t i o n
0005160 \r l i n e S t a t e A c t i v e
0005200 = 2 \t / / A t D L S c
0005220 o m m a n d l e v e l \r l i n
0005240 e S t a t e R e m o t e = 3
0005260 \t / / C o n n e c t e d t o
0005300 r e m o t e h o s t \r / /
0005320 D i a l - o u t l i n e s t
0005340 a t e \r l i n e S t a t e D i a
0005360 l O u t = 4 \t / / L i n e
0005400 u n d e r c o n t r o l o
0005420 f d i a l - o u t s e r v e
0005440 r \r \r d i a l I n E s c a p e
0005460 = 3 6 B \r d i a l O u t E s c
0005500 a p e = 3 7 B \r ] \r 377 \0 \0 D
0005520 L S U t i l . d e c l \0 373 236 022 360
0005540 263 \0 \0 376 001 \0 377 352 / / D L S U t
0005560 i l . d e c l - - s t r u c
0005600 t u r e p r o d u c e d b y
0005620 l o g i n s t u f f \r \r / /
0005640 L a s t m o d i f i e d J
0005660 a n u a r y 1 4 , 1 9 8 5
0005700 2 : 0 9 P M b y D i e b
0005720 e r t \r \r g e t " D L S C o n
0005740 t r o l . d e c l " \r \r / / -
0005760 - - - - - - - - - - - - - - - -
*
0006060 - - - - - - - - - - \r s t r u c
0006100 t u r e L S C B : \t / / L o
0006120 g i n c o n t r o l s t r u
0006140 c t u r e \r / / 376 001 \0 342 231 - -
0006160 - - - - - - - - - - - - - - - -
*
0006260 - - - - - - - - - \r [ \r c t x \t
0006300 \t \t w o r d \t / / i f n o t
0006320 i n u s e . c a l l e r
0006340 s c o n t e x t i n u s e
0006360 \r F u n c t i o n \t w o r d \r N
0006400 a m e \t \t w o r d \r P a s s w o
0006420 r d \t w o r d \r L i s t \t \t w o
0006440 r d \r e c w o r d \r ] \r \r \r m
0006460 a n i f e s t l e n L S C B
0006500 = s i z e L S C B / 1 6 \r \r
0006520 m a n i f e s t \r [ \r l t N a m
0006540 e A u t h e n t i c a t e 376 \0 -
0006560 B 234 = 1 \r l t F i n d G r a
0006600 p e v i n e = 2 \r l t C h e
0006620 c k O n L i s t = 3 \r ] \r 377
0006640 \0 \0 D L S C o n t r o l . b c p
0006660 l \0 373 236 033 340 320 \0 \0 376 001 \0 232 332 / /
0006700 D L S C o n t r o l . b c p l
0006720 - - C o n t r o l p r o g
0006740 r a m f o r A l t o D L S
0006760 \r \r / / L a s t m o d i f i
0007000 e d J u l y 1 1 , 1 9 8 3
0007020 1 2 : 0 2 P M b y T a
0007040 f t \r / / L a s t m o d i f
0007060 i e d J a n u a r y 1 7 ,
0007100 1 9 8 5 1 0 : 0 2 A M b
0007120 y D i e b e r t \r \r g e t "
0007140 D L S D r i v e r . d e c l " \r
0007160 g e t " P u p . d e c l " \r g
0007200 e t " D L S C o n t r o l . d
0007220 e c l " \r g e t " A l t o D e
0007240 f s . d " \r \r e x t e r n a l \r
0007260 [ \r / / o u t g o i n g 376 001
0007300 \0 033 + p r o c e d u r e s \r D L
0007320 S A f t e r J u n t a ; D L S
0007340 C o n t r o l ; D L S T o p ;
0007360 D i s c o n n e c t ; H a n
0007400 g U p ; L e a v e R e m o t e
0007420 M o d e ; \r O p e n P o r t F o
0007440 r C t x ; C h e c k C o n n e
0007460 c t i o n ; D L S C o m m a n
0007500 d ; D L S R e m o t e E r r o
0007520 r ; D L S R e t u r n F r o m
0007540 \r D L S T o p A b o r t ; D L
0007560 S C o m m a n d E r r o r \r \r /
0007600 / P r o c e d u r e s d e f
0007620 i n e d i n o t h e r p a
0007640 r t s o f t h e D L S c
0007660 o n t r o l p r o g r a m \r D
0007700 L S B 376 001 \0 366 r e f o r e J u n
0007720 t a I n i t ; D L S A f t e r
0007740 J u n t a I n i t ; D i a l O
0007760 u t T o p ; S e t 7 B i t P r
0010000 o c s ; \r G e t N u m b e r ;
0010020 O t h e r P u p P r o c ; T
0010040 e r m i n a l T o N e t \r \r / /
0010060 P r o c e d u r e s d e f i
0010100 n e d i n D L S U t i l \r G
0010120 e t S t r i n g ; E c h o ;
0010140 C o n f i r m ; E r r o r ;
0010160 W s ; W s s ; W n s ; T i
0010200 m e C a l l S t o p ; L o g i
0010220 n ; T i m e C a l l S t a r t
0010240 \r \r \r / / P r o c e d u r e s
0010260 d e f i n e d i n D L S
0010300 d r i v e r \r D 376 001 \0 246 6 L S R
0010320 e s e t O u t p u t ; D L S O
0010340 u t p u t E m p t y ; D L S I
0010360 n p u t I d l e ; C o n t r o
0010400 l O u t ; C o n t r o l I n ;
0010420 \r D e t e r m i n e D L S L i n
0010440 e S p e e d ; U p d a t e C a
0010460 r r i e r O n ; W a i t F o r
0010500 B i t T i m e s \r D L S I n p u
0010520 t ; D L S I n p u t 7 ; D L
0010540 S O u t p u t ; D L S O u t p
0010560 u t 7 ; D L S O u t p u t T I
0010600 \r D L S R e s e t I n p u t \r \r
0010620 / / P r o c e d u r e s d e
0010640 f i n e d i n o t h e r p
0010660 a c k a g e s \r O p e n L e v e
0010700 l 1 S o c k e t ; C l o 376 001 \0
0010720 U 233 s e L e v e l 1 S o c k e t
0010740 ; R e l e a s e P B I ; O p
0010760 e n R T P S o c k e t ; C l o
0011000 s e R T P S o c k e t ; \r C r e
0011020 a t e B S P S t r e a m ; C l
0011040 o s e B S P S o c k e t ; B S
0011060 P F o r c e O u t p u t ; \r B S
0011100 P G e t M a r k ; B S P P u t
0011120 M a r k ; B S P P u t I n t e
0011140 r r u p t ; G e t P a r t n e
0011160 r ; E x c h a n g e P o r t s
0011200 ; C o m p l e t e P u p \r I n
0011220 i t i a l i z e C o n t e x t ;
0011240 C a l l C o n t e x t L i s t
0011260 ; B l o c k ; E n q u e u e
0011300 ; D e q u e u e ; U n q u e
0011320 u e 376 001 \0 351 363 ; \r S e t T i m e
0011340 r ; T i m e r H a s E x p i r
0011360 e d ; D i s m i s s ; P u t
0011400 T e m p l a t e ; P u t N u m
0011420 ; W r i t e R i n g B u f f e
0011440 r \r \r / / P r o c e d u r e s
0011460 d e f i n e d i n o p e r
0011500 a t i n g s y s t e m \r G e t
0011520 s ; P u t s ; E n d o f s ;
0011540 R e s e t s ; A l l o c a t
0011560 e ; F r e e ; A d d T o Z o
0011600 n e ; Z e r o ; \r C a l l S w
0011620 a t ; M y F r a m e ; G o t
0011640 o F r a m e ; R e t u r n F r
0011660 o m ; N o o p ; D e f a u l
0011700 t A r g s \r \r / / o u t g o i
0011720 n g s t a t 376 001 \0 226 B i c s \r
0011740 e n d I n i t ; m a i n C t x
0011760 ; c t x T a b l e ; n P B I
0012000 ; i P B I ; v e r s i o n T
0012020 e x t ; c r l f \r d l s N a m
0012040 e ; d l s R e g i s t r y ;
0012060 d l s O u t L i s t ; d l s I
0012100 n L i s t ; d l s W i z a r d
0012120 L i s t ; l o g s t r e a m ;
0012140 d c b \r / / i n c o m i n g
0012160 s t a t i c s \r @ l b T a b l
0012200 e \t / / D L S l i n e b l
0012220 o c k t a b l e \r C t x R u n
0012240 n i n g ; s y s Z o n e ; l
0012260 e n P B I ; p b i F r e e Q ;
0012300 n d b Q ; k e y D s p ; p
0012320 o s t e d N o t i c e ; 376 001 \0 m
0012340 257 s o c k e t S e q u e n c e
0012360 \r l o g i n S e r v e r C B ; \r
0012400 ] \r \r s t a t i c \r [ \r e n d I
0012420 n i t \t \t / / E n d o f i
0012440 n i t i a l i z a t i o n c o
0012460 d e \r m a i n C t x \t \t / / P
0012500 o i n t e r t o Q o f n
0012520 o n - i n t e r r u p t c o n
0012540 t e x t s \r c t x T a b l e \t /
0012560 / T a b l e o f c o n t e
0012600 x t s , i n d e x e d b y
0012620 l i n e # \r n P B I \t \t / /
0012640 T o t a l n u m b e r o f
0012660 P B I s a l l o c a t e d \r i
0012700 P B I \t \t / / P B I s a l l
0012720 o c a t e d b y i n i t i a
0012740 l 376 001 \0 303 ` i z a t i o n \r d c
0012760 b = 0 \r d l s N a m e =
0013000 0 \r d l s R e g i s t r y =
0013020 0 \r d l s O u t L i s t = 0
0013040 \r d l s I n L i s t = 0 \r d
0013060 l s W i z a r d L i s t = 0
0013100 \r l o g s t r e a m \r v e r s i
0013120 o n T e x t ; c r l f \r l o g
0013140 i n S e r v e r C B = 0 \r ]
0013160 \r \f \r / / - - - - - - - - - -
0013200 - - - - - - - - - - - - - - - -
*
0013300 - \r l e t D L S C o n t r o l
0013320 ( ) b e D L S B e f o r e J
0013340 u n t a I n 376 001 \0 R \n i t ( ) \r
0013360 / / - - - - - - - - - - - - -
0013400 - - - - - - - - - - - - - - - -
*
0013460 - - - - - - - - - - - - - - \r \r
0013500 / / - - - - - - - - - - - - -
0013520 - - - - - - - - - - - - - - - -
*
0013600 - - - - - - - - - - - - - - \r a
0013620 n d D L S A f t e r J u n t a
0013640 ( ) b e \r / / - - - - - - -
0013660 - - - - - - - - - - - - - - - -
*
0013740 - - - - - - - - - - - 376 001 \0 357 T
0013760 - - - - - - - - - \r [ \r v e r s
0014000 i o n T e x t = " D L S C o
0014020 n t r o l o f J a n u a r y
0014040 1 7 , 1 9 8 5 " \r c r l f
0014060 = " * n * l " \r \r D L S A f t
0014100 e r J u n t a I n i t ( ) \r \r /
0014120 / T h r o w a w a y i n i
0014140 t i a l i z a t i o n c o d e
0014160 a n d s t a c k , a d d
0014200 i t s s p a c e t o z o n
0014220 e , \r / / a n d c r e a t e
0014240 r e m a i n i n g P B I s \r
0014260 A d d T o Z o n e ( s y s Z o n
0014300 e , D L S B e f o r e J u n t
0014320 a I n i t , e n d I n i t - D
0014340 L S B e f o r e J u n t a I n i
0014360 376 001 \0 5 \0 t ) \r l e t f r e e
0014400 B e g i n = @ e n d C o d e
0014420 \r @ e n d C o d e = M y F r
0014440 a m e ( ) - 1 0 0 \r A d d T o Z
0014460 o n e ( s y s Z o n e , f r e
0014500 e B e g i n , @ e n d C o d e
0014520 - f r e e B e g i n ) \r f o r
0014540 i = 1 t o n P B I - i P
0014560 B I d o \r E n q u e u e
0014600 ( p b i F r e e Q , A l l o c
0014620 a t e ( s y s Z o n e , l e n
0014640 P B I ) ) \r \r / / N o w e v
0014660 e r y t h i n g i s s e t
0014700 u p . \r / / R u n a l l c
0014720 o n t e x t s f o r e v e r .
0014740 . . \r C a l l C o n t e x t L i
0014760 s t ( m a 376 001 \0 C 335 i n C t x !
0015000 0 ) r e p e a t \r ] \r \f \r / /
0015020 - - - - - - - - - - - - - - -
0015040 - - - - - - - - - - - - - - - -
*
0015120 - - - - - - - - - - - - \r a n d
0015140 D L S T o p ( c t x ) b e \r
0015160 / / - - - - - - - - - - - - -
0015200 - - - - - - - - - - - - - - - -
*
0015260 - - - - - - - - - - - - - - \r /
0015300 / T h i s i s t h e t o
0015320 p - l e v e l p r o c e d u r
0015340 e f o r e a c h l i n e '
0015360 s c o n t e x t . 376 001 \0 243 ` \r
0015400 [ \r l e t d l b = c t x >
0015420 > C T X . d l b \r i f d l b >
0015440 > D L B . c a r r i e r O f f
0015460 t h e n c t x > > C T X . l i
0015500 n e S t a t e = l i n e S t
0015520 a t e O f f \r d l b > > D L B .
0015540 t i m e o u t = - 1 \r \r / /
0015560 W a i t f o r s o m e b o
0015600 d y t o c o n n e c t ( n
0015620 o - o p i f n o t a d i
0015640 a l u p l i n e ) \r w h i l e
0015660 ( d l b > > D L B . c a r r i
0015700 e r O f f % c t x > > C T X
0015720 . d i a l O u t O n l y ) & \r
0015740 c t x > > C T X . l i n e S t
0015760 a t e n e l i n e S t a t 376
0016000 001 \0 315 y e D i a l O u t d o \r
0016020 D i s m i s s ( 1 ) \r d l
0016040 b > > D L B . n o P a d = c
0016060 t x > > C T X . n o P a d \r d l
0016100 b > > D L B . e i g h t B i t
0016120 = c t x > > C T X . e i g h t
0016140 B i t \r d l b > > D L B . f l o
0016160 w C o n t r o l = f a l s e
0016200 \r S e t 7 B i t P r o c s ( d l
0016220 b ) \r c t x > > C T X . c a l l
0016240 T i m e d = 0 \r c t x > > C
0016260 T X . c a l l I n P r o g r e s
0016300 s = 0 \r c t x > > C T X . e
0016320 s c a p e T i m e = 0 \r c t
0016340 x > > C T X . e s c a p e D i s
0016360 a b l e d = 0 \r \r t e s t
0016400 c t x > 376 001 \0 > 264 > C T X . l i
0016420 n e S t a t e e q l i n e S
0016440 t a t e D i a l O u t \r i
0016460 f s o \r [ / /
0016500 D i a l - o u t T e l n e t
0016520 c o n n e c t i o n \r
0016540 c t x > > C T X . e s c a p e
0016560 C h a r = d i a l O u t E s
0016600 c a p e \r D i a l O
0016620 u t T o p ( c t x ) \r
0016640 ] \r i f n o t \r
0016660 [ / / H a r d w i r e
0016700 d o r d i a l - i n c o n
0016720 n e c t i o n \r c t
0016740 x > > C T X . l i n e S t a t e
0016760 = l i n e S t a t e O n \r
0017000 c t x > 376 001 \0 304 221 > C
0017020 T X . e s c a p e C h a r =
0017040 d i a l I n E s c a p e \r \r
0017060 / / U n l e s s t h
0017100 i s i s a c o n s t a n t
0017120 - s p e e d l i n e , \r
0017140 / / d e t e r m i n e
0017160 l i n e s p e e d f r o m
0017200 t h e f i r s t c h a r a c
0017220 t e r t y p e d i n . \r
0017240 u n l e s s c t x > >
0017260 C T X . c o n s t a n t B a u d
0017300 d o \r [ \r
0017320 l e t c h a r
0017340 = D e t e r m i n e D L S L
0017360 i n e S p e e d ( d l b , \r
0017400 t a b l 376 001
0017420 \0 337 377 e [ 6 ; 2 4 0 0 ;
0017440 1 2 0 0 ; 6 0 0 ; 3 0 0 ;
0017460 1 5 0 ; 1 1 0 ] , / /
0017500 P o s s i b l e s p e e d s \r
0017520 t a b l
0017540 e [ 4 ; 3 ; $ E ; $ e
0017560 ; $ * n ] , / / C h a
0017600 r a c t e r s t o a c c e p
0017620 t \r D L
0017640 S T o p A b o r t ) \r
0017660 i f c h a r e q 0
0017700 l o o p / / B a c k t
0017720 o t o p i f n o t f o u
0017740 n d o r u s e r h u n g
0017760 u p \r i f c
0020000 h a r e q 3 t h e n W r
0020020 i t e 376 001 \0 276 6 R i n g B u f f
0020040 e r ( l v d l b > > D L B . i
0020060 R B D , c h a r ) \r
0020100 ] \r \r / /
0020120 G i v e g r e e t i n g m e
0020140 s s a g e a n d l i n e n
0020160 u m b e r \r P u t T
0020200 e m p l a t e ( d l b , " $ S
0020220 * n * l $ S L i n e # $ O
0020240 B a u d r a t e = $ D ,
0020260 E s c a p e k e y = " ,
0020300 d l s N a m e , \r
0020320 ( s e l e c t o n d l
0020340 b > > D L B . l i n e T y p e
0020360 i n t o \r
0020400 [ \r
0020420 c a s e l t H 376 001 \0 233 m a r d
0020440 w i r e d : " H a r d w i r e
0020460 d " \r c
0020500 a s e l t D a t a S e t : "
0020520 D i a l I n " \r
0020540 c a s e l t T e l e
0020560 n e t : " T e l e n e t " \r
0020600 d e f a u
0020620 l t : " ? " \r
0020640 ] ) , \r
0020660 d l b > > D L B . l i n e ,
0020700 d l b > > D L B . b a u d ) \r
0020720 E c h o ( d l b , c
0020740 t x > > C T X . e s c a p e C h
0020760 a r ) \r W s s ( d l
0021000 b , c r l f ) \r \r
0021020 i f p o s t e d N o t i 376 001 \0
0021040 $ 244 c e n e 0 t h e n \r
0021060 P u t T e m p l
0021100 a t e ( d l b , " * 0 0 7 * *
0021120 * * * * $ S * n * l " , p o
0021140 s t e d N o t i c e ) \r
0021160 l e t o k = f a l s e
0021200 \r f o r i = 1
0021220 t o 5 d o \r
0021240 [ o k = L o g i n ( c
0021260 t x , d l b , d l s I n L i
0021300 s t , " D i a l I n L o g
0021320 i n " ) \r i f
0021340 o k e q t r u e t h e n
0021360 b r e a k \r
0021400 ] \r t e s t o k \r
0021420 i f s o \r
0021440 376 001 \0 261 321 [
0021460 \r / /
0021500 C a l l m a i n c o m m a n
0021520 d l o o p - - r e t u r n
0021540 s u p o n c a r r i e r O f
0021560 f o r t i m e o u t \r
0021600 T i m e C a l
0021620 l S t a r t ( c t x ) \r
0021640 D L S C o m m a
0021660 n d ( c t x ) \r
0021700 w h i l e d l b > > D
0021720 L B . o u t A c t i v e d o
0021740 B l o c k ( ) \r
0021760 T i m e C a l l S t o p
0022000 ( c t x ) \r
0022020 ] \r i f n
0022040 o t [ W s 376 001 \0 352 I s ( d l
0022060 b , " V a l i d l o g i n
0022100 r e q u i r e d . * n * l " ) ;
0022120 D i s m i s s ( 5 0 0 ) ; D
0022140 i s c o n n e c t ( c t x ) ]
0022160 \r ] \r \r / / I f
0022200 w e g e t h e r e a n d
0022220 a n a m e i s a l l o c a
0022240 t e d F r e e i t \r T i m e
0022260 C a l l S t o p ( c t x ) / /
0022300 J u s t i n c a s e w e
0022320 g o t h e r e d u e t o
0022340 a n e r r o r . \r i f c t
0022360 x > > C T X . n a m e n e 0
0022400 d o [ F r e e ( s y s Z o
0022420 n e , c t x > > C T X . n a m
0022440 e ) ; c t x > > C T X 376 001 \0 276
0022460 232 . n a m e = 0 ] \r i f
0022500 c t x > > C T X . p a s s w o r
0022520 d n e 0 d o [ F r e e
0022540 ( s y s Z o n e , c t x > > C
0022560 T X . p a s s w o r d ) ; c t
0022600 x > > C T X . p a s s w o r d
0022620 = 0 ] \r i f d l b > > D L
0022640 B . l i n e T y p e g e l t
0022660 D a t a S e t d o \r [ \r
0022700 c t x > > C T X . t e r m
0022720 i n a l T y p e = 0 \r
0022740 c t x > > C T X . t e r m i n a
0022760 l L e n g t h = 0 \r c
0023000 t x > > C T X . t e r m i n a l
0023020 W i d t h = 0 \r ] \r c
0023040 t x > > C T X . e s c a p e T i
0023060 m 376 001 \0 I O e = 0 \r c t x >
0023100 > C T X . e s c a p e D i s a b
0023120 l e d = 0 \r \r / / I f w
0023140 e g e t h e r e a n d a
0023160 c o n n e c t i o n i s o
0023200 p e n , c l o s e i t \r d l
0023220 b > > D L B . e r r o r = N
0023240 o o p / / D i s a b l e
0023260 D L S e r r o r h a n d l i
0023300 n g \r D i s c o n n e c t ( c t
0023320 x , 5 0 0 ) / / S h o r
0023340 t t i m e o u t ( 5 s e c
0023360 o n d s ) \r H a n g U p ( d l b
0023400 , t r u e ) / / H a n g
0023420 u p t h e m o d e m ( i
0023440 f i m p l e m e n t e d ) \r c
0023460 t x > > C T 376 001 \0 215 ` X . s t a
0023500 t u s = 0 / / C l e a
0023520 r s t a t u s w o r d ( i
0023540 n c l u d i n g s o c k e t O
0023560 p e n a n d l i n e S t a t
0023600 e ) \r ] r e p e a t \r \f \r / /
0023620 - - - - - - - - - - - - - - -
0023640 - - - - - - - - - - - - - - - -
*
0023720 - - - - - - - - - - - - \r a n d
0023740 D L S R e m o t e E r r o r (
0023760 d l b , e c ) b e \r / / -
0024000 - - - - - - - - - - - - - - - -
*
0024060 - - - - - - - - - - - 376 001 \0 j &
0024100 - - - - - - - - - - - - - - - \r
0024120 [ \r S e t 7 B i t P r o c s ( d
0024140 l b ) \r D L S R e t u r n F r o
0024160 m ( d l b , T e r m i n a l T
0024200 o N e t ) \r ] \r \r / / - - - -
0024220 - - - - - - - - - - - - - - - -
*
0024320 - - - - - - - \r a n d L e a v
0024340 e R e m o t e M o d e ( c t x )
0024360 b e \r / / - - - - - - - - -
0024400 - - - - - - - - - - - - - - - -
*
0024500 376 001 \0 K o - - \r [ \r D L S R e s
0024520 e t I n p u t ( c t x > > C T X
0024540 . d l b ) \r D L S R e s e t O u
0024560 t p u t ( c t x > > C T X . d l
0024600 b ) \r t e s t c t x e q C
0024620 t x R u n n i n g \r i f s
0024640 o / / W e a r e r u n
0024660 n i n g i n t h e m a i n
0024700 c o n t e x t \r G
0024720 o t o F r a m e ( c t x > > C T
0024740 X . r e t u r n F r a m e ) \r
0024760 i f n o t / / W e a
0025000 r e r u n n i n g i n t h
0025020 e a u x i l i a r y c o n t
0025040 e x t \r [ / /
0025060 C a u s e T e r m i n a l T o
0025100 N e t t 376 001 \0 265 % o b e r
0025120 e t u r n e d f r o m i n
0025140 m a i n c o n t e x t \r
0025160 l e t f r a m e = c
0025200 t x > > C T X . r e t u r n F r
0025220 a m e \r f r a m e !
0025240 1 = f r a m e ! 1 + 1 /
0025260 / D u p l i c a t e w h a t
0025300 B l o c k ( ) d o e s \r
0025320 c t x > > C T X . s t a
0025340 c k = f r a m e \r
0025360 B l o c k ( ) r e p e a t
0025400 / / W e e x p e c t t o
0025420 b e k i l l e d o f f \r
0025440 ] \r ] \r \r / / - - -
0025460 - - - - - - - - - - - - - - - -
0025500 - - - - - - - - - - 376 001 \0 032 6 -
0025520 - - - - - - - - - - - - - - - -
*
0025560 - - - - - - - - - - - - - \r a n
0025600 d D L S R e t u r n F r o m (
0025620 d l b , P r o c ) b e \r / /
0025640 - - - - - - - - - - - - - - -
0025660 - - - - - - - - - - - - - - - -
*
0025740 - - - - - - - - - - - - \r [ \r i
0025760 f C t x R u n n i n g e q
0026000 c t x T a b l e ! ( d l b > > D
0026020 L B . l i n e ) t h e n \r
0026040 [ / / I n m a i n c
0026060 o n t e x t , j u s t b l a
0026100 s t o u t \r R e t u r 376
0026120 001 \0 247 332 n F r o m ( P r o c ) \r
0026140 C a l l S w a t ( ) \r
0026160 ] \r ] \r \r / / - - - - - - -
0026200 - - - - - - - - - - - - - - - -
*
0026300 - - - - \r a n d D L S T o p A
0026320 b o r t ( d l b ) = ( c t x
0026340 T a b l e ! ( d l b > > D L B .
0026360 l i n e ) ) > > C T X . l i n e
0026400 S t a t e e q l i n e S t a
0026420 t e D i a l O u t \r / / - - -
0026440 - - - - - - - - - - - - - - - -
*
0026520 - - - - 376 001 \0 1 ; - - - - - - -
0026540 - - - - - - - - - - - - - \r \r /
0026560 / - - - - - - - - - - - - - -
0026600 - - - - - - - - - - - - - - - -
*
0026660 - - - - - - - - - - - - - \r a n
0026700 d D L S C o m m a n d E r r o
0026720 r ( d l b , e c ) b e \r / /
0026740 - - - - - - - - - - - - - - -
0026760 - - - - - - - - - - - - - - - -
*
0027040 - - - - - - - - - - - - \r / /
0027060 I f e c = e c C a r r i e
0027100 r O f f , s i m p l y a b o
0027120 r t t h e e n 376 001 \0 : q t i
0027140 r e s e s s i o n . \r / / I
0027160 f e c = e c D L S G e t s
0027200 T i m e o u t , c h e c k t
0027220 h e s t a t e o f t h e
0027240 c o n n e c t i o n a n d r
0027260 e t r y \r / / o n c e p e r
0027300 s e c o n d s o l o n g
0027320 a s t h e c o n n e c t i o
0027340 n s t a y s o p e n . I
0027360 f n o c o n n e c t i o n \r
0027400 / / i s o p e n , a b o r
0027420 t t h e s e s s i o n a f
0027440 t e r a 2 - m i n u t e t
0027460 i m e o u t . \r [ \r l e t c t
0027500 x = c t x T a b l e ! ( d l
0027520 b > > D L B . l i n e ) \r S 376 001
0027540 \0 9 332 e t 7 B i t P r o c s ( d
0027560 l b ) \r i f e c e q e c D
0027600 L S G e t s T i m e o u t t h
0027620 e n \r t e s t d l b > >
0027640 D L B . t i m e o u t e q 1
0027660 2 0 0 0 \r i f s o
0027700 P u t T e m p l a t e ( d l b ,
0027720 " * n * l > [ T i m e o u t
0027740 , g o o d b y e ] * n * l " )
0027760 \r i f n o t \r
0030000 [ \r
0030020 u n l e s s C h e c k C o n
0030040 n e c t i o n ( c t x ) % c
0030060 t x > > C T X . s o c k e t O p
0030100 e n d o \r
0030120 d l b > > D L B . t i m e o
0030140 u t 376 \0 S 020 365 = 1 2 0 0 0
0030160 / / 2 m i n u t e s \r
0030200 r e t u r n \r
0030220 ] \r D L S R e t u
0030240 r n F r o m ( d l b , D L S C
0030260 o m m a n d ) \r ] \r \r 377 \0 \0 D L
0030300 S B a c k g r o u n d . b c p l
0030320 \0 373 233 337 363 205 \0 \0 376 001 \0 < 336 / /
0030340 D L S B a c k g r o u n d . b c
0030360 p l - - B a c k g r o u n d
0030400 p r o c e s s e s f o r D
0030420 L S c o n t r o l \r \r / / L
0030440 a s t m o d i f i e d M a y
0030460 1 7 , 1 9 8 2 1 : 5 5
0030500 P M b y T a f t \r / / L a
0030520 s t m o d i f i e d N o v e
0030540 m b e r 1 4 , 1 9 8 3 1
0030560 1 : 1 7 A M b y D i e b e
0030600 r t \r \r g e t " D L S D r i v
0030620 e r . d e c l " \r g e t " P u
0030640 p . d e c l " \r g e t " D L S
0030660 C o n t r o l . d e c l " \r g e
0030700 t " A l t o D e f s . d " \r \r
0030720 e x t e r n a l \r [ \r / / 376 001 \0
0030740 k 365 P r o c e d u r e s d e
0030760 f i n e d h e r e i n \r D L S
0031000 B a c k g r o u n d ; A l t o
0031020 C o m m a n d ; S t a t u s B
0031040 a c k g r o u n d ; D s p P u
0031060 t s ; W i z a r d M o d e \r \r
0031100 / / P r o c e d u r e s d e
0031120 f i n e d e l s e w h e r e \r
0031140 G e t S t r i n g ; C o n f i
0031160 r m ; E r r o r ; D i s c o
0031200 n n e c t ; D L S O u t p u t
0031220 E m p t y ; \r U p d a t e C a r
0031240 r i e r O n ; C o u n t e r J
0031260 u n t a ; H a n g U p \r E n q
0031300 u e u e ; U n q u e u e ; S
0031320 e t T i m e r ; T i m e r H a
0031340 s E 376 001 \0 342 031 x p i r e d ; D
0031360 i s m i s s ; B l o c k ; \r P
0031400 u t T e m p l a t e ; G e t s
0031420 ; P u t s ; E n d o f s ;
0031440 C l o s e s ; W s ; W s s ;
0031460 W n s ; \r A l l o c a t e ;
0031500 F r e e ; Z e r o ; S e t B
0031520 l o c k ; N o o p ; \r S i m p
0031540 l e D s p R e s e t L i n e ;
0031560 S i m p l e D s p S e t L i n e
0031600 P o s ; G e t N u m b e r ;
0031620 C o n t r o l O u t \r C l o s e
0031640 B S P S o c k e t ; B S P F o
0031660 r c e O u t p u t \r \r / / S t
0031700 a t i c s d e f i n e d h e
0031720 r e i n \r / / s a v e d D C B H
0031740 e a d ; s t 376 001 \0 240 324 D i s ;
0031760 d i s p l a y T i m e o u t ;
0032000 k e y D s p ; \r p o s t e d N
0032020 o t i c e \r \r / / S t a t i c
0032040 s d e f i n e d e l s e w h
0032060 e r e \r s y s Z o n e \r m a i n
0032100 C t x \t \t / / P o i n t e r
0032120 t o Q o f n o n - i n t e
0032140 r r u p t c o n t e x t s \r c
0032160 t x T a b l e \t / / T a b l e
0032200 o f c o n t e x t s , i n
0032220 d e x e d b y l i n e # \r
0032240 @ l b T a b l e \t / / D L S
0032260 l i n e b l o c k t a b l e
0032300 \r d s p \r l o g s t r e a m \r c
0032320 r l f \r n P B I \r d l s I n p u
0032340 t O v e r f l o w s \r ] 376 001 \0 212
0032360 U \r \r s t a t i c \r [ \r / / s t
0032400 D i s \t \t / / S t a t u s d
0032420 i s p l a y s t r e a m \r / /
0032440 d i s p l a y T i m e o u t \t /
0032460 / T i m e o u t f o r t u
0032500 r n i n g o f f d i s p l a
0032520 y \r / / s a v e d D C B H e a d
0032540 \t / / P l a c e t o s a v
0032560 e h e a d o f D C B c h
0032600 a i n \r / / k e y D s p \t \t / /
0032620 S p e c i a l A l t o k e
0032640 y b o a r d / d i s p l a y s
0032660 t r e a m \r p o s t e d N o t i
0032700 c e \r ] \r \f \r / / - - - - - -
0032720 - - - - - - - - - - - - - - - -
*
0032760 - 376 001 \0 X 324 - - - - - - - - - -
0033000 - - - - - - - - - - - - - - - -
0033020 - - - - - - - - - - \r l e t W
0033040 i z a r d M o d e ( c t x , t
0033060 s t r ) b e \r / / - - - - -
0033100 - - - - - - - - - - - - - - - -
*
0033200 - - - - - - \r / / T a s k t
0033220 o p r o c e s s c o m m a n
0033240 d s f r o m t h e n e t w
0033260 o r k \r [ \r l e t d l b =
0033300 c t x > > C T X . d l b \r W s s
0033320 ( t s t r , " * n * l ? B r
0033340 o a d c a s t , D i s p l a y
0033360 s t a t u 376 001 \0 \f O s , P o
0033400 s t N o t i c e , Q u i t ,
0033420 R e m o v e N o t i c e ,
0033440 S h u t D o w n * n * l " ) \r
0033460 [ / / r e p e a t \r
0033500 W s s ( t s t r , " W > " )
0033520 / / P r o m p t \r l
0033540 e t c h a r = G e t s ( t
0033560 s t r ) \r s w i t c h o n
0033600 c h a r i n t o \r
0033620 [ \r c a s e $ Q
0033640 : c a s e $ q : \r
0033660 W s s ( t s t r , " Q
0033700 u i t o u t o f w i z a r
0033720 d m o d e [ c o n f i r m ]
0033740 " ) \r i f
0033760 C o n f i r m ( t s t 376 001 \0 w J
0034000 r ) t h e n r e t u r n \r
0034020 e n d c a s e \r
0034040 \r c a s e $
0034060 S : c a s e $ s : \r
0034100 W s s ( t s t r , "
0034120 S h u t d o w n D L S [ c o
0034140 n f i r m ] " ) \r
0034160 i f C o n f i r m ( t s
0034200 t r ) t h e n S h u t D o w
0034220 n ( c t x , t s t r ) \r
0034240 e n d c a s e \r
0034260 \r c a s e $ B :
0034300 c a s e $ b : \r
0034320 [ \r W s
0034340 s ( t s t r , " B r o a d c a
0034360 s t m e s s a g e " ) \r
0034400 376 001 \0 A 360 l e t s
0034420 t r i n g = G e t M e s s a
0034440 g e ( t s t r ) \r
0034460 i f s t r i n g n e 0
0034500 t h e n [ B r o a d c a s
0034520 t M e s s a g e ( t s t r , s
0034540 t r i n g ) ; F r e e ( s y s
0034560 Z o n e , s t r i n g ) ] \r
0034600 W s s ( t s t
0034620 r , c r l f ) \r
0034640 e n d c a s e \r
0034660 ] \r \r c
0034700 a s e $ D : c a s e $ d :
0034720 \r [ \r
0034740 W s s ( t s t r , "
0034760 D i s p l a y S t a t u s * n
0035000 * l " ) \r 376 001 \0 236 222
0035020 P u t T e m p l a t e ( t
0035040 s t r , \r
0035060 " N u m b e r o f P B I '
0035100 s = $ D * n * l N u m b e r
0035120 o f I n p u t B u f f e r
0035140 O v e r f l o w s = $ U D
0035160 * n * l * n * l " , \r
0035200 n P B I , d l s
0035220 I n p u t O v e r f l o w s ) \r
0035240 W s s ( t s t
0035260 r , " 0 1
0035300 2 3 4 5
0035320 6 7 * n * l " ) \r
0035340 f o r i = 0
0035360 t o n u m L i n e s - 1
0035400 b y 8 d o \r 376 001 \0 340 G
0035420 [ \r
0035440 P u t T e m p l
0035460 a t e ( t s t r , " $ D
0035500 " , i / 8 ) \r
0035520 f o r j = 0 t o
0035540 7 d o \r
0035560 [ \r
0035600 l e t c t x =
0035620 c t x T a b l e ! ( i + j )
0035640 \r
0035660 l e t d l b = l b T a b l
0035700 e ! ( i + j ) \r
0035720 t e s t
0035740 d l b > > L B H . l i n e T y
0035760 p e e q l t L o g \r
0036000 376
0036020 001 \0 177 376 i f s o W s s ( t s
0036040 t r , " L o g " ) \r
0036060
0036100 i f n o t W s s ( t s t r ,
0036120 ( d l b > > L B H . l i n e T
0036140 y p e l s l t D a t a ? "
0036160 - - " , \r
0036200 s
0036220 e l e c t o n c t x > > C T X
0036240 . l i n e S t a t e i n t o \r
0036260
0036300 [ \r
0036320
0036340 c a s e l i n
0036360 e S t a t e O f f : "
0036400 O f f " \r
0036420 376 001 \0 y \b
0036440 c a s e l i n e S
0036460 t a t e O n : " O
0036500 n " \r
0036520 c
0036540 a s e l i n e S t a t e A c t
0036560 i v e : " A c t " \r
0036600
0036620 c a s e l i n
0036640 e S t a t e R e m o t e : "
0036660 R e m " \r
0036700
0036720 c a s e l i n e S t a t e D
0036740 i a l O u t : " O u t " \r
0036760
0037000 ] ) ) \r
0037020 376 001 \0 t d
0037040 ] \r
0037060 W s s ( t s t r , " * n * l "
0037100 ) \r ] \r
0037120 W s s ( t s t
0037140 r , " * n * l L i n e N
0037160 a m e * n * l " ) \r
0037200 f o r i = 0 t o
0037220 n u m L i n e s - 1 d o \r
0037240 [ \r
0037260 l e t c t
0037300 x = c t x T a b l e ! i \r
0037320 i f c t
0037340 x n e 0 t h e n \r
0037360 i f c t
0037400 x > > C T X . n a m e n e 0
0037420 t h e n \r 376 001
0037440 \0 321 327 P u t
0037460 T e m p l a t e ( t s t r , "
0037500 $ 3 O $ S * n * l " ,
0037520 c t x > > C T X . d l b > > D L
0037540 B . l i n e , c t x > > C T X
0037560 . n a m e ) \r
0037600 ] \r e n
0037620 d c a s e \r ]
0037640 \r c a s e $ P :
0037660 c a s e $ p : \r
0037700 [ \r W s s
0037720 ( t s t r , " P o s t s i g
0037740 n o n m e s s a g e " ) \r
0037760 l e t s t r i n
0040000 g = G e t M e s s a g e ( t
0040020 s t r ) \r i f
0040040 s t 376 001 \0 C 265 r i n g n e
0040060 0 t h e n \r
0040100 [ \r
0040120 i f p o s t e d N o t i c e
0040140 n e 0 t h e n F r e e (
0040160 s y s Z o n e , p o s t e d N
0040200 o t i c e ) \r
0040220 p o s t e d N o t i c e
0040240 = s t r i n g \r
0040260 ] \r
0040300 e n d c a s e \r
0040320 ] \r \r c a s
0040340 e $ R : c a s e $ r : \r
0040360 W s s ( t s t r
0040400 , " R e m o v e p o s t e d
0040420 n o t i c e [ c o n f i r m
0040440 ] " ) \r 376 001 \0 u 275
0040460 i f C o n f i r m ( t s t
0040500 r ) & p o s t e d N o t i c
0040520 e n e 0 t h e n \r
0040540 [ F r e e ( s
0040560 y s Z o n e , p o s t e d N o
0040600 t i c e ) ; p o s t e d N o t
0040620 i c e = 0 ] \r
0040640 e n d c a s e \r \r
0040660 c a s e $ ? : \r
0040700 W s s ( t s t r ,
0040720 " ? B r o a d c a s t , D
0040740 i s p l a y s t a t u s , P
0040760 o s t N o t i c e , Q u i t
0041000 , R e m o v e N o t i c e ,
0041020 S h u t D o w n * n * l " ) \r
0041040 e n d c 376 001 \0
0041060 276 343 a s e \r \r
0041100 c a s e $ * n : \r
0041120 W s s ( t s t r , c r l
0041140 f ) \r e n d c
0041160 a s e \r \r d e
0041200 f a u l t : \r
0041220 E r r o r ( t s t r , " ? *
0041240 n * l " , c h a r ) \r
0041260 e n d c a s e \r
0041300 ] \r ] r e p e a t
0041320 \r ] \r \f \r / / / / - - - - - -
0041340 - - - - - - - - - - - - - - - -
*
0041440 - - - - - \r / / a n d A l t o
0041460 C o 376 001 \0 B \t m m a n d ( ) b
0041500 e \r / / / / - - - - - - - - -
0041520 - - - - - - - - - - - - - - - -
*
0041620 - - \r / / / / T a s k t o
0041640 p r o c e s s c o m m a n d s
0041660 f r o m A l t o k e y b o
0041700 a r d \r / / [ \r / / W s ( " * n
0041720 * * " ) / / P r o m p t \r
0041740 / / l e t c h a r = n i l
0041760 \r / / [ c h a r = G
0042000 e t s ( k e y D s p ) ; P u t
0042020 s ( k e y D s p , $ * l ) ]
0042040 r e p e a t w h i l e c h a
0042060 r e q $ * 376 001 \0 327 w s \r / /
0042100 \r / / s w i t c h o n c h a r
0042120 i n t o \r / / [ \r / /
0042140 c a s e $ Q : c a s e
0042160 $ q : \r / / W s ( "
0042200 Q u i t [ c o n f i r m ] " )
0042220 \r / / i f C o n f
0042240 i r m ( k e y D s p ) t h e n
0042260 S h u t D o w n ( 0 , k e y
0042300 D s p ) \r / / e n d
0042320 c a s e \r / / \r / / c a s
0042340 e $ B : c a s e $ b : \r /
0042360 / [ \r / /
0042400 W s ( " B r o a d c a s t m
0042420 e s s a g e " ) \r / /
0042440 l e t s t r i n g = G e
0042460 t M e s s a g e ( k e y 376 001 \0 K
0042500 T D s p ) \r / / i f
0042520 s t r i n g n e 0 t h e
0042540 n [ B r o a d c a s t M e s
0042560 s a g e ( k e y D s p , s t r
0042600 i n g ) ; F r e e ( s y s Z o
0042620 n e , s t r i n g ) ] \r / /
0042640 e n d c a s e \r / /
0042660 ] \r / / \r / /
0042700 c a s e $ P : c a s e $ p
0042720 : \r / / [ \r / /
0042740 W s ( " P o s t s i g
0042760 n o n m e s s a g e " ) \r / /
0043000 l e t s t r i n g
0043020 = G e t M e s s a g e ( k e
0043040 y D s p ) \r / / i f
0043060 s t r i n g n e 0 t h e
0043100 n 376 001 \0 351 ^ \r / /
0043120 [ \r / / i
0043140 f p o s t e d N o t i c e n
0043160 e 0 t h e n F r e e ( s y
0043200 s Z o n e , p o s t e d N o t
0043220 i c e ) \r / /
0043240 p o s t e d N o t i c e = s
0043260 t r i n g \r / /
0043300 ] \r / / e n d c a
0043320 s e \r / / ] \r / / \r
0043340 / / c a s e $ R : c a
0043360 s e $ r : \r / / W
0043400 s ( " R e m o v e p o s t e d
0043420 n o t i c e [ c o n f i r m
0043440 ] " ) \r / / i f C
0043460 o n f i r m ( k e y D s p ) &
0043500 p o s t e 376 001 \0 273 272 d N o t i
0043520 c e n e 0 t h e n \r / /
0043540 [ F r e e ( s
0043560 y s Z o n e , p o s t e d N o
0043600 t i c e ) ; p o s t e d N o t
0043620 i c e = 0 ] \r / /
0043640 e n d c a s e \r / / \r / /
0043660 c a s e $ ? : \r / /
0043700 W s ( " ? B r o a d c a
0043720 s t , P o s t , Q u i t ,
0043740 R e m o v e " ) \r / /
0043760 e n d c a s e \r / / \r / /
0044000 c a s e $ * n : \r / /
0044020 e n d c a s e \r / / \r / /
0044040 d e f a u l t : \r / /
0044060 E r r o r ( k e y D s p
0044100 , " ? * n * l " , 376 001 \0 246 o
0044120 c h a r ) \r / / e
0044140 n d c a s e \r / / ] \r / /
0044160 ] r e p e a t \r / / \f \r / /
0044200 - - - - - - - - - - - - - - - -
*
0044300 - - - - - - - - - - - \r a n d
0044320 G e t M e s s a g e ( s t r m )
0044340 = v a l o f \r / / - - - -
0044360 - - - - - - - - - - - - - - - -
*
0044460 - - - - - - - \r [ \r u n l e s s
0044500 C o n f i r m ( s t r m ) r
0044520 376 001 \0 371 p e s u l t i s 0 \r W
0044540 s s ( s t r m , " [ e n d w
0044560 i t h C R , a b o r t w i
0044600 t h D E L ] * n * l " ) \r l e
0044620 t s t r i n g = A l l o c
0044640 a t e ( s y s Z o n e , 5 1 )
0044660 \r t e s t G e t S t r i n g (
0044700 s t r m , s t r i n g , 1 0
0044720 0 ) & s t r i n g > > S t r
0044740 i n g . l e n g t h g r 0 \r
0044760 i f s o r e s u l t i s
0045000 s t r i n g \r i f n o t
0045020 [ F r e e ( s y s Z o n e ,
0045040 s t r i n g ) ; r e s u l t
0045060 i s 0 ] \r ] \r \r / / - - -
0045100 - - - - - - - - - - - - - - - -
0045120 - - - - - 376 001 \0 020 372 - - - - - -
0045140 - - - - - - - - - - - - - - - -
*
0045200 - - - - - - - - - - - - - \r a n
0045220 d B r o a d c a s t M e s s a
0045240 g e ( s t r m , s t r i n g )
0045260 b e \r / / - - - - - - - - -
0045300 - - - - - - - - - - - - - - - -
*
0045400 - - \r [ \r W s s ( s t r m , "
0045420 * n * l S e n d i n g t o l
0045440 i n e : " ) \r f o r i =
0045460 0 t o n u m L i n e s - 1
0045500 d o \r [ \r l e t c
0045520 t x , d l b = 376 001 \0 A 006 c
0045540 t x T a b l e ! i , l b T a b
0045560 l e ! i \r i f d l b > >
0045600 L B H . l i n e T y p e g e
0045620 l t D a t a & \r ( c t
0045640 x > > C T X . l i n e S t a t e
0045660 e q l i n e S t a t e A c t
0045700 i v e % \r c t x > > C
0045720 T X . l i n e S t a t e e q
0045740 l i n e S t a t e R e m o t e )
0045760 t h e n \r [ \r
0046000 U n q u e u e ( m a i n
0046020 C t x , c t x ) / / S h
0046040 u t o f f o t h e r s o u
0046060 r c e s o f o u t p u t \r
0046100 i f c t x > > C T X
0046120 . a u x C t x n e 0 t h 376
0046140 001 \0 204 ` e n U n q u e u e ( m
0046160 a i n C t x , c t x > > C T X
0046200 . a u x C t x ) \r W
0046220 s s ( d l b , " * n * l * * *
0046240 * * * * * * * * 0 0 7 * n * l >
0046260 " ) \r W s s ( d l
0046300 b , s t r i n g ) \r
0046320 W s s ( d l b , " * n * l *
0046340 * * * * * * * * * * 0 0 7 * n *
0046360 l " ) \r E n q u e u
0046400 e ( m a i n C t x , c t x ) \r
0046420 i f c t x > > C T
0046440 X . a u x C t x n e 0 t h
0046460 e n E n q u e u e ( m a i n C
0046500 t x , c t x > > C T X . a u x
0046520 C t x ) \r W n s ( s
0046540 t r m , 376 001 \0 223 b i , 3 ,
0046560 8 ) \r ] \r ] \r
0046600 ] \r \f \r / / - - - - - - - - -
0046620 - - - - - - - - - - - - - - - -
*
0046720 - - \r a n d S h u t D o w n (
0046740 c t x I n , s t r m ) b e \r
0046760 / / - - - - - - - - - - - - -
0047000 - - - - - - - - - - - - - - - -
*
0047060 - - - - - - - - - - - - - - \r [
0047100 \r W s s ( s t r m , " * n B r
0047120 o a d c a s t i n g s h u t d
0047140 o w n m e s s a 376 001 \0 031 353 g e
0047160 . . . " ) \r B S P F o r c e O u
0047200 t p u t ( l v c t x I n > > C
0047220 T X . s o c k e t ) \r B r o a d
0047240 c a s t M e s s a g e ( s t r m
0047260 , " D L S g o i n g d o w
0047300 n n o w . . . G o o d b y e !
0047320 " ) \r W s s ( s t r m , " * n
0047340 C l o s i n g c o n n e c t i
0047360 o n s . . . " ) \r f o r i =
0047400 0 t o n u m L i n e s - 1
0047420 d o \r i f ( l b T a b
0047440 l e ! i ) > > L B H . l i n e T
0047460 y p e g r l t D a t a t h
0047500 e n \r [ \r
0047520 l e t c t x = c t x T a
0047540 b l e ! i \r i f 376 001
0047560 \0 004 302 c t x n e c t x I n
0047600 d o \r [ \r
0047620 U n q u e u e (
0047640 m a i n C t x , c t x ) \r
0047660 i f c t x > > C
0047700 T X . a u x C t x n e 0 t
0047720 h e n U n q u e u e ( m a i n
0047740 C t x , c t x > > C T X . a u
0047760 x C t x ) \r i
0050000 f c t x > > C T X . s o c k e
0050020 t O p e n t h e n D i s c o
0050040 n n e c t ( c t x , 5 0 0 ) \r
0050060 ] \r
0050100 ] \r D i s m i s s ( 1 0 )
0050120 / / 1 0 0 m s f o r l a
0050140 s t c h a r a c t e r t o
0050160 g o 376 001 \0 226 037 o u t \r \r / /
0050200 T u r n o f f a l l c o n
0050220 t r o l s i g n a l s a n d
0050240 s e t a l l d a t a l i
0050260 n e s t o m a r k i n g . \r
0050300 S e t B l o c k ( d l s O u t B
0050320 a s e , 1 , n u m L i n e s
0050340 ) \r \r i f c t x I n n e 0
0050360 t h e n \r i f c t x I
0050400 n > > C T X . s o c k e t O p e
0050420 n t h e n \r [ W
0050440 s s ( s t r m , " B y e ! ! *
0050460 n * l " ) ; C l o s e B S P S
0050500 o c k e t ( l v c t x I n > >
0050520 C T X . s o c k e t , 5 0 0 )
0050540 ] \r \r @ d i s p l a y L i s t
0050560 H e a d = 0 376 001 \0 ` 267 \r f i
0050600 n i s h \r ] \r \f \r / / / / - -
0050620 - - - - - - - - - - - - - - - -
*
0050720 - - - - - - - - - \r / / a n d
0050740 D s p P u t s ( s t r , c h a
0050760 r ) b e \r / / / / - - - - -
0051000 - - - - - - - - - - - - - - - -
*
0051100 - - - - - - \r / / [ \r / / @ d i
0051120 s p l a y L i s t H e a d =
0051140 s a v e d D C B H e a d / /
0051160 E n s u r e d i s p l 376 001 \0
0051200 006 @ a y i s o n \r / / S e t
0051220 T i m e r ( l v d i s p l a y
0051240 T i m e o u t , 1 2 0 * 1 0 0
0051260 ) / / R e s e t a c t i
0051300 v i t y t i m e r \r / / u n l
0051320 e s s c h a r e q $ * l
0051340 d o P u t s ( d s p , c h a
0051360 r ) \r / / ] \r / / \r / / / / -
0051400 - - - - - - - - - - - - - - - -
*
0051500 - - - - - - - - - - \r / / a n d
0051520 S t a t u s B a c k g r o u n
0051540 d ( ) b e \r / / / / - - - -
0051560 - - - - - - - - - - - - - - - -
0051600 - - 376 001 \0 001 # - - - - - - - - -
0051620 - - - - - - - - - - - - - - - -
*
0051660 - - - - - - - - - - - - \r / / /
0051700 / P e r i o d i c a l l y u
0051720 p d a t e s t h e t e r m i
0051740 n a l s t a t u s d i s p l
0051760 a y . \r / / / / A l s o t u
0052000 r n s o f f d i s p l a y
0052020 i f n o k e y b o a r d a
0052040 c t i v i t y f o r a l o
0052060 n g t i m e \r / / [ \r / / i f
0052100 @ d i s p l a y L i s t H e a
0052120 d n e 0 t h e n / /
0052140 D o t h i s o n l y i f
0052160 d i s p l a y i s o n \r / /
0052200 [ \r / / 376 001 \0 215 h f
0052220 o r i = 1 t o s t D i
0052240 s L i n e s - 1 d o \r / /
0052260 [ \r / / S i
0052300 m p l e D s p S e t L i n e P o
0052320 s ( s t D i s , i ) \r / /
0052340 S i m p l e D s p R e s
0052360 e t L i n e ( s t D i s ) \r / /
0052400 l e t g r o u p
0052420 = ( i - 1 ) * 8 \r / /
0052440 W n s ( s t D i s , g r o
0052460 u p , 2 , 8 ) \r / /
0052500 f o r l i n e = g r o
0052520 u p t o g r o u p + 7 d o
0052540 \r / / [ \r / /
0052560 B l o c k ( )
0052600 \r / / 376 001 \0 1
0052620 340 l e t c t x = c t x T a
0052640 b l e ! l i n e \r / /
0052660 l e t d l b = l b
0052700 T a b l e ! l i n e \r / /
0052720 t e s t d l b > >
0052740 L B H . l i n e T y p e e q
0052760 l t L o g \r / /
0053000 i f s o W s s ( s t D i
0053020 s , " L o g " ) \r / /
0053040 i f n o t W
0053060 s s ( s t D i s , ( d l b > >
0053100 L B H . l i n e T y p e l s
0053120 l t D a t a ? " - - " , \r
0053140 / /
0053160 s e l e c t o n c t x > > C
0053200 T X . l i n e S t a t e i n t
0053220 o 376 001 \0 366 E \r / /
0053240 [ \r / /
0053260
0053300 c a s e l i n e S t a t e O
0053320 f f : " O f f " \r /
0053340 /
0053360 c a s e l i n e S t a t
0053400 e O n : " O n "
0053420 \r / /
0053440 c a s e l i n e S t
0053460 a t e A c t i v e : " A c
0053500 t " \r / /
0053520 c a s e l i n e
0053540 S t a t e R e m o t e : "
0053560 R e m " \r / /
0053600 c a s e l i
0053620 n e S t a t 376 001 \0 237 c e D i a l
0053640 O u t : " O u t " \r / /
0053660
0053700 ] ) ) \r / / ]
0053720 \r / / D i s m i s s
0053740 ( 1 ) / / D o n ' t h o
0053760 g t h e m a c h i n e \r / /
0054000 ] \r / / i f
0054020 T i m e r H a s E x p i r e d (
0054040 l v d i s p l a y T i m e o u
0054060 t ) t h e n @ d i s p l a y
0054100 L i s t H e a d = 0 \r / /
0054120 ] \r / / D i s m i s s ( 4 0
0054140 0 ) / / D o t h i s e
0054160 v e r y 4 s e c o n d s \r /
0054200 / ] r e p e a t \r / / \r / /
0054220 - - - - - - - - - - - 376 001 \0 027 203
0054240 - - - - - - - - - - - - - - - -
*
0054340 \r a n d D L S B a c k g r o u
0054360 n d ( ) b e \r / / - - - - -
0054400 - - - - - - - - - - - - - - - -
*
0054500 - - - - - - \r / / T h i s i
0054520 s a n i n d e p e n d e n t
0054540 t a s k t h a t d o e s
0054560 a n y n e c e s s a r y p e
0054600 r i o d i c \r / / b a c k g r
0054620 o u n d p r o c e s s i n g \r
0054640 376 \0 t 302 4 [ \r U p d a t e C a r
0054660 r i e r O n ( N o o p ) / /
0054700 L o o k f o r l i n e s
0054720 t h a t h a v e h u n g u
0054740 p \r D i s m i s s ( 1 0 0 )
0054760 / / W a i t o n e s e c o
0055000 n d , t h e n r e p e a t \r
0055020 ] r e p e a t \r 377 \0 \0 D L S D
0055040 i a l I n S e r v e r . b c p l
0055060 \0 373 236 026 266 w \0 \0 376 001 \0 243 323 / /
0055100 D L S D i a l I n S e r v e r .
0055120 b c p l - - C o n t r o l
0055140 p r o g r a m f o r A l t o
0055160 D L S \r \r / / L a s t m o
0055200 d i f i e d J u l y 1 1 ,
0055220 1 9 8 3 1 2 : 0 2 P M b
0055240 y T a f t \r / / L a s t m
0055260 o d i f i e d J a n u a r y
0055300 1 5 , 1 9 8 5 1 0 : 5 6
0055320 A M b y D i e b e r t \r \r g
0055340 e t " D L S D r i v e r . d e
0055360 c l " \r g e t " P u p . d e c
0055400 l " \r g e t " D L S C o n t r
0055420 o l . d e c l " \r g e t " A l
0055440 t o D e f s . d " \r \r e x t e r
0055460 n a l \r [ \r / / o u t g 376 001 \0
0055500 231 351 o i n g p r o c e d u r e
0055520 s \r D L S C o m m a n d ; C o
0055540 n n e c t ; O p e n P o r t F
0055560 o r C t x ; T a l k T o R e m
0055600 o t e ; T e r m i n a l T o N
0055620 e t ; N e t T o T e r m i n a
0055640 l \r N e t E r r o r ; D i s c
0055660 o n n e c t ; C h e c k C o n
0055700 n e c t i o n ; M a k e B S P
0055720 \r \r / / P r o c e d u r e s
0055740 d e f i n e d i n o t h e r
0055760 p a r t s o f t h e D L
0056000 S c o n t r o l p r o g r a
0056020 m \r D L S C o m m a n d E r r o
0056040 r ; O t h e r P u p P r o c ;
0056060 S e n d T e l n e t P r o t o
0056100 c o 376 001 \0 026 227 l \r L e a v e R e
0056120 m o t e M o d e ; D L S R e t
0056140 u r n F r o m ; D L S R e m o
0056160 t e E r r o r ; G r a p e v i
0056200 n e \r \r / / P r o c e d u r e
0056220 s d e f i n e d i n D L S
0056240 U t i l \r G e t S t r i n g ;
0056260 E c h o ; C o n f i r m ; E
0056300 r r o r ; W s ; W s s ; W
0056320 n s ; T i m e C a l l S t o p
0056340 ; S e t 7 B i t P r o c s \r G
0056360 e t N u m b e r ; W i z a r d
0056400 M o d e ; O n L i s t C h e c
0056420 k \r \r / / P r o c e d u r e s
0056440 d e f i n e d i n D L S
0056460 d r i v e r \r D L S R e s e t O
0056500 u t p u t ; 376 001 \0 # 3 D L S O
0056520 u t p u t E m p t y ; D L S I
0056540 n p u t I d l e ; C o n t r o
0056560 l O u t ; C o n t r o l I n ;
0056600 \r D e t e r m i n e D L S L i n
0056620 e S p e e d ; U p d a t e C a
0056640 r r i e r O n ; W a i t F o r
0056660 B i t T i m e s \r D L S I n p u
0056700 t ; D L S I n p u t 7 ; D L
0056720 S O u t p u t ; D L S O u t p
0056740 u t 7 ; D L S O u t p u t T I
0056760 \r \r / / P r o c e d u r e s
0057000 d e f i n e d i n o t h e r
0057020 p a c k a g e s \r O p e n L e
0057040 v e l 1 S o c k e t ; C l o s
0057060 e L e v e l 1 S o c k e t ; R
0057100 e l e a s e P B I ; O 376 001 \0 227
0057120 B p e n R T P S o c k e t ; C
0057140 l o s e R T P S o c k e t ; \r C
0057160 r e a t e B S P S t r e a m ;
0057200 C l o s e B S P S o c k e t ;
0057220 B S P F o r c e O u t p u t ;
0057240 G e t P B I ; A p p e n d S t r
0057260 i n g T o P u p ; \r B S P G e t
0057300 M a r k ; B S P P u t M a r k
0057320 ; B S P P u t I n t e r r u p
0057340 t ; G e t P a r t n e r ; E
0057360 x c h a n g e P o r t s ; C o
0057400 m p l e t e P u p \r I n i t i a
0057420 l i z e C o n t e x t ; C a l
0057440 l C o n t e x t L i s t ; B l
0057460 o c k ; E n q u e u e ; D e
0057500 q u e u e ; U n q u e u e ; \r
0057520 S 376 001 \0 \v 341 e t T i m e r ; T
0057540 i m e r H a s E x p i r e d ;
0057560 D i s m i s s ; P u t T e m p
0057600 l a t e ; P u t N u m ; W r
0057620 i t e R i n g B u f f e r \r \r /
0057640 / P r o c e d u r e s d e f
0057660 i n e d i n o p e r a t i n
0057700 g s y s t e m \r G e t s ; P
0057720 u t s ; E n d o f s ; R e s
0057740 e t s ; A l l o c a t e ; F
0057760 r e e ; A d d T o Z o n e ;
0060000 Z e r o ; \r C a l l S w a t ;
0060020 M y F r a m e ; G o t o F r a
0060040 m e ; R e t u r n F r o m ;
0060060 N o o p ; D e f a u l t A r g
0060100 s ; M o v e B l o c k \r \r / /
0060120 i n c o m 376 001 \0 036 365 i n g s
0060140 t a t i c s \r m a i n C t x ;
0060160 c t x T a b l e ; v e r s i o
0060200 n T e x t ; c r l f ; d l s
0060220 W i z a r d L i s t \r d l s N a
0060240 m e \r @ l b T a b l e \t / / D
0060260 L S l i n e b l o c k t a
0060300 b l e \r C t x R u n n i n g ;
0060320 s y s Z o n e ; l e n P B I ;
0060340 p b i F r e e Q ; n d b Q ;
0060360 k e y D s p ; p o s t e d N
0060400 o t i c e ; s o c k e t S e q
0060420 u e n c e \r l o g i n S e r v e
0060440 r C B ; \r ] \r \f \r / / - - - -
0060460 - - - - - - - - - - - - - - - -
*
0060520 - - - - - - - - - - - 376 001 \0 S 3
0060540 - - - - - - - - - - - - - - - -
0060560 - - - - - - - - - - - - \r l e t
0060600 D L S C o m m a n d ( c t x )
0060620 b e \r / / - - - - - - - - -
0060640 - - - - - - - - - - - - - - - -
*
0060740 - - \r / / D o e s l o c a l
0060760 c o m m a n d d e c o d i n
0061000 g . R e t u r n s w h e n
0061020 u s e r h a n g s u p . \r
0061040 [ \r l e t t y p e = n i l
0061060 \r l e t l e n g t h = n i
0061100 l \r l e t w i d t h = n i
0061120 l \r l e t d l b = c t x >
0061140 376 001 \0 322 244 > C T X . d l b \r l e
0061160 t s o c = l v c t x > >
0061200 C T X . s o c k e t \r d l b > >
0061220 D L B . e r r o r = D L S C
0061240 o m m a n d E r r o r \r c t x >
0061260 > C T X . l i n e S t a t e =
0061300 l i n e S t a t e A c t i v e
0061320 / / F l a g n o t i n
0061340 r e m o t e m o d e \r d l b
0061360 > > D L B . t i m e o u t =
0061400 1 0 0 / / 1 - s e c o n d
0061420 t i m e o u t f o r D L S
0061440 G e t s \r P u t s ( d l b ,
0061460 $ > ) / / P r o m p t \r \r
0061500 / / D i s p a t c h o n c
0061520 o m m a n d c h a r a c t e r
0061540 \r l e t 376 001 \0 212 341 c h a r =
0061560 G e t s ( d l b ) \r s w i t c
0061600 h o n c h a r i n t o \r
0061620 [ \r c a s e $ 8 : \r
0061640 W s s ( d l b , " S
0061660 e t l i n e t o 8 b i t
0061700 n o p a r i t y " ) \r
0061720 i f C o n f i r m ( d
0061740 l b ) t h e n [ d l b > >
0061760 D L B . e i g h t B i t = 1
0062000 ; d l b > > D L B . f l o w C
0062020 o n t r o l = 0 ] \r
0062040 e n d c a s e \r \r c
0062060 a s e $ 7 : \r W s
0062100 s ( d l b , " S e t l i n e
0062120 t o 7 b i t e v e n p
0062140 a r i t y " ) \r 376 001 \0 3 201
0062160 i f C o n f i r m ( d
0062200 l b ) t h e n [ d l b > >
0062220 D L B . e i g h t B i t = 0
0062240 ; d l b > > D L B . f l o w C
0062260 o n t r o l = 1 ] \r
0062300 e n d c a s e \r \r c
0062320 a s e 3 : / / C o n t r
0062340 o l - C m e a n s c o n n e
0062360 c t t o d e f a u l t h o
0062400 s t \r i f C o n n
0062420 e c t ( c t x , c t x > > C T
0062440 X . h o s t ) t h e n T a l
0062460 k T o R e m o t e ( c t x ) \r
0062500 e n d c a s e \r \r
0062520 c a s e $ B : c a s e $
0062540 b : \r W s s ( d l 376
0062560 001 \0 220 I b , " B y e [ C o n
0062600 f i r m ] " ) \r i
0062620 f C o n f i r m ( d l b ) t
0062640 h e n \r [ \r
0062660 D i s c o n n e
0062700 c t ( c t x ) \r
0062720 P u t T e m p l a t e ( d l b
0062740 , " # $ O o f f * n * l " ,
0062760 d l b > > D L B . l i n e ) \r
0063000 r e t u r n \r
0063020 ] \r
0063040 e n d c a s e \r \r c a s
0063060 e $ C : c a s e $ c : \r
0063100 i f C o n n e c t (
0063120 c t x , 0 ) t h e n T a l
0063140 k T o R e m o t e ( c t x ) \r
0063160 376 001 \0 344 = e n d c a s
0063200 e \r \r c a s e $ D : c
0063220 a s e $ d : \r W s
0063240 s ( d l b , " D i s c o n n e
0063260 c t " ) \r i f C
0063300 o n f i r m ( d l b ) t h e n
0063320 D i s c o n n e c t ( c t x ,
0063340 3 0 0 0 ) \r e n d
0063360 c a s e \r \r c a s e $ E
0063400 : c a s e $ e : \r
0063420 W s s ( d l b , " E s c a p
0063440 e c h a r a c t e r c u r r
0063460 e n t l y = " ) \r
0063500 E c h o ( d l b , c t x > >
0063520 C T X . e s c a p e C h a r ) \r
0063540 W s s ( d l b , "
0063560 C h a n g e t 376 001 \0 247 225 o
0063600 " ) \r c h a r =
0063620 G e t s ( d l b ) \r
0063640 i f c h a r e q $ * n %
0063660 c h a r e q $ * l % c
0063700 h a r e q 1 7 7 B t h e n
0063720 \r [ \r
0063740 E r r o r ( d l b ,
0063760 " I l l e g a l e s c a p e
0064000 c h a r a c t e r * n * l " )
0064020 / / D o n ' t a l l o w
0064040 c r , l f , d e l e t e \r
0064060 e n d c a s e
0064100 \r ] \r
0064120 E c h o ( d l b , c h a r
0064140 ) ; P u t s ( d l b , $ * s
0064160 ) \r i f C o n 376 001
0064200 \0 324 X f i r m ( d l b ) t h e
0064220 n c t x > > C T X . e s c a p
0064240 e C h a r = c h a r \r
0064260 e n d c a s e \r \r c
0064300 a s e $ F : c a s e $ f :
0064320 \r W s s ( d l b ,
0064340 " F l u s h t y p e i n s t
0064360 r e a m " ) \r u n
0064400 l e s s c t x > > C T X . s o
0064420 c k e t O p e n d o \r
0064440 [ E r r o r ( d l b
0064460 , " ? N o c o n n e c t i
0064500 o n o p e n * n * l " ) ; e
0064520 n d c a s e ] \r i
0064540 f C o n f i r m ( d l b ) t
0064560 h e n \r i f
0064600 B S P 376 001 \0 7 250 P u t I n t e r
0064620 r u p t ( s o c , 0 , " S y
0064640 n c " ) t h e n B S P P u t
0064660 M a r k ( s o c , 1 ) \r
0064700 e n d c a s e \r \r c
0064720 a s e $ G : c a s e $ g :
0064740 \r W s s ( d l b ,
0064760 " G r a p e v i n e . . . " ) \r
0065000 i f G r a p e v i
0065020 n e ( c t x ) t h e n T a l
0065040 k T o R e m o t e ( c t x ) \r
0065060 e n d c a s e \r \r
0065100 c a s e $ I : c a s e $
0065120 i : \r W s s ( d l b
0065140 , " I g n o r e e s c a p e
0065160 c h a r a c t e r " ) \r
0065200 i f C 376 001 \0 217 R o n f
0065220 i r m ( d l b ) t h e n [
0065240 W s s ( d l b , " N u m b e r
0065260 o f s e c o n d s t o i
0065300 g n o r e f o r ? " ) \r
0065320 c t x > > C T X .
0065340 e s c a p e T i m e = G e t
0065360 N u m b e r ( d l b ) \r
0065400 i f c t x > > C T X
0065420 . e s c a p e T i m e l e 0
0065440 t h e n [ c t x > > C T X
0065460 . e s c a p e T i m e = 0 ;
0065500 e n d c a s e ] \r
0065520 c t x > > C T X . e s c
0065540 a p e D i s a b l e d = 1 \r
0065560 S e t T i m e
0065600 r ( l v c t x > > C T X 376 001 \0
0065620 l 321 . e s c a p e C h a r T i m
0065640 e r , 1 0 0 ) ] \r
0065660 e n d c a s e \r \r c a s
0065700 e $ L : c a s e $ l : \r
0065720 P u t T e m p l a t e
0065740 ( d l b , " L o c a l e c h
0065760 o i n g $ S " , ( c t x >
0066000 > C T X . l o c a l E c h o ?
0066020 " o f f " , " o n " ) ) \r
0066040 i f C o n f i r m ( d
0066060 l b ) t h e n c t x > > C T
0066100 X . l o c a l E c h o = n o
0066120 t c t x > > C T X . l o c a l
0066140 E c h o \r e n d c a
0066160 s e \r \r c a s e $ P :
0066200 c a s e $ p : \r P
0066220 u t 376 001 \0 264 367 T e m p l a t e (
0066240 d l b , " P a d $ S " ,
0066260 ( d l b > > D L B . n o P a d ?
0066300 " o n " , " o f f " ) ) \r
0066320 i f C o n f i r m (
0066340 d l b ) t h e n [ d l b >
0066360 > D L B . n o P a d = n o t
0066400 d l b > > D L B . n o P a d ;
0066420 S e t 7 B i t P r o c s ( d l
0066440 b ) ] \r e n d c a
0066460 s e \r \r c a s e $ R :
0066500 c a s e $ r : \r W
0066520 s s ( d l b , " R e s u m e
0066540 c o n n e c t i o n " ) \r
0066560 u n l e s s c t x > >
0066600 C T X . s o c k e t O p e n d
0066620 o \r 376 001 \0 336 *
0066640 [ E r r o r ( d l b , " ?
0066660 N o c o n n e c t i o n o p
0066700 e n * n * l " ) ; e n d c a s
0066720 e ] \r i f C o n
0066740 f i r m ( d l b ) t h e n T
0066760 a l k T o R e m o t e ( c t x )
0067000 \r e n d c a s e \r \r
0067020 c a s e $ T : c a s e
0067040 $ t : \r W s s ( d
0067060 l b , " S e t t e r m i n a
0067100 l p a r a m e t e r s * n * l
0067120 T y p e ? " ) \r t
0067140 y p e = G e t N u m b e r (
0067160 d l b ) \r i f t y
0067200 p e l s 0 t h e n e n d
0067220 c a s e \r i 376 001 \0
0067240 K f t y p e g r 1 0 %
0067260 ( t y p e g r 3 & t y p
0067300 e l s 7 ) d o \r
0067320 [ W s s ( d l b , "
0067340 B a d t e r m i n a l t y p
0067360 e * n * l " ) ; e n d c a s e
0067400 ] \r c t x > > C T
0067420 X . t e r m i n a l T y p e =
0067440 t y p e \r W s s (
0067460 d l b , " W i d t h ? " ) \r
0067500 w i d t h = G e
0067520 t N u m b e r ( d l b ) \r
0067540 i f w i d t h l s 0
0067560 t h e n e n d c a s e \r
0067600 c t x > > C T X . t e r
0067620 m i n a l W i d t h = w i d
0067640 t 376 001 \0 035 V h \r W s
0067660 s ( d l b , " L e n g t h ?
0067700 " ) \r l e n g t h
0067720 = G e t N u m b e r ( d l b )
0067740 \r i f l e n g t h
0067760 l s 0 t h e n e n d c a
0070000 s e \r c t x > > C T
0070020 X . t e r m i n a l L e n g t h
0070040 = l e n g t h \r
0070060 e n d c a s e \r \r c a s e
0070100 $ V : c a s e $ v : \r
0070120 P u t T e m p l a t e (
0070140 d l b , " V e r s i o n : $
0070160 S r u n n i n g o n A l t
0070200 o $ O # $ O # * n * l " , \r
0070220 v e r s i o n T e x
0070240 t , ( n d 376 001 \0 6 262 b Q ! 0 )
0070260 > > N D B . l o c a l N e t ,
0070300 ( n d b Q ! 0 ) > > N D B . l o
0070320 c a l H o s t ) \r e
0070340 n d c a s e \r \r c a s e
0070360 $ W : c a s e $ w : \r
0070400 i f c t x > > C T X . n
0070420 a m e e q 0 d o \r
0070440 [ \r
0070460 W s s ( d l b , " W i z a r d
0070500 m o d e * n * l L o g i n r
0070520 e q u i r e d . * n * l " ) \r
0070540 e n d c a s e
0070560 \r ] \r
0070600 i f d l b > > D L B . l i
0070620 n e T y p e n e l t H a r d
0070640 w i r e d d o \r 376 001 \0 255 301
0070660 u n l e s s d l
0070700 b > > D L B . c a r r i e r O f
0070720 f t h e n \r
0070740 [ \r
0070760 W s s ( d l b , " W i z a r
0071000 d m o d e * n * l Y o u m u
0071020 s t b r e a k c o n n e c t
0071040 i o n f i r s t ! ! ! * n * l
0071060 " ) \r e
0071100 n d c a s e \r
0071120 ] \r W s s ( d
0071140 l b , " W i z a r d m o d e
0071160 [ C o n f i r m ] " ) \r
0071200 i f C o n f i r m ( d
0071220 l b ) t h e n \r
0071240 i f O n L i s t C h e c k
0071260 376 001 \0 037 ] ( c t x , d l b ,
0071300 d l s W i z a r d L i s t ) t
0071320 h e n \r
0071340 W i z a r d M o d e ( c t x ,
0071360 d l b ) \r e n d c a
0071400 s e \r \r c a s e $ X :
0071420 c a s e $ x : \r P
0071440 u t T e m p l a t e ( d l b ,
0071460 " X o n / X o f f ( F l o w
0071500 C o n t r o l ) $ S " , (
0071520 d l b > > D L B . f l o w C o n
0071540 t r o l ? " o f f " , " o n
0071560 " ) ) \r i f C o n
0071600 f i r m ( d l b ) t h e n d
0071620 l b > > D L B . f l o w C o n t
0071640 r o l = n o t d l b > > D
0071660 L B . f l 376 001 \0 305 i o w C o n t
0071700 r o l \r e n d c a s
0071720 e \r \r c a s e $ ? : \r
0071740 W s s ( d l b , "
0071760 ? C o m m a n d s a r e :
0072000 B y e , C o n n e c t , D i
0072020 s c o n n e c t , E s c a p e
0072040 , F l u s h , G r a p e v i
0072060 n e * n * l " ) \r W
0072100 s s ( d l b , " I g n o r e
0072120 e s c a p e c h a r , L o
0072140 c a l , P a d , R e s u m e
0072160 , T e r m i n a l , V e r s
0072200 i o n , * n * l " ) \r
0072220 W s s ( d l b , " X o n /
0072240 X o f f , 7 b i t , 8 b
0072260 i t . * n * l " ) \r 376 001 \0 324 ^
0072300 i f c t x > > C T X
0072320 . h o s t n e 0 t h e n \r
0072340 P u t T e m p
0072360 l a t e ( d l b , " C o n t
0072400 r o l - C = c o n n e c t
0072420 t o $ S * n * l " , c t x >
0072440 > C T X . h o s t ) \r
0072460 e n d c a s e \r \r c a s
0072500 e 1 7 7 B : / / d e l e t
0072520 e \r W s s ( d l b ,
0072540 " X X X " ) \r \r c a s
0072560 e $ * n : c a s e $ * l :
0072600 c a s e $ * s : \r
0072620 W s s ( d l b , c r l f ) \r
0072640 e n d c a s e \r \r
0072660 d e f a u l t : \r 376
0072700 001 \0 ? S E r r o r ( d l b ,
0072720 " ? * n * l " , c h a r )
0072740 \r ] \r ] r e p e a t \r \f
0072760 \r / / - - - - - - - - - - - -
0073000 - - - - - - - - - - - - - - - -
*
0073060 - - - - - - - - - - - - - - - \r
0073100 a n d C o n n e c t ( c t x ,
0073120 h o s t N a m e ) = v
0073140 a l o f \r / / - - - - - - - -
0073160 - - - - - - - - - - - - - - - -
*
0073260 - - - \r [ \r l e t d l b =
0073300 c t x > 376 001 \0 034 357 > C T X . d l
0073320 b \r W s s ( d l b , " C o n n
0073340 e c t t o : " ) \r i f c t
0073360 x > > C T X . s o c k e t O p e
0073400 n t h e n \r [ E r r o
0073420 r ( d l b , " ? C o n n e c
0073440 t i o n a l r e a d y o p e
0073460 n * n * l " ) ; r e s u l t i
0073500 s f a l s e ] \r l e t f r
0073520 n P o r t = v e c l e n P
0073540 o r t \r l e t s t r i n g =
0073560 v e c 2 0 \r t e s t h o s
0073600 t N a m e e q 0 \r i f
0073620 s o \r [ \r
0073640 u n l e s s G e t S t r i n
0073660 g ( d l b , s t r i n g , 4
0073700 0 ) r e s u l t 376 001 \0 S 276 i s
0073720 f a l s e \r h o s
0073740 t N a m e = s t r i n g \r
0073760 ] \r i f n o t \r
0074000 P u t T e m p l a t
0074020 e ( d l b , " $ S * n * l " ,
0074040 h o s t N a m e ) \r u n l e s
0074060 s G e t P a r t n e r ( h o s
0074100 t N a m e , d l b , f r n P
0074120 o r t , 0 , 1 ) d o \r
0074140 [ E r r o r ( d l b , c r
0074160 l f ) ; r e s u l t i s f a
0074200 l s e ] \r i f f r n P o r t
0074220 > > P o r t . h o s t e q 0
0074240 t h e n \r [ \r E r
0074260 r o r ( d l b , " I n a d e q
0074300 u a t e f o r e i g n p 376 001
0074320 \0 t 1 o r t s p e c i f i c a
0074340 t i o n * n * l " ) \r r e
0074360 s u l t i s f a l s e \r
0074400 ] \r r e s u l t i s M a k e B
0074420 S P ( f r n P o r t , c t x )
0074440 \r ] \r \r \f \r / / - - - - - - -
0074460 - - - - - - - - - - - - - - - -
*
0074560 - - - - \r a n d D i s c o n n
0074600 e c t ( c t x , t i m e o u t
0074620 ) b e \r / / - - - - - - - -
0074640 - - - - - - - - - - - - - - - -
*
0074720 - - - 376 001 \0 002 353 - - - - - - - -
0074740 - - - - - - - - \r [ \r l e t d
0074760 l b = c t x > > C T X . d l
0075000 b \r S e t 7 B i t P r o c s ( d
0075020 l b ) \r i f c t x > > C T X .
0075040 s o c k e t O p e n t h e n \r
0075060 [ \r i f c t x > >
0075100 C T X . a u x C t x n e 0
0075120 t h e n \r [ \r
0075140 U n q u e u e ( m a i n C
0075160 t x , c t x > > C T X . a u x
0075200 C t x ) \r c t x > >
0075220 C T X . a u x C t x = 0 \r
0075240 ] \r C l o s e B
0075260 S P S o c k e t ( l v c t x >
0075300 > C T X . s o c k e t , t i m
0075320 e o u t ) \r 376 001 \0 240 C c t
0075340 x > > C T X . s o c k e t O p e
0075360 n = f a l s e \r ] \r ]
0075400 \r \r / / - - - - - - - - - - -
0075420 - - - - - - - - - - - - - - - -
*
0075520 \r a n d C h e c k C o n n e c
0075540 t i o n ( c t x ) = v a l o
0075560 f \r / / - - - - - - - - - - -
0075600 - - - - - - - - - - - - - - - -
*
0075700 \r / / R e t u r n s t r u e
0075720 i f t h e c o n n e 376 001 \0
0075740 @ W c t i o n w a s o p e n
0075760 a n d b e c a m e c l o s
0076000 e d . \r [ \r i f c t x > > C T
0076020 X . s o c k e t O p e n t h e
0076040 n \r t e s t c t x > > C
0076060 T X . s o c k e t . s t a t e
0076100 e q s t a t e O p e n \r
0076120 i f s o i f c t x > >
0076140 C T X . t i m e o u t t h e n
0076160 \r [ \r
0076200 D i s c o n n e c t (
0076220 c t x , 0 ) / / A b o r
0076240 t c o n n e c t i o n \r
0076260 W s s ( c t x > > C
0076300 T X . d l b , " [ C o n n e
0076320 c t i o n t i m e d o u t ]
0076340 * n 376 001 \0 7 202 * l > " ) \r
0076360 r e s u l t i s t
0076400 r u e \r ] \r
0076420 i f n o t \r
0076440 [ \r D
0076460 i s c o n n e c t ( c t x , 3
0076500 0 0 0 ) \r W s
0076520 s ( c t x > > C T X . d l b ,
0076540 " [ C o n n e c t i o n c l
0076560 o s e d r e m o t e l y ] * n
0076600 * l > " ) \r r
0076620 e s u l t i s t r u e \r
0076640 ] \r r e s u l t i s
0076660 f a l s e \r ] \r \r / / - - -
0076700 - - - - - - - - - - - - - - - -
*
0076740 - - - - - - - 376 001 \0 325 036 - - - -
0076760 - - - - - - - - - - - - - - - -
0077000 - - - - - - - - - - - - - \r a n
0077020 d O p e n P o r t F o r C t x
0077040 ( c t x , f r n P o r t ) =
0077060 v a l o f \r / / - - - - - -
0077100 - - - - - - - - - - - - - - - -
*
0077200 - - - - - \r [ \r l e t l c l P
0077220 o r t = v e c l e n P o r
0077240 t ; Z e r o ( l c l P o r t ,
0077260 l e n P o r t ) \r i f s o c
0077300 k e t S e q u e n c e e q 0
0077320 % s o c k e t S e q u e n c
0077340 e e q s o c T r a n 376 001 \0 254
0077360 343 s i e n t t h e n \r s
0077400 o c k e t S e q u e n c e =
0077420 s o c k e t S e q u e n c e + 1
0077440 \r l c l P o r t > > P o r t . s
0077460 o c k e t ^ 1 = s o c k e t
0077500 S e q u e n c e \r l c l P o r t
0077520 > > P o r t . s o c k e t ^ 2
0077540 = c t x > > C T X . d l b > >
0077560 D L B . l i n e \r s o c k e t S
0077600 e q u e n c e = s o c k e t
0077620 S e q u e n c e + 1 \r l e t s
0077640 o c = l v c t x > > C T X
0077660 . s o c k e t \r Z e r o ( s o c
0077700 , l e n B S P S o c ) \r O p e
0077720 n L e v e l 1 S o c k e t ( s o
0077740 c , l c l P o r t , f r n P
0077760 o 376 001 \0 330 220 r t ) \r r e s u l t
0100000 i s s o c \r ] \r \f \r / / - -
0100020 - - - - - - - - - - - - - - - -
*
0100120 - - - - - - - - - \r a n d T a
0100140 l k T o R e m o t e ( c t x )
0100160 b e \r / / - - - - - - - - - -
0100200 - - - - - - - - - - - - - - - -
*
0100300 - \r [ \r l e t d l b = c t
0100320 x > > C T X . d l b \r t e s t
0100340 d l b > > D L B . e i g h t B i
0100360 t e q 1 376 001 \0 r \ \r i
0100400 f s o \r [ \r
0100420 d l b > > D L B . g e t s
0100440 = D L S I n p u t \r
0100460 d l b > > D L B . p u t s =
0100500 D L S O u t p u t \r
0100520 ] \r i f n o t S e t 7
0100540 B i t P r o c s ( d l b ) \r \r l
0100560 e t a u x C t x = v e c
0100600 1 5 0 \r E n q u e u e ( m a i n
0100620 C t x , I n i t i a l i z e C
0100640 o n t e x t ( a u x C t x , 1
0100660 5 0 , N e t T o T e r m i n a
0100700 l , 1 ) ) \r a u x C t x ! 3
0100720 = c t x \r c t x > > C T X . a
0100740 u x C t x = a u x C t x \r c
0100760 t x > > C T X . l i n 376 001 \0 330 \0
0101000 e S t a t e = l i n e S t a
0101020 t e R e m o t e / / F l a
0101040 g t h a t w e a r e i n
0101060 r e m o t e m o d e \r c t x
0101100 > > C T X . t i m e o u t =
0101120 f a l s e \r c t x > > C T X . r
0101140 e t u r n F r a m e = M y F
0101160 r a m e ( ) / / F r a m e
0101200 t o f o r c e r e t u r n
0101220 t o \r d l b > > D L B . e r r
0101240 o r = D L S R e m o t e E r
0101260 r o r \r d l b > > D L B . t i m
0101300 e o u t = - 1 / / N e
0101320 v e r t i m e o u t D L S
0101340 G e t s \r T e r m i n a l T o
0101360 N e t ( c t x ) / / R e t
0101400 376 001 \0 $ 362 u r n s o n e s c
0101420 a p e c h a r o r e r r o
0101440 r \r U n q u e u e ( m a i n C t
0101460 x , a u x C t x ) \r c t x > >
0101500 C T X . a u x C t x = 0 \r d
0101520 l b > > D L B . e r r o r =
0101540 D L S C o m m a n d E r r o r \r
0101560 W s s ( d l b , c r l f ) \r S
0101600 e t 7 B i t P r o c s ( d l b )
0101620 \r ] \r \r / / - - - - - - - - -
0101640 - - - - - - - - - - - - - - - -
*
0101740 - - \r a n d T e r m i n a l T
0101760 o N e t ( c t x ) b e \r / /
0102000 - - - - - 376 001 \0 245 5 - - - - - -
0102020 - - - - - - - - - - - - - - - -
*
0102120 \r / / T h i s i s a p r
0102140 o c e d u r e c a l l e d w
0102160 i t h i n t h e l i n e ' s
0102200 m a i n c o n t e x t . \r /
0102220 / I t s t a s k i s t o
0102240 c o p y c h a r a c t e r s
0102260 f r o m t e r m i n a l t
0102300 o n e t . \r / / I t r e t
0102320 u r n s i f e i t h e r t
0102340 h e e s c a p e c h a r a c
0102360 t e r i s t y p e d o r
0102400 t h e \r / / c o n 376 001 \0 267 @ n
0102420 e c t i o n i s b r o k e n
0102440 . T h e N e t T o T e r m
0102460 i n a l p r o c e s s c a n
0102500 f o r c e u s \r / / t o
0102520 r e t u r n b y s u b t e r
0102540 f u g e i n v o l v i n g d
0102560 i d d l i n g o f s t a c k
0102600 f r a m e s . \r [ \r l e t d
0102620 l b = c t x > > C T X . d l
0102640 b \r l e t s o c = l v c
0102660 t x > > C T X . s o c k e t \r l
0102700 e t b s p S t r = l v s
0102720 o c > > B S P S o c . b s p S t
0102740 r \r \r / / S e n d t e r m i
0102760 n a l p a r a m e t e r s . \r
0103000 l e t t y p e , l e n g t 376
0103020 001 \0 J 343 h = c t x > > C T X
0103040 . t e r m i n a l T y p e , c
0103060 t x > > C T X . t e r m i n a l
0103100 L e n g t h \r i f t y p e e
0103120 q 0 & d l b > > D L B . b
0103140 a u d g e 1 2 0 0 d o \r
0103160 [ \r t y p e = 1 0
0103200 \r i f c t x > > C T X .
0103220 t e r m i n a l L e n g t h e
0103240 q 0 t h e n l e n g t h
0103260 = 2 4 \r ] \r i f t y p
0103300 e n e 0 t h e n S e n d
0103320 T e l n e t P r o t o c o l ( s
0103340 o c , 4 B , t y p e ) \r i f
0103360 l e n g t h n e 0 t h e
0103400 n S e n d T e l n e t P r o t
0103420 o c o l 376 001 \0 = F ( s o c , 3
0103440 B , l e n g t h ) \r l e t w
0103460 i d t h = c t x > > C T X .
0103500 t e r m i n a l W i d t h \r i f
0103520 w i d t h e q 0 t h e n
0103540 w i d t h = s e l e c t o
0103560 n d l b > > D L B . b a u d
0103600 i n t o \r [ / / S e
0103620 l e c t w i d t h b y a s
0103640 s u m i n g t e r m i n a l
0103660 t y p e o n t h e b a s i
0103700 s o f b a u d r a t e \r
0103720 c a s e 3 0 0 : 7 9
0103740 / / T I 7 0 0 \r c a s
0103760 e 1 2 0 0 : 8 0 / / T
0104000 e k t r o n i x 4 0 2 3 \r
0104020 d e f a u l t : 376 001 \0 e } 7
0104040 2 / / A l l o t h e r s
0104060 ( i n c l u d i n g T e l e
0104100 t y p e ) \r ] \r S e n d T
0104120 e l n e t P r o t o c o l ( s o
0104140 c , 2 B , w i d t h ) \r \r /
0104160 / M a i n l o o p t o s
0104200 e n d t e r m i n a l c h a
0104220 r a c t e r s t o n e t . \r
0104240 / / T h i s c o d e a c c
0104260 u m u l a t e s c h a r a c t
0104300 e r s a n d s e n d s t h
0104320 e m o n l y w h e n t h e
0104340 l i n e g o e s \r / / i d
0104360 l e o r o n e s e c o n d
0104400 e l a p s e s f r o m t h
0104420 e b e g i n n i n g o f 376 001
0104440 \0 \b 204 a b u r s t , w h i
0104460 c h e v e r \r / / o c c u r s
0104500 f i r s t . T h i s a t
0104520 t e m p t s t o m a x i m i
0104540 z e t h e n u m b e r o f
0104560 c h a r a c t e r s p e r
0104600 P u p \r / / d u r i n g s u
0104620 s t a i n e d a c t i v i t y
0104640 w i t h o u t i n t r o d u
0104660 c i n g e x c e s s i v e e
0104700 c h o i n g d e l a y s . \r
0104720 [ / / r e p e a t \r
0104740 l e t b u r s t S t a r t e
0104760 d = f a l s e \r l e t
0105000 t i m e r = n i l \r \r
0105020 [ / / r e p e a t \r
0105040 376 001 \0 246 7 l e t c
0105060 h a r = G e t s ( d l b ) \r
0105100 u n l e s s b u r
0105120 s t S t a r t e d d o \r
0105140 [ b u r s t S t a
0105160 r t e d = t r u e ; S e t
0105200 T i m e r ( l v t i m e r ,
0105220 1 0 0 ) ] \r t e s
0105240 t c t x > > C T X . e s c a p
0105260 e D i s a b l e d \r
0105300 i f s o [ \r
0105320 t e s t T i m e r
0105340 H a s E x p i r e d ( l v c t
0105360 x > > C T X . e s c a p e C h a
0105400 r T i m e r ) \r
0105420 i f s o t e s t
0105440 c t x > > C T 376 001 \0 026 0 X . e
0105460 s c a p e T i m e l e 0 \r
0105500
0105520 i f s o [ c t x > > C T X
0105540 . e s c a p e D i s a b l e d
0105560 = 0 ] \r
0105600 i f n o t [
0105620 c t x > > C T X . e s c a p e T
0105640 i m e = c t x > > C T X . e
0105660 s c a p e T i m e - 1 ; \r
0105700
0105720 S e t T i m e r ( l v
0105740 c t x > > C T X . e s c a p e C
0105760 h a r T i m e r , 1 0 0 )
0106000 ] \r
0106020 i f n o t [ ] \r
0106040 ] \r 376 001 \0
0106060 202 @ i f n o t [ i
0106100 f ( c h a r & 1 7 7 b )
0106120 e q c t x > > C T X . e s c a
0106140 p e C h a r d o \r
0106160 [ S e t 7 B
0106200 i t P r o c s ( d l b ) \r
0106220 r e t u
0106240 r n ] \r
0106260 ] \r P u t s ( b s
0106300 p S t r , c h a r ) \r
0106320 i f c t x > > C T X . l o
0106340 c a l E c h o t h e n \r
0106360 [ \r
0106400 P u t s ( d l b , c h a r )
0106420 \r i f c h a
0106440 r e q $ * n t h e n [
0106460 P u 376 001 \0 002 276 t s ( b s p S t r
0106500 , $ * l ) ; P u t s ( d l b
0106520 , $ * l ) ] \r
0106540 ] \r i f E n d
0106560 o f s ( d l b ) t h e n \r
0106600 [ \r
0106620 i f T i m e r H a s E x p
0106640 i r e d ( l v t i m e r ) t
0106660 h e n b r e a k \r
0106700 W a i t F o r B i t T i m
0106720 e s ( d l b , 2 ) / / w
0106740 a i t f o r n e x t c h a
0106760 r t o s t a r t i f i t
0107000 ' s g o i n g t o \r
0107020 i f D L S I n p u t
0107040 I d l e ( d l b ) t h e n b
0107060 r e a k \r 376 001 \0 020 034
0107100 ] \r ] r e p
0107120 e a t \r \r / / s e n d N
0107140 o w i f f o r c i n g d u
0107160 e t o t i m e o u t - -
0107200 b e c a u s e t h e n e x t
0107220 F o r c e O u t \r / /
0107240 i s a l s o l i k e l y t
0107260 o b e i n v o k e d b y
0107300 a t i m e o u t , a n d o
0107320 n e s e c o n d i s m o r
0107340 e \r / / t h a n t h e
0107360 P u p p a c k a g e ' s t
0107400 i m e o u t b e f o r e r e
0107420 q u e s t i n g a c k n o w l
0107440 e d g m e n t . \r B S P F
0107460 o r c e O u t p u t ( s 376 001 \0 F
0107500 316 o c , T i m e r H a s E x p
0107520 i r e d ( l v t i m e r ) ) \r
0107540 ] r e p e a t \r ] \r \r /
0107560 / - - - - - - - - - - - - - -
0107600 - - - - - - - - - - - - - - - -
*
0107660 - - - - - - - - - - - - - \r a n
0107700 d N e t T o T e r m i n a l (
0107720 c t x ) b e \r / / - - - - -
0107740 - - - - - - - - - - - - - - - -
*
0110040 - - - - - - \r / / T h i s i
0110060 s a s e p a r a t e p r o
0110100 c 376 001 \0 310 m e s s w h o s e
0110120 o n l y t a s k i s t o
0110140 c o p y c h a r a c t e r s \r
0110160 / / f r o m n e t t o t
0110200 e r m i n a l . \r [ \r c t x =
0110220 c t x ! 3 / / G e t m
0110240 a i n c o n t e x t f o r
0110260 t h i s l i n e \r l e t d l
0110300 b = c t x > > C T X . d l b
0110320 \r l e t s t r = l v c t
0110340 x > > C T X . s o c k e t . b s
0110360 p S t r \r [ \r l e t
0110400 c h a r = G e t s ( s t r
0110420 ) \r t e s t c t x > > C
0110440 T X . s y n c C o u n t e q
0110460 0 \r i f s o P u t
0110500 s ( d l b , 376 001 \0 { K c h a r
0110520 ) \r i f n o t D L
0110540 S R e s e t O u t p u t ( d l b
0110560 ) \r ] r e p e a t \r ] \r
0110600 \r / / - - - - - - - - - - - -
0110620 - - - - - - - - - - - - - - - -
*
0110700 - - - - - - - - - - - - - - - \r
0110720 a n d N e t E r r o r ( s t r
0110740 , e c ) = v a l o f \r / /
0110760 - - - - - - - - - - - - - - -
0111000 - - - - - - - - - - - - - - - -
*
0111060 - - - - - - - - - - - - \r / /
0111100 T h i s i s t h e 376 001 \0 o 326
0111120 p r o c e d u r e c a l l e
0111140 d v i a t h e B S P s t
0111160 r e a m e r r o r d i s p a
0111200 t c h \r / / f o r a n y a
0111220 b n o r m a l c o n d i t i o
0111240 n . N o t e t h a t f a
0111260 i l u r e s m a y o c c u r
0111300 e i t h e r \r / / w i t h i
0111320 n t h e l i n e ' s m a i
0111340 n c o n t e x t ( T e r m i
0111360 n a l T o N e t ) o r w i t
0111400 h i n \r / / t h e a u x i l
0111420 i a r y c o n t e x t ( N e
0111440 t T o T e r m i n a l ) . \r [ \r
0111460 l e t s o c = s t r - o f
0111500 f s e t B S P S o c . b s p S
0111520 376 001 \0 ! 322 t r / 1 6 \r l e t c
0111540 t x = s o c - o f f s e t
0111560 C T X . s o c k e t / 1 6 \r l e
0111600 t d l b = c t x > > C T X
0111620 . d l b \r s w i t c h o n e c
0111640 i n t o \r [ \r c a
0111660 s e e c M a r k E n c o u n t
0111700 e r e d : \r s w i t
0111720 c h o n B S P G e t M a r k (
0111740 s o c ) i n t o \r
0111760 [ \r c a
0112000 s e 1 : / / D a t a M
0112020 a r k \r
0112040 c t x > > C T X . s y n c C o u
0112060 n t = c t x > > C T X . s y
0112100 n c C o u n t - 1 \r
0112120 376 001 \0 J 312 D L S R e
0112140 s e t O u t p u t ( d l b ) \r
0112160 w h i l e
0112200 c t x > > C T X . s y n c C o
0112220 u n t l s 0 d o B l o c
0112240 k ( ) \r
0112260 e n d c a s e \r
0112300 c a s e 5 : / / T i m
0112320 i n g M a r k \r
0112340 u n t i l D L S O u
0112360 t p u t E m p t y ( d l b ) d
0112400 o B l o c k ( ) \r
0112420 u n t i l B S P P
0112440 u t M a r k ( s o c , 6 ) l
0112460 o o p / / T i m i n g M
0112500 a r k R e p l y \r
0112520 ] / / U 376 001 \0 \t 1 n
0112540 k n o w n M a r k t y p e s
0112560 a r e i g n o r e d \r
0112600 r e s u l t i s 0 /
0112620 / R e t u r n a n u l l
0112640 - - t h e u s e r w i l l
0112660 n e v e r n o t i c e ! \r \r
0112700 c a s e e c P u t s T i
0112720 m e o u t : \r i f
0112740 s o c > > B S P S o c . u n A c
0112760 k e d P u p s e q 0 & s
0113000 o c > > B S P S o c . b y t e s
0113020 P e r P u p n e 0 t h e n
0113040 \r [ \r
0113060 i f c t x e q C
0113100 t x R u n n i n g t h e n
0113120 / / d o t h i s o n l y 376
0113140 001 \0 273 372 i n m a i n c t x \r
0113160 E r r o
0113200 r ( d l b , " * 0 0 7 " )
0113220 / / t o o m u c h t y p e a
0113240 h e a d , W a r r e n \r
0113260 r e s u l t i s f
0113300 a l s e \r ] \r
0113320 c t x > > C T X . t
0113340 i m e o u t = t r u e /
0113360 / f a l l t h r u t o o t
0113400 h e r e r r o r c a s e s \r
0113420 \r c a s e e c B a d S t
0113440 a t e F o r G e t s : \r c
0113460 a s e e c B a d S t a t e F o
0113500 r P u t s : \r L e a
0113520 v e R e m o t e M o d e ( c t x
0113540 ) \r 376 001 \0 ; 206 ] \r ] \r \r \r
0113560 / / - - - - - - - - - - - - -
0113600 - - - - - - - - - - - - - - - -
*
0113660 - - - - - - - - - - - - - - \r a
0113700 n d M a k e B S P ( f r n P o
0113720 r t , c t x ) = v a l o f
0113740 \r / / - - - - - - - - - - - -
0113760 - - - - - - - - - - - - - - - -
*
0114040 - - - - - - - - - - - - - - - \r
0114060 [ \r l e t d l b = c t x >
0114100 > C T X . d l b \r l e t s o c
0114120 = O p e n P o r t F o r C t
0114140 x ( c t x , f r 376 001 \0 E 224 n P
0114160 o r t ) \r l e t l o g i n =
0114200 C h e c k F o r L o g i n ( f
0114220 r n P o r t , c t x > > C T X
0114240 . n a m e ) \r O p e n R T P S o
0114260 c k e t ( s o c , 0 , m o d
0114300 e I n i t A n d R e t u r n ,
0114320 0 , O t h e r P u p P r o c )
0114340 \r l e t t i m e r = n i l
0114360 \r S e t T i m e r ( l v t i m
0114400 e r , 3 0 0 0 ) / / 3 0
0114420 s e c o n d s \r [ \r
0114440 B l o c k ( ) \r i f s
0114460 o c > > R T P S o c . s t a t e
0114500 e q s t a t e O p e n b r
0114520 e a k \r i f s o c > > R
0114540 T P S o c . s t a t e n e 376 001
0114560 \0 a 244 s t a t e R F C O u t
0114600 % T i m e r H a s E x p i r e
0114620 d ( l v t i m e r ) % \r
0114640 d l b > > D L B . c a r r i
0114660 e r O f f t h e n \r
0114700 [ \r C l o s e R T
0114720 P S o c k e t ( s o c , 0 ) \r
0114740 C l o s e L e v e l
0114760 1 S o c k e t ( s o c ) \r
0115000 c t x > > C T X . s o c k
0115020 e t O p e n = f a l s e \r
0115040 W s s ( d l b , " *
0115060 n * l F a i l e d t o c o n
0115100 n e c t * n * l " ) \r
0115120 r e s u l t i s f a l s e \r
0115140 ] \r ] r e p
0115160 e a t 376 001 \0 256 \r C r e a t e B
0115200 S P S t r e a m ( s o c ) \r c t
0115220 x > > C T X . s o c k e t O p e
0115240 n = t r u e \r s o c > > B S
0115260 P S o c . e r r o r = N e t
0115300 E r r o r / / O w n s t
0115320 r e a m e r r o r p r o c e
0115340 d u r e \r c t x > > C T X . s y
0115360 n c C o u n t = 0 \r i f l
0115400 o g i n t h e n \r P u t
0115420 T e m p l a t e ( l v s o c >
0115440 > B S P S o c . b s p S t r ,
0115460 " L o g i n $ S $ S 1 * n
0115500 " , c t x > > C T X . n a m e
0115520 , c t x > > C T X . p a s s w
0115540 o r d ) \r r e s u l t i s t r
0115560 u e \r ] \r \r / / 376 001 \0 % 240 - -
0115600 - - - - - - - - - - - - - - - -
*
0115700 - - - - - - - - - \r a n d C h
0115720 e c k F o r L o g i n ( f r n P
0115740 o r t , n a m e ) = v a l
0115760 o f \r / / - - - - - - - - - -
0116000 - - - - - - - - - - - - - - - -
*
0116100 - \r [ \r l e t s e n d L o g i
0116120 n = f a l s e \r l e t s o
0116140 c = v e c l e n P u p S o
0116160 c \r l e t i n f o P o r 376 001 \0
0116200 220 210 t = v e c l e n P o r
0116220 t \r M o v e B l o c k ( i n f o
0116240 P o r t , f r n P o r t , l
0116260 e n P o r t ) \r i n f o P o r t
0116300 > > P o r t . s o c k e t ^ 1
0116320 = 0 \r i n f o P o r t > > P o
0116340 r t . s o c k e t ^ 2 = m i
0116360 s c S e r v i c e s S o c k e t
0116400 \r O p e n L e v e l 1 S o c k e
0116420 t ( s o c , 0 , i n f o P o
0116440 r t ) \r f o r i = 1 t o 5
0116460 d o / / T r
0116500 y f i v e t i m e s . . . .
0116520 \r [ S e n d W h e r e P u
0116540 p \r l e t p = G e t P B
0116560 I ( s o c ) \r A p p e n d
0116600 S t 376 001 \0 ' 371 r i n g T o P u p
0116620 ( p , 1 , n a m e ) \r
0116640 p > > P B I . p u p . t y p e
0116660 = t y p e W h e r e U s e r R
0116700 e q u e s t \r C o m p l e
0116720 t e P u p ( p ) \r \r l e t
0116740 w a i t = n i l ; S e t T i
0116760 m e r ( l v w a i t , 2 0 0
0117000 ) / / 2 s e c \r
0117020 B l o c k ( ) r e p e a t u n
0117040 t i l T i m e r H a s E x p i
0117060 r e d ( l v w a i t ) % \r
0117100 s o c > > P u p S o c
0117120 . i Q . h e a d n e 0 \r
0117140 p = D e q u e u e ( l v s o
0117160 c > > P u p S o c . i Q ) \r
0117200 i f p e 376 001 \0 333 8 q 0
0117220 t h e n l o o p \r l e t
0117240 p u p = l v p > > P B I . p
0117260 u p \r s w i t c h o n p
0117300 > > P B I . p u p . t y p e i
0117320 n t o \r [ \r c a s e
0117340 t y p e W h e r e U s e r R e
0117360 p l y : \r [ \r
0117400 s e n d L o g i n = t
0117420 r u e \r R e l e a s
0117440 e P B I ( p ) \r b r
0117460 e a k \r ] \r d
0117500 e f a u l t : \r [
0117520 R e l e a s e P B I ( p ) ] \r
0117540 ]
0117560 / / S w i t c h o n \r ] S
0117600 e n d W h e r e P u p \r 376 \0 + \r
0117620 233 C l o s e L e v e l 1 S o c k
0117640 e t ( s o c ) \r r e s u l t i s
0117660 s e n d L o g i n \r ] 377 \0 \0 D
0117700 L S D i a l O u t S e r v e r .
0117720 b c p l \0 373 236 026 304 305 \0 \0 376 001 \0 327
0117740 234 / / D L S D i a l O u t S e
0117760 r v e r . b c p l - - T e l
0120000 n e t s e r v e r p r o v i
0120020 d i n g d i a l - o u t c a
0120040 p a b i l i t y \r \r / / L a s
0120060 t m o d i f i e d A u g u s
0120100 t 2 2 , 1 9 8 2 1 2 : 3
0120120 3 P M b y T a f t \r / /
0120140 L a s t m o d i f i e d J a
0120160 n u a r y 1 5 , 1 9 8 5
0120200 1 1 : 2 2 A M b y D i e b
0120220 e r t \r \r g e t " D L S D r i
0120240 v e r . d e c l " \r g e t " P
0120260 u p . d e c l " \r g e t " D L
0120300 S C o n t r o l . d e c l " \r \r
0120320 e x t e r n a l \r [ \r / / O u
0120340 t 376 001 \0 235 l g o i n g p r o c
0120360 e d u r e s \r D L S S o c k e t
0120400 N o t F o u n d ; T e l n e t
0120420 R e n d e z v o u s S e r v e r
0120440 ; D i a l O u t T o p ; S e
0120460 n d A b o r t ; G e t N u m b
0120500 e r \r O t h e r P u p P r o c ;
0120520 \r \r / / I n c o m i n g p
0120540 r o c e d u r e s \r N e t T o D
0120560 i a l O u t L i n e ; D i a l
0120600 O u t L i n e T o N e t ; W i
0120620 z a r d M o d e ; O n L i s t
0120640 C h e c k ; D i a l O u t C a
0120660 l l \r H a n g U p ; E c h o ;
0120700 C o n f i r m ; E r r o r ;
0120720 G e t S t r i n g ; L e a v
0120740 e R e m o t 376 001 \0 354 025 e M o d e
0120760 ; D i a l O u t ; O p e n P
0121000 o r t F o r C t x \r C o n t r o
0121020 l O u t ; S e t D L S L i n e
0121040 S p e e d ; D L S O u t p u t
0121060 7 ; D L S R e s e t I n p u t
0121100 ; D L S R e s e t O u t p u t
0121120 \r D L S I n p u t I d l e ; W
0121140 a i t F o r B i t T i m e s ;
0121160 \r E x c h a n g e P o r t s ;
0121200 A p p e n d S t r i n g T o P u
0121220 p ; C o m p l e t e P u p ;
0121240 R e l e a s e P B I ; P u p E
0121260 r r o r \r O p e n R T P S o c k
0121300 e t ; C r e a t e B S P S t r
0121320 e a m ; B S P G e t M a r k ;
0121340 B S P P u t M a r k 376 001 \0 022 377
0121360 ; B S P F o r c e O u t p u t
0121400 \r I n i t i a l i z e C o n t e
0121420 x t ; B l o c k ; D i s m i
0121440 s s \r E n q u e u e ; D e q u
0121460 e u e ; U n q u e u e ; S e
0121500 t T i m e r ; T i m e r H a s
0121520 E x p i r e d ; M u l t E q \r
0121540 G e t s ; P u t s ; E n d o
0121560 f s ; E r r o r s ; W s s ;
0121600 P u t T e m p l a t e \r M o v
0121620 e B l o c k ; S e t B l o c k
0121640 ; S y s E r r ; R e t u r n
0121660 F r o m ; M y F r a m e ; D
0121700 i a l O u t B S P E r r o r \r D
0121720 L S I n p u t ; D L S I n p u
0121740 t 7 ; D L S O u t p u t ; C
0121760 376 001 \0 026 221 o n t r o l I n \r L o
0122000 g i n ; D i a l O u t D i a l
0122020 I n ; F r e e ; S t a t u s
0122040 T o L o g ; C a l l S w a t \r
0122060 G e n e r a t e L o n g S p a c
0122100 e ; T e l n e t G e t s ; I
0122120 n n e r G e t s ; T e l n e t
0122140 E n d o f s ; T e l n e t R e
0122160 s e t s \r T e l n e t P u t s \r
0122200 T i m e C a l l S t a r t ; T
0122220 i m e C a l l S t o p ; S e t
0122240 7 B i t P r o c s \r \r / / O u
0122260 t g o i n g s t a t i c s \r s
0122300 t r a y P u p Q \r \r / / I n c
0122320 o m i n g s t a t i c s \r d l
0122340 s N a m e ; d l s R e g i s t
0122360 r y ; d 376 001 \0 257 330 l s O u t L
0122400 i s t ; d l s W i z a r d L
0122420 i s t \r @ l b T a b l e ; c t
0122440 x T a b l e ; m a i n C t x ;
0122460 C t x R u n n i n g ; p o s
0122500 t e d N o t i c e ; c r l f ;
0122520 n d b Q ; s y s Z o n e \r l
0122540 o g s t r e a m ; \r ] \r \r s t
0122560 a t i c \r [ \r s t r a y P u p Q
0122600 \r ] \r \r m a n i f e s t \r [ \r /
0122620 / T e l n e t m a r k t y
0122640 p e s \r m a r k S y n c = 1
0122660 \r m a r k L i n e W i d t h =
0122700 2 \r m a r k P a g e L e n g t
0122720 h = 3 \r m a r k T e r m i n
0122740 a l T y p e = 4 \r m a r k T
0122760 i m i n g = 5 \r 376 001 \0 } u m
0123000 a r k T i m i n g R e p l y =
0123020 6 \r ] \r \r s t r u c t u r e
0123040 A u x C t x : \t / / A u x i l
0123060 i a r y ( D i a l O u t L i n
0123100 e T o N e t ) c o n t e x t \r
0123120 [ \r b l a n k w o r d 3 \t \t
0123140 / / u s u a l C t x s t u
0123160 f f \r m a i n C t x w o r d \t
0123200 \t / / - > m a i n c o n t
0123220 e x t f o r l i n e \r a c t
0123240 i v e w o r d \t \t / / t r u
0123260 e i f r e c e n t a c t i
0123300 v i t y i n n e t - > l
0123320 i n e d i r e c t i o n \r ] \r
0123340 \f \r / / - - - - - - - - - - -
0123360 - - - - - - - - - - - - - - - 376
0123400 001 \0 375 < - - - - - - - - - - - -
0123420 - - - - - - - - - - - - - - - -
*
0123460 - - - - - \r l e t D L S S o c
0123500 k e t N o t F o u n d ( p b i )
0123520 b e E n q u e u e ( s t r a
0123540 y P u p Q , p b i ) \r / / -
0123560 - - - - - - - - - - - - - - - -
*
0123660 - - - - - - - - - - \r / / C a
0123700 l l e d f r o m P u p l e
0123720 v e l 1 w i t h p a c k e
0123740 t f o r u n k n o w n l o
0123760 c a l s o c k e t . \r \r / /
0124000 - - - - 376 001 \0 355 224 - - - - - - -
0124020 - - - - - - - - - - - - - - - -
*
0124120 \r a n d T e l n e t R e n d e
0124140 z v o u s S e r v e r ( ) b e
0124160 \r / / - - - - - - - - - - - -
0124200 - - - - - - - - - - - - - - - -
*
0124260 - - - - - - - - - - - - - - - \r
0124300 / / C o n t e x t t h a t
0124320 c a t c h e s s t r a y P u
0124340 p s ( o n e s n o t f o r
0124360 a n y e x i s t i n g s o
0124400 c k e t ) \r / / 376 001 \0 346 003 a n
0124420 d c r e a t e s a T e l n
0124440 e t s e r v e r w h e n a
0124460 n R F C a r r i v e s . \r /
0124500 / T h e f o l l o w i n g
0124520 " r e n d e z v o u s s o c k
0124540 e t s " a r e d e f i n e d
0124560 : \r / / \t 1 \t \t H u n t f o r
0124600 a n y 3 0 0 - b a u d d i
0124620 a l - o u t l i n e \r / / \t 2
0124640 1 2 \t \t H u n t f o r a n y
0124660 B e l l 2 1 2 d i a l - o
0124700 u t l i n e \r / / \t 3 0 0 \t \t
0124720 H u n t f o r a n y B e l
0124740 l 1 0 3 d i a l - o u t l
0124760 i n e \r / / \t 1 2 0 0 \t \t H u n
0125000 t f o r a n y V a d i 376 001
0125020 \0 Q 310 c 3 4 0 0 d i a l - o
0125040 u t l i n e \r / / \t 1 0 0 0 0
0125060 0 + n \t C o n n e c t t o l
0125100 i n e n , i f i t e x i
0125120 s t s a n d i s a D L S
0125140 d a t a l i n e \r [ \r D i s
0125160 m i s s ( 1 ) \r w h i l e s t
0125200 r a y P u p Q ! 0 n e 0 d
0125220 o H a n d l e R S P u p ( D e
0125240 q u e u e ( s t r a y P u p Q )
0125260 ) \r ] r e p e a t \r \f \r / /
0125300 - - - - - - - - - - - - - - - -
*
0125400 - - - - - - - - - - - \r a n d
0125420 H a n 376 001 \0 271 033 d l e R S P u p
0125440 ( p b i ) b e \r / / - - - -
0125460 - - - - - - - - - - - - - - - -
*
0125560 - - - - - - - \r [ \r l e t m o
0125600 d e m W a n t e d , l i n e
0125620 = - 1 , n i l \r \r \r / / C
0125640 h e c k f o r W h e r e u s
0125660 e r \r i f p b i > > P B I . p
0125700 u p . t y p e e q t y p e W
0125720 h e r e U s e r R e q u e s t
0125740 & p b i > > P B I . p u p . d
0125760 P o r t . h o s t n e 0
0126000 d o \r [ \r
0126020 E x c h a n g 376 001 \0 274 b e P o
0126040 r t s ( p b i ) \r C
0126060 o m p l e t e P u p ( p b i ,
0126100 t y p e W h e r e U s e r R e p
0126120 l y , p u p O v B y t e s ) \r
0126140 r e t u r n \r
0126160 ] \r \r / / R e q u i r e
0126200 i t t o b e a n R F C
0126220 a n d n o t b r o a d c a
0126240 s t . \r i f p b i > > P B I .
0126260 p u p . t y p e e q t y p e
0126300 R F C & p b i > > P B I . p
0126320 u p . d P o r t . h o s t n e
0126340 0 & \r p b i > > P B I . p
0126360 u p . d P o r t . s o c k e t ^
0126400 1 e q 0 t h e n \r s
0126420 w i t c h o n p b i > > 376 001 \0
0126440 S Y P B I . p u p . d P o r t .
0126460 s o c k e t ^ 2 i n t o \r
0126500 [ \r c a s e
0126520 1 : c a s e 3 0 0 b : \r
0126540 m o d e m W a n
0126560 t e d = l t B e l l 1 0 3 ;
0126600 e n d c a s e \r c
0126620 a s e 2 1 2 b : \r
0126640 m o d e m W a n t e d =
0126660 l t B e l l 2 1 2 ; e n d c
0126700 a s e \r c a s e 1
0126720 2 0 0 b : \r m
0126740 o d e m W a n t e d = l t V
0126760 a d i c 3 4 0 0 ; e n d c a s
0127000 e \r d e f a u l t :
0127020 \r l i n e =
0127040 p 376 001 \0 323 017 b i > > P B I . p
0127060 u p . d P o r t . s o c k e t ^
0127100 2 - 1 0 0 0 0 0 b \r
0127120 i f l i n e u l s
0127140 n u m L i n e s & \r
0127160 ( l b T a b l e ! l
0127200 i n e ) > > L B H . l i n e T y
0127220 p e g e l t D a t a t h e
0127240 n m o d e m W a n t e d =
0127260 l t I l l e g a l \r
0127300 ] \r \r i f m o d e m W a n t e
0127320 d e q - 1 t h e n [ P
0127340 u p E r r o r ( p b i , 2 ,
0127360 " N o s u c h p o r t " ) ;
0127400 r e t u r n ] \r \r / / D e
0127420 f a u l t n e t f i e l d
0127440 o f f o r e 376 001 \0 313 367 i g n
0127460 c o n n e c t i o n p o r t \r
0127500 l e t c o n n P o r t = l
0127520 v p b i > > P B I . p u p . w
0127540 o r d s \r i f c o n n P o r t
0127560 > > P o r t . n e t e q 0
0127600 t h e n \r c o n n P o r t
0127620 > > P o r t . n e t = p b i
0127640 > > P B I . p u p . s P o r t .
0127660 n e t \r \r l e t c t x = 0
0127700 \r t e s t m o d e m W a n t e
0127720 d e q l t I l l e g a l \r
0127740 i f s o \r [
0127760 / / A s k i n g f o r s p
0130000 e c i f i c l i n e \r
0130020 i f T e s t D u p l i c a
0130040 t e ( p b i , l i n e 376 001 \0 257
0130060 o ) t h e n r e t u r n
0130100 / / D u p l i c a t e R F C
0130120 \r c t x = c t x
0130140 T a b l e ! l i n e \r
0130160 u n l e s s c t x > > C T X
0130200 . l i n e S t a t e l e l i
0130220 n e S t a t e O n d o \r
0130240 [ S e n d A b o r
0130260 t ( p b i , " L i n e i s
0130300 b u s y " ) ; r e t u r n ]
0130320 \r ] \r i f n o
0130340 t \r [ / / A s
0130360 k i n g f o r a n y l i n
0130400 e o f s p e c i f i c t y
0130420 p e \r / / C h e c
0130440 k f o r d u p l i c a t e
0130460 R 376 001 \0 340 001 F C b y s e a r
0130500 c h i n g f o r a c o n n
0130520 e c t i o n w i t h t h e
0130540 s a m e \r / / f o
0130560 r e i g n p o r t a n d c
0130600 o n n e c t i o n I D . A
0130620 l s o s e a r c h f o r a
0130640 d i a l - o u t l i n e t
0130660 h a t \r / / i s
0130700 n o t p r e s e n t l y i n
0130720 u s e a n d t h a t h a
0130740 s t h e c o r r e c t t y
0130760 p e o f m o d e m . \r
0131000 f o r t e s t L i n e
0131020 = 0 t o n u m L i n e s -
0131040 1 d o \r [ \r
0131060 376 001 \0 301 340 i f
0131100 T e s t D u p l i c a t e ( p
0131120 b i , t e s t L i n e ) t h
0131140 e n r e t u r n / / D u
0131160 p l i c a t e R F C \r
0131200 l e t d l b = l
0131220 b T a b l e ! t e s t L i n e \r
0131240 i f d l b >
0131260 > D L B . l i n e T y p e e q
0131300 l t D a t a S e t & d l b
0131320 > > D L B . d c l m n e 0
0131340 & \r ( c t x
0131360 T a b l e ! t e s t L i n e ) >
0131400 > C T X . l i n e S t a t e e
0131420 q l i n e S t a t e O f f d
0131440 o \r [ \r
0131460 376 001 \0 240 364
0131500 i f m o d e m W a n t e d
0131520 e q d l b > > D L B . m o d e
0131540 m T y p e d o \r
0131560 [ l i n e =
0131600 t e s t L i n e ; c t x =
0131620 c t x T a b l e ! l i n e ]
0131640 / / f r e e c o r r e c
0131660 t t y p e \r
0131700 ] \r ] \r
0131720 \r / / R e j e c t
0131740 t h e r e q u e s t i f
0131760 d i d n o t f i n d a f
0132000 r e e d i a l - o u t l i n
0132020 e \r i f c t x e
0132040 q 0 t h e n \r
0132060 [ S e n d A b o r t ( p b
0132100 376 001 \0 177 357 i , " N o d i a l
0132120 - o u t l i n e s a v a i l
0132140 a b l e " ) ; r e t u r n ]
0132160 \r ] \r \f \r / / H a
0132200 n d l e R S P u p ( c o n t '
0132220 d ) \r \r / / O p e n t h e
0132240 B S P c o n n e c t i o n \r l
0132260 e t s o c = O p e n P o r
0132300 t F o r C t x ( c t x , c o n
0132320 n P o r t ) \r O p e n R T P S o
0132340 c k e t ( s o c , 0 , m o d
0132360 e I m m e d i a t e O p e n ,
0132400 l v p b i > > P B I . p u p .
0132420 i d ) \r C r e a t e B S P S t r
0132440 e a m ( s o c ) \r c t x > > C T
0132460 X . s o c k e t O p e n = t
0132500 r u e \r \r 376 001 \0 255 271 / / T e l
0132520 l t h e c o n t e x t t o
0132540 b e a d i a l - o u t s
0132560 e r v e r \r c t x > > C T X . l
0132600 i n e S t a t e = l i n e S
0132620 t a t e D i a l O u t \r i f m
0132640 o d e m W a n t e d n e l t
0132660 I l l e g a l t h e n S e t
0132700 D L S L i n e S p e e d ( c t x
0132720 > > C T X . d l b , \r s
0132740 e l e c t o n m o d e m W a n
0132760 t e d i n t o [ \r
0133000 c a s e l t B e l l 1 0 3 :
0133020 3 0 0 \r c a s e
0133040 l t B e l l 2 1 2 : \r
0133060 c a s e l t V a d i c 3 4 0
0133100 0 : 1 2 0 0 ] ) 376 001 \0 302 327 \r
0133120 \r / / S e n d a n s w e r i
0133140 n g R F C \r S e n d R F C ( p
0133160 b i , l v c t x > > C T X .
0133200 s o c k e t ) \r ] \r \f \r / / -
0133220 - - - - - - - - - - - - - - - -
*
0133320 - - - - - - - - - - \r a n d T
0133340 e s t D u p l i c a t e ( p b i
0133360 , l i n e ) = v a l o f \r
0133400 / / - - - - - - - - - - - - -
0133420 - - - - - - - - - - - - - - - -
*
0133500 - - - - - - - - - - - - - - \r 376
0133520 001 \0 026 2 [ \r l e t c t x =
0133540 c t x T a b l e ! l i n e \r l e
0133560 t d l b = l b T a b l e !
0133600 l i n e \r i f d l b > > L B H
0133620 . l i n e T y p e g e l t D
0133640 a t a & c t x > > C T X . s
0133660 o c k e t O p e n & \r M u l
0133700 t E q ( l v c t x > > C T X .
0133720 s o c k e t . f r n P o r t ,
0133740 l v p b i > > P B I . p u p .
0133760 w o r d s , l e n P o r t )
0134000 & \r M u l t E q ( l v c t x
0134020 > > C T X . s o c k e t . c o n
0134040 n I D , l v p b i > > P B I
0134060 . p u p . i d ) t h e n \r
0134100 [ S e n d R F C ( p b i ,
0134120 l v c 376 001 \0 2 B t x > > C T X
0134140 . s o c k e t ) ; r e s u l t
0134160 i s t r u e ] / / D u
0134200 p l i c a t e R F C \r r e s u
0134220 l t i s f a l s e \r ] \r \r / /
0134240 - - - - - - - - - - - - - - -
0134260 - - - - - - - - - - - - - - - -
*
0134340 - - - - - - - - - - - - \r a n d
0134360 S e n d R F C ( p b i , s o
0134400 c ) b e \r / / - - - - - - -
0134420 - - - - - - - - - - - - - - - -
*
0134520 - - - - \r [ \r M o 376 001 \0 Y 255 v e
0134540 B l o c k ( l v p b i > > P B
0134560 I . p u p . w o r d s , l v
0134600 s o c > > P u p S o c . l c l P
0134620 o r t , l e n P o r t ) \r E x
0134640 c h a n g e P o r t s ( p b i )
0134660 \r C o m p l e t e P u p ( p b i
0134700 , t y p e R F C , p u p O v
0134720 B y t e s + 6 ) \r ] \r \r / / -
0134740 - - - - - - - - - - - - - - - -
*
0135040 - - - - - - - - - - \r a n d S
0135060 e n d A b o r t ( p b i , s t
0135100 r i n g ) b e \r / / - - - -
0135120 - - - - - - - - - - - - - - 376 001
0135140 \0 241 365 - - - - - - - - - - - - -
0135160 - - - - - - - - - - - - - - - -
*
0135220 - - - - - - - - - - - - \r [ \r p
0135240 b i > > P B I . p u p . w o r d
0135260 s ^ 1 = 0 \r A p p e n d S t
0135300 r i n g T o P u p ( p b i , 3
0135320 , s t r i n g ) \r E x c h a n
0135340 g e P o r t s ( p b i ) \r C o m
0135360 p l e t e P u p ( p b i , t y
0135400 p e A b o r t ) \r ] \r \f \r / /
0135420 - - - - - - - - - - - - - - - -
*
0135520 - - - - - - - - - - - \r a n d
0135540 D i a 376 001 \0 252 333 l O u t T o p (
0135560 c t x ) b e \r / / - - - - -
0135600 - - - - - - - - - - - - - - - -
*
0135700 - - - - - - \r / / D L S T o p
0135720 c a l l s t h i s p r o c
0135740 e d u r e w h e n t h e l
0135760 i n e i s b e i n g \r / /
0136000 c o n t r o l l e d f r o m
0136020 a s e r v e r T e l n e t
0136040 c o n n e c t i o n . \r [ \r / /
0136060 M a n u f a c t u r e s e r
0136100 v e r T e l n e t s t r e a
0136120 m \r l e t t s t r = v e c
0136140 l S T \r S e t 376 001 \0 k 022 B l o
0136160 c k ( t s t r , S y s E r r ,
0136200 l S T ) \r t s t r > > S T . p
0136220 a r 1 = c t x / / - >
0136240 o w n i n g c o n t e x t \r
0136260 t s t r > > S T . g e t s =
0136300 T e l n e t G e t s \r t s t r >
0136320 > S T . e n d o f = T e l n
0136340 e t E n d o f s \r t s t r > > S
0136360 T . r e s e t = T e l n e t
0136400 R e s e t s \r t s t r > > S T .
0136420 p u t s = T e l n e t P u t
0136440 s \r c t x > > C T X . s o c k e
0136460 t . e r r o r = D i a l O u
0136500 t B S P E r r o r \r \r l e t d
0136520 l b = c t x > > C T X . d l
0136540 b \r i f d l b > > D L B 376 001 \0
0136560 212 7 . c a r r i e r O f f t h
0136600 e n \r [ \r / / D r
0136620 o p D a t a T e r m i n a l
0136640 R e a d y s o t h e m o
0136660 d e m w o n ' t a u t o - a
0136700 n s w e r \r C o n t r o l
0136720 O u t ( d l b > > D L B . o t h
0136740 e r L i n e , f a l s e ) \r
0136760 d l b > > D L B . p u t s
0137000 = D L S O u t p u t 7 / /
0137020 N o p a d d i n g ! \r
0137040 ] \r D L S R e s e t I n p u t (
0137060 d l b ) \r D L S R e s e t O u t
0137100 p u t ( d l b ) \r \r / / G i v
0137120 e g r e e t i n g \r P u t T e
0137140 m p l a t e ( t s t r , " $ S
0137160 * n 376 001 \0 254 356 * l $ S L i n e
0137200 # $ O , ( $ D B a u d ) ,
0137220 E s c a p e c h a r a c t e
0137240 r = " , \r d l s N a m
0137260 e , \r v a l o f [ \r
0137300 s w i t c h o n d l b
0137320 > > D L B . l i n e T y p e i
0137340 n t o \r [ \r
0137360 c a s e l t H
0137400 a r d w i r e d : r e s u l t
0137420 i s " H a r d w i r e d " \r
0137440 c a s e l t T
0137460 e l e n e t : r e s u l t i s
0137500 " T e l e n e t " \r
0137520 c a s e l t D a t a S
0137540 e t : r e s u l t i s s e l
0137560 e c t o n d 376 001 \0 K 373 l b > >
0137600 D L B . m o d e m T y p e i n
0137620 t o \r [
0137640 \r c a s
0137660 e l t B e l l 1 0 3 : " B e
0137700 l l 1 0 3 D i a l O u t "
0137720 \r c a s
0137740 e l t B e l l 2 1 2 : " B e
0137760 l l 2 1 2 a D i a l O u t
0140000 " \r c a
0140020 s e l t V a d i c 3 4 0 0 :
0140040 " V a d i c 3 4 0 0 D i a l
0140060 O u t " \r
0140100 d e f a u l t : " ? " \r
0140120 ] \r
0140140 d e f a u l t : r
0140160 e s u l t i s " ? " \r 376 001 \0 201
0140200 342 ] \r
0140220 ] , d l b > > D L B . l i
0140240 n e , d l b > > D L B . b a u
0140260 d ) \r E c h o ( t s t r , c t
0140300 x > > C T X . e s c a p e C h a
0140320 r ) \r W s s ( t s t r , c r l
0140340 f ) \r \r i f p o s t e d N o t
0140360 i c e n e 0 t h e n \r
0140400 P u t T e m p l a t e ( t s t
0140420 r , " * 0 0 7 * * * * * * $
0140440 S * n * l " , p o s t e d N o
0140460 t i c e ) \r \r / / C a l l s
0140500 e r v e r T e l n e t c o m
0140520 m a n d i n t e r p r e t e r
0140540 \r D i a l O u t C o m m a n d (
0140560 c t x , t s t r ) \r \r / / R
0140600 e 376 001 \0 246 220 t u r n t o D L
0140620 S T o p , w h i c h w i l l
0140640 c l o s e c o n n e c t i o
0140660 n a n d h a n g u p m o
0140700 d e m . \r / / I f t h e T
0140720 e l n e t c o n n e c t i o n
0140740 b r e a k s , R e t u r n F
0140760 r o m ( D i a l O u t T o p )
0141000 i s d o n e . \r ] \r \f \r / /
0141020 - - - - - - - - - - - - - - - -
*
0141120 - - - - - - - - - - - \r a n d
0141140 D i a l O u t C o m m a n d ( c
0141160 t x , t s t r ) b e \r / /
0141200 - - - - - - 376 001 \0 240 023 - - - - -
0141220 - - - - - - - - - - - - - - - -
*
0141320 \r [ \r l e t d l b = c t x
0141340 > > C T X . d l b \r P u t s ( t
0141360 s t r , $ > ) / / P r o
0141400 m p t \r l e t c h a r = G
0141420 e t s ( t s t r ) \r s w i t c h
0141440 o n c h a r i n t o \r
0141460 [ \r c a s e $ 8 : \r
0141500 W s s ( t s t r , " S
0141520