$ od -c -N 50000 [phylum]<LISP>Lyric>LIBRARY>TCPUDP!1 0000000 ( D E F I N E - F I L E - I N F 0000020 O 247 P A C K A G E " I N T E 0000040 R L I S P " 247 R E A D T A B L 0000060 E " I N T E R L I S P " 247 B 0000100 A S E 1 0 ) \r 006 001 ( F I L E C 0000120 R E A T E D " 6 - A p r - 8 0000140 7 2 0 : 5 4 : 5 5 " 006 004 { E 0000160 R I S } < L I S P C O R E > L I 0000200 B R A R Y > T C P U D P . ; 1 2 0000220 006 001 1 4 5 1 5 \r \r 0000240 c h a n g e s t o % : 0000260 ( V A R S T C P U D P C O M S 0000300 ) \r \r p r e v i o u 0000320 s d a t e % : " 2 - A p r 0000340 - 8 7 1 2 : 2 3 : 4 4 " { E 0000360 R I S } < L I S P C O R E > L I 0000400 B R A R Y > T C P U D P . ; 1 1 0000420 ) \r \r \r ( * " \r C o p y r i g 0000440 h t ( c ) 1 9 8 5 , 1 9 8 0000460 6 , 1 9 8 7 b y X e r o x 0000500 C o r p o r a t i o n . A 0000520 l l r i g h t s r e s e r v 0000540 e d . \r " ) \r \r ( P R E T T Y C 0000560 O M P R I N T T C P U D P C O 0000600 M S ) \r \r ( R P A Q Q 006 002 T C 0000620 P U D P C O M S 006 001 \r 0000640 [ ( C O M S \r 0000660 \r 0000700 006 006 ( * ; ; " U s e r D a 0000720 t a g r a m P r o t o c o l 0000740 - - - D e f i n i t i o n s " 0000760 ) 006 001 \r \r 0001000 [ D E C L A R E % : E V 0001020 A L @ C O M P I L E D O N T C 0001040 O P Y ( E X P O R T ( R E C 0001060 O R D S U D P ) \r 0001100 * 0001160 ( C O N S T A N T S ( \ U D P 0001200 O V L E N 8 ] \r 0001220 ( F I L E S ( S 0001240 Y S L O A D ) \r 0001260 T C P 0001300 L L I P ) ) \r ( 0001320 C O M S \r 0001340 \r 006 006 ( * 0001360 ; ; " I n t e r n a l f u n 0001400 c t i o n s " ) 006 001 \r \r 0001420 ( F N S U 0001440 D P . G E T . B Y T E U D P . 0001460 G E T . C E L L U D P . G E T 0001500 . S T R I N G U D P . G E T . 0001520 W O R D \ U D P . F L U S H . 0001540 S O C K E T . Q U E U E \r 0001560 0001600 \ U D P . P O R T C O M P A R 0001620 E \ U D P . C H E C K S U M 0001640 \ U D P . S E T . C H E C K S U 0001660 M ) ) \r ( C O M 0001700 S \r \r 0001720 006 006 ( * ; ; 0001740 " E x t e r n a l f u n c t i 0001760 o n s " ) 006 001 \r \r 0002000 ( F N S P R I N 0002020 T U D P U D P . I N I T U D 0002040 P . S T O P U D P . O P E N . 0002060 S O C K E T U D P . C L O S E 0002100 . S O C K E T U D P . S O C K 0002120 E T . E V E N T \r 0002140 U D P 0002160 . S O C K E T . N U M B E R U 0002200 D P . G E T U D P . S E N D 0002220 U D P . E X C H A N G E U D P 0002240 . S E T U P U D P . A P P E N 0002260 D . B Y T E \r 0002300 U D P . A 0002320 P P E N D . C E L L U D P . A 0002340 P P E N D . S T R I N G U D P 0002360 . A P P E N D . W O R D U D P 0002400 . I N C R E M E N T . L E N G T 0002420 H ) \r 0002440 ( A D D V A R S ( I P P R I 0002460 N T M A C R O S ( 1 7 . P 0002500 R I N T U D P ) ) ) \r 0002520 ( P ( U D P 0002540 . I N I T ] ) \r \r \r \r 006 004 ( * 0002560 ; ; " U s e r D a t a g r a 0002600 m P r o t o c o l - - - D 0002620 e f i n i t i o n s " ) 006 001 \r \r 0002640 ( D E C L A R E % : E V A L @ 0002660 C O M P I L E D O N T C O P Y 0002700 \r ( * " F O L L O W I N G 0002720 D E F I N I T I O N S E X P O 0002740 R T E D " ) \r \r ( D E C L A R E 0002760 % : E V A L @ C O M P I L E \r 0003000 \r ( A C C E S S F N S 006 002 U D 0003020 P 006 001 ( ( U D P B A S E ( \ 0003040 I P D A T A B A S E D A T U M 0003060 ) ) ) \r 0003100 ( B L O C K R E C O R D 0003120 U D P B A S E ( ( U D P S O U 0003140 R C E P O R T W O R D ) \r 0003160 * 0003220 ( U D P D E S T P O R T 0003240 W O R D ) \r 0003260 0003300 ( U D P L 0003320 E N G T H W O R D ) \r 0003340 * 0003400 ( U D P C H E C K S U M W O 0003420 R D ) ) ) \r 0003440 [ A C C E S S F N S 0003460 U D P ( ( U D P C O N T E N T 0003500 S ( \ A D D B A S E ( \ I P 0003520 D A T A B A S E D A T U M ) \r 0003540 * 0003620 ( F O L D H I \ U D P O 0003640 V L E N B Y T E S P E R W O R 0003660 D ] ) \r ) \r ( D E C L A R E % : 0003700 E V A L @ C O M P I L E \r \r 0003720 ( R P A Q Q 006 002 \ U D P O V L 0003740 E N 006 001 8 ) \r \r ( C O N S T A 0003760 N T S ( \ U D P O V L E N 8 0004000 ) ) \r ) \r \r ( * " E N D E X 0004020 P O R T E D D E F I N I T I O 0004040 N S " ) \r \r ) \r ( F I L E S L O 0004060 A D ( S Y S L O A D ) \r 0004100 T C P L L I P ) \r \r \r \r 0004120 006 004 ( * ; ; " I n t e r n a 0004140 l f u n c t i o n s " ) 006 001 \r 0004160 \r ( D E F I N E Q \r \r ( 006 004 U D 0004200 P . G E T . B Y T E 006 001 \r [ 0004220 L A M B D A ( U D P B Y T E 0004240 # ) 006 006 006 001 0004260 0004300 006 006 0004320 ( * e j s % : " 2 5 - J u n 0004340 - 8 5 2 1 : 0 4 " ) 006 001 \r 0004360 \r 0004400 006 006 ( * * R e t u r n 0004420 a b y t e f r o m t h e 0004440 U D P d a t a a r e a ) 006 0004460 001 \r \r ( C O N D \r 0004500 ( ( A N D ( I G E Q 0004520 B Y T E # 0 ) \r 0004540 ( I L E S S P B Y 0004560 T E # ( 006 002 f e t c h 006 001 ( 0004600 U D P U D P L E N G T H ) 006 0004620 002 o f 006 001 U D P ) ) ) \r 0004640 ( \ G E T B A S E B Y 0004660 T E ( 006 002 f e t c h 006 001 ( U 0004700 D P U D P C O N T E N T S ) 0004720 006 002 o f 006 001 U D P ) \r 0004740 B Y T E # 0004760 ] ) \r \r ( 006 004 U D P . G E T . C 0005000 E L L 006 001 \r [ L A M B D A 0005020 ( U D P C E L L # ) 006 006 006 001 0005040 * 0005100 006 006 ( * e j s % 0005120 : " 2 5 - J u n - 8 5 2 1 : 0005140 0 9 " ) 006 001 \r 0005160 \r 006 006 ( * 0005200 * R e t u r n a c e l l 0005220 f r o m t h e U D P d a 0005240 t a a r e a ) 006 001 \r \r 0005260 ( C O N D \r ( ( A 0005300 N D ( I G E Q C E L L # 0 0005320 ) \r ( 0005340 I L E S S P C E L L # ( F O 0005360 L D L O ( 006 002 f e t c h 006 001 0005400 ( U D P U D P L E N G T H ) 0005420 006 002 o f 006 001 U D P ) \r 0005440 0005460 B Y 0005500 T E S P E R C E L L ) ) ) \r 0005520 ( \ M A K E N U M B 0005540 E R ( \ G E T B A S E ( 006 002 0005560 f e t c h 006 001 ( U D P U D P 0005600 C O N T E N T S ) 006 002 o f 006 001 0005620 U D P ) \r 0005640 0005660 ( U N F O L D C E L L # 0005700 W O R D S P E R C E L L ) ) \r 0005720 ( \ 0005740 G E T B A S E ( 006 002 f e t c h 0005760 006 001 ( U D P U D P C O N T E 0006000 N T S ) 006 002 o f 006 001 U D P ) 0006020 \r 0006040 ( A D D 1 ( U N 0006060 F O L D C E L L # W O R D S 0006100 P E R C E L L ] ) \r \r ( 006 004 U D 0006120 P . G E T . S T R I N G 006 001 \r 0006140 [ L A M B D A ( U D P O F 0006160 F S E T ) 006 006 006 001 0006200 * 0006240 006 006 ( * e j s % : " 2 5 - J 0006260 u n - 8 5 2 1 : 1 2 " ) 006 001 \r 0006300 \r 0006320 006 006 ( * * F e t c 0006340 h a s t r i n g o u t o 0006360 f t h e U D P p a c k e t 0006400 ) 006 001 \r \r ( O R ( S M 0006420 A L L P O F F S E T ) \r 0006440 ( S E T Q O F F S E 0006460 T 0 ) ) \r ( L E T * 0006500 ( ( L E N G T H ( I D I F F E 0006520 R E N C E ( 006 002 f e t c h 006 001 0006540 ( U D P U D P L E N G T H ) 0006560 006 002 o f 006 001 U D P ) \r 0006600 0006620 O F F S E T ) ) \r 0006640 ( S T R I 0006660 N G ( A L L O C S T R I N G 0006700 L E N G T H ) ) ) \r 0006720 ( \ M O V E B Y T E S 0006740 ( 006 002 f e t c h 006 001 ( U D P 0006760 U D P C O N T E N T S ) 006 002 o 0007000 f 006 001 U D P ) \r 0007020 O F F S E T 0007040 \r 0007060 ( 006 002 f e t c h 006 001 ( S T 0007100 R I N G P B A S E ) 006 002 o f 0007120 006 001 S T R I N G ) \r 0007140 ( 006 002 f 0007160 e t c h 006 001 ( S T R I N G P 0007200 O F F S T ) 006 002 o f 006 001 S T 0007220 R I N G ) \r 0007240 L E N G T H ) \r 0007260 S T R I N G ] 0007300 ) \r \r ( 006 004 U D P . G E T . W O 0007320 R D 006 001 \r [ L A M B D A ( 0007340 U D P W O R D # ) 006 006 006 001 0007360 * 0007420 006 006 ( * e j s % : 0007440 " 2 5 - J u n - 8 5 2 1 : 0 0007460 6 " ) 006 001 \r 0007500 \r 006 006 ( * 0007520 * R e t u r n a w o r d 0007540 f r o m t h e U D P d a t 0007560 a a r e a ) 006 001 \r \r ( 0007600 C O N D \r ( ( A N 0007620 D ( I G E Q W O R D # 0 ) 0007640 \r ( I 0007660 L E S S P W O R D # ( F O L 0007700 D L O ( 006 002 f e t c h 006 001 ( 0007720 U D P U D P L E N G T H ) 006 0007740 002 o f 006 001 U D P ) \r 0007760 0010000 B Y T 0010020 E S P E R W O R D ) ) ) \r 0010040 ( \ G E T B A S E ( 0010060 006 002 f e t c h 006 001 ( U D P U 0010100 D P C O N T E N T S ) 006 002 o f 0010120 006 001 U D P ) \r 0010140 W O R D # ] ) \r \r 0010160 ( 006 004 \ U D P . F L U S H . S O 0010200 C K E T . Q U E U E 006 001 \r [ 0010220 L A M B D A ( I P S O C K E T 0010240 ) 006 006 006 001 0010260 0010300 006 006 0010320 ( * e j s % : " 9 - F e b 0010340 - 8 5 1 5 : 0 3 " ) 006 001 \r 0010360 \r 0010400 006 006 ( * * C a l l e d 0010420 t o f l u s h i n p u t 0010440 p a c k e t q u e u e o n 0010460 a n I P S O C K E T ) 006 001 \r \r 0010500 ( L E T ( ( Q U E U E 0010520 ( 006 002 f e t c h 006 001 ( I P S 0010540 O C K E T I P S Q U E U E ) 0010560 006 002 o f 006 001 I P S O C K E T ) 0010600 ) \r P A C K 0010620 E T ) \r ( 006 002 0010640 w h i l e 006 001 ( S E T Q P A 0010660 C K E T ( \ D E Q U E U E Q 0010700 U E U E ) ) 006 002 d o 006 001 ( \ 0010720 R E L E A S E . E T H E R P A C 0010740 K E T P A C K E T ) \r 0010760 006 002 f i n a l l 0011000 y 006 001 ( 006 002 r e p l a c e 006 001 0011020 ( I P S O C K E T I P S Q U 0011040 E U E L E N G T H ) 006 002 o f 006 0011060 001 I P S O C K E T 006 002 w i t 0011100 h 006 001 0 ] ) \r \r ( 006 004 \ U D P 0011120 . P O R T C O M P A R E 006 001 \r 0011140 [ L A M B D A ( U D P I P 0011160 S O C K E T ) 006 006 006 001 0011200 * 0011240 006 006 ( * e j s % : " 9 - F 0011260 e b - 8 5 1 4 : 3 7 " ) 006 001 \r 0011300 \r 0011320 006 006 ( * * C o m p 0011340 a r e I P S O C K E T u n t 0011360 i l w e f i n d t h e o 0011400 n e t h i s U D P w a s 0011420 d e s t i n e d f o r ) 006 001 \r 0011440 \r ( E Q ( 006 002 f e t c 0011460 h 006 001 ( U D P U D P D E S T 0011500 P O R T ) 006 002 o f 006 001 U D P 0011520 ) \r ( 006 002 f e t 0011540 c h 006 001 ( I P S O C K E T I 0011560 P S O C K E T ) 006 002 o f 006 001 0011600 I P S O C K E T ] ) \r \r ( 006 004 \ 0011620 U D P . C H E C K S U M 006 001 \r 0011640 [ L A M B D A ( U D P Z e 0011660 r o C h e c k S u m I s O K ) 006 0011700 006 006 001 0011720 0011740 006 006 ( * H A S % : " 1 9 - A 0011760 u g - 8 6 1 6 : 4 7 " ) 006 001 \r 0012000 \r 0012020 006 006 ( * * C o m p 0012040 u t e t h e U D P c h e c 0012060 k s u m f o r t h e p a c 0012100 k e t U D P . \r 006 001 0012120 006 006 T h e p a c k e 0012140 t i s a s s u m e d t o 0012160 h a v e b e e n s e t u p 0012200 b y U D P . S E T U P s o 0012220 t h a t s o u r c e a n d 0012240 \r 006 001 006 006 d 0012260 e s t i n a t i o n a d d r e 0012300 s s e s , p r o t o c o l , 0012320 a n d U D P l e n g t h h 0012340 a v e a l r e a d y b e e n 0012360 s e t . ) 006 001 \r \r ( C 0012400 O N D \r ( ( A N D 0012420 Z e r o C h e c k S u m I s O 0012440 K ( E Q ( 006 002 f e t c h 006 001 0012460 ( U D P U D P C H E C K S U 0012500 M ) 006 002 o f 006 001 U D P ) \r 0012520 * 0012560 0 ) ) \r \r 0012600 006 006 ( * * 0012620 B S D U n i x s t r i k e 0012640 s a g a i n ! ) 006 001 \r \r 0012660 0 ) \r ( 0012700 T ( L E T ( ( S O U R C E 0012720 ( 006 002 f e t c h 006 001 ( I P I 0012740 P S O U R C E A D D R E S S ) 0012760 006 002 o f 006 001 U D P ) ) \r 0013000 ( D E 0013020 S T ( 006 002 f e t c h 006 001 ( I 0013040 P I P D E S T I N A T I O N A 0013060 D D R E S S ) 006 002 o f 006 001 U 0013100 D P ) ) \r 0013120 ( L E N G T H ( 006 002 0013140 f e t c h 006 001 ( U D P U D P 0013160 L E N G T H ) 006 002 o f 006 001 U 0013200 D P ) ) \r 0013220 C H E C K S U M ) \r 0013240 ( S 0013260 E T Q C H E C K S U M ( I P 0013300 L U S ( 006 002 b i n d 006 001 ( B 0013320 A S E _ ( L O C F ( 006 002 f 0013340 e t c h 006 001 ( I P I P S O U 0013360 R C E A D D R E S S ) 006 002 o f 0013400 006 001 U D P ) ) ) \r 0013420 * 0013460 006 002 f o r 006 001 I 006 002 f r 0013500 o m 006 001 0 006 002 t o 006 001 ( C 0013520 O N S T A N T ( S U B 1 ( T 0013540 I M E S 2 W O R D S P E R C 0013560 E L L ) ) ) \r 0013600 0013620 006 0013640 002 s u m 006 001 ( \ G E T B A S E 0013660 B A S E I ) ) \r 0013700 0013720 ( 0013740 006 002 f f e t c h 006 001 ( I P I 0013760 P P R O T O C O L ) 006 002 o f 006 0014000 001 U D P ) \r 0014020 0014040 L E N G 0014060 T H \r 0014100 0014120 ( \ I P C H E C 0014140 K S U M U D P ( \ I P D A T 0014160 A B A S E U D P ) \r 0014200 * 0014240 L E N G T H ) ) ) 0014260 \r 0014300 ( S E T Q C H E C K S U M ( 0014320 I P L U S ( L D B ( B Y T E 0014340 1 6 1 6 ) \r 0014360 * 0014420 C H E C K S U M ) \r 0014440 * 0014500 ( L D B ( B Y T E 1 6 0 0014520 ) \r 0014540 0014560 C H E C 0014600 K S U M ) ) ) \r 0014620 [ C O N D \r 0014640 ( 0014660 ( N O T ( E Q ( L D B ( B 0014700 Y T E 1 6 1 6 ) \r 0014720 0014740 C H E C 0014760 K S U M ) \r 0015000 0015020 0 ) ) \r 0015040 ( S E T Q C 0015060 H E C K S U M ( I P L U S ( 0015100 L D B ( B Y T E 1 6 1 6 ) 0015120 \r 0015140 0015160 C 0015200 H E C K S U M ) \r 0015220 * 0015260 ( L D B ( B Y T E 1 6 0015300 0 ) \r 0015320 * 0015360 C H E C K S U M ] \r 0015400 C H E C K S 0015420 U M ] ) \r \r ( 006 004 \ U D P . S E 0015440 T . C H E C K S U M 006 001 \r [ 0015460 L A M B D A ( U D P ) 006 006 006 001 0015500 * 0015540 006 006 0015560 ( * e j s % : " 3 - J u n 0015600 - 8 5 0 0 : 1 9 " ) 006 001 \r 0015620 \r 0015640 006 006 ( * * C a l l e d 0015660 t o s e t t h e U D P 0015700 c h e c k s u m i n a p a 0015720 c k e t r e a d y t o b e 0015740 t r a n s m i t t e d ) 006 001 \r 0015760 \r ( L E T ( C H E C K 0016000 S U M ) \r ( 006 0016020 002 r e p l a c e 006 001 ( U D P 0016040 U D P C H E C K S U M ) 006 002 o 0016060 f 006 001 U D P 006 002 w i t h 006 001 0016100 0 ) \r ( S E 0016120 T Q C H E C K S U M ( 006 002 \ 0016140 U D P . C H E C K S U M 006 001 U 0016160 D P ) ) \r ( 006 0016200 002 r e p l a c e 006 001 ( U D P 0016220 U D P C H E C K S U M ) 006 002 o 0016240 f 006 001 U D P 006 002 w i t h 006 001 0016260 ( C O N D \r 0016300 * 0016340 [ ( N E Q 0016360 C H E C K S U M M A X . S M A 0016400 L L P ) \r 0016420 * 0016460 ( L O G A N D 0016500 ( L O G N O T C H E C K S U 0016520 M ) \r 0016540 * 0016600 ( C 0016620 O N S T A N T ( M A S K . 1 ' 0016640 S 0 1 6 ] \r 0016660 * 0016720 ( T M A 0016740 X . S M A L L P ] ) \r ) \r \r \r \r 0016760 006 004 ( * ; ; " E x t e r n a 0017000 l f u n c t i o n s " ) 006 001 \r 0017020 \r ( D E F I N E Q \r \r ( 006 004 P R 0017040 I N T U D P 006 001 \r [ L A M B 0017060 D A ( U D P F I L E ) 006 006 006 0017100 001 0017120 0017140 006 006 ( * e 0017160 j s % : " 2 - J u n - 8 5 0017200 1 2 : 4 4 " ) 006 001 \r ( p 0017220 r i n t o u t F I L E " S o 0017240 u r c e p o r t : " ( 006 002 0017260 f e t c h 006 001 ( U D P U D P 0017300 S O U R C E P O R T ) 006 002 o f 0017320 006 001 U D P ) \r 0017340 " D e s t p o r t : 0017360 " \r ( 006 002 0017400 f e t c h 006 001 ( U D P U D P 0017420 D E S T P O R T ) 006 002 o f 006 001 0017440 U D P ) \r 0017460 T " L e n g t h : " ( 006 0017500 002 f e t c h 006 001 ( U D P U D 0017520 P L E N G T H ) 006 002 o f 006 001 0017540 U D P ) \r 0017560 " C h e c k s u m : " \r 0017600 ( 006 002 f e t c 0017620 h 006 001 ( U D P U D P C H E C 0017640 K S U M ) 006 002 o f 006 001 U D P 0017660 ) \r T ) \r 0017700 ( C O N D \r 0017720 ( ( O R ( E Q ( 006 002 f e t 0017740 c h 006 001 ( U D P U D P D E S 0017760 T P O R T ) 006 002 o f 006 001 U D 0020000 P ) \r 0020020 \ T F T P . S O C K E T ) 0020040 \r ( E Q 0020060 ( 006 002 f e t c h 006 001 ( U D P 0020100 U D P S O U R C E P O R T ) 0020120 006 002 o f 006 001 U D P ) \r 0020140 \ T F T 0020160 P . S O C K E T ) ) \r 0020200 ( P R I N T T F T P U D 0020220 P F I L E ] ) \r \r ( 006 004 U D P 0020240 . I N I T 006 001 \r [ L A M B D 0020260 A N I L 006 006 006 001 0020300 * 0020340 006 006 ( * e j 0020360 s % : " 9 - F e b - 8 5 1 0020400 6 : 5 3 " ) 006 001 \r ( C O 0020420 N D \r ( ( N O T 0020440 \ I P F L G ) \r 0020460 ( S E L E C T Q ( A S K U S E 0020500 R 1 5 ' Y " I P i s n 0020520 o t r u n n i n g . S h a 0020540 l l I a t t e m p t t o 0020560 i n i t i a l i z e i t ? " 0020600 ) \r ( Y 0020620 ( \ I P I N I T ) ) \r 0020640 N I L ) ) ) \r 0020660 ( \ I P . A D D . P R O T 0020700 O C O L \ U D P . P R O T O C 0020720 O L ( F U N C T I O N \ U D 0020740 P . P O R T C O M P A R E ] ) \r 0020760 \r ( 006 004 U D P . S T O P 006 001 \r 0021000 [ L A M B D A N I L 006 006 006 001 0021020 * 0021100 006 006 ( * e j s % : " 9 - F 0021120 e b - 8 5 1 4 : 4 3 " ) 006 001 \r 0021140 ( \ I P . D E L E T E . 0021160 P R O T O C O L \ U D P . P R 0021200 O T O C O L ] ) \r \r ( 006 004 U D P 0021220 . O P E N . S O C K E T 006 001 \r 0021240 [ L A M B D A ( S K T # I 0021260 F C L A S H ) 006 006 006 001 0021300 * 0021340 006 006 ( * e j s % : " 8 - S 0021360 e p - 8 5 2 3 : 1 0 " ) 006 001 \r 0021400 ( O R ( S M A L L P 0021420 S K T # ) \r ( S 0021440 E T Q S K T # ( R A N D 1 0021460 0 0 0 M A X . S M A L L P ) ) 0021500 ) \r ( L E T * [ ( U D 0021520 P C H A I N ( \ I P . F I N D 0021540 . P R O T O C O L \ U D P . P 0021560 R O T O C O L ) ) \r 0021600 ( I P S O C K E T ( 0021620 A N D U D P C H A I N ( \ I 0021640 P . F I N D . S O C K E T S K 0021660 T # U D P C H A I N ] \r 0021700 ( C O N D \r 0021720 ( ( N U L L 0021740 U D P C H A I N ) \r 0021760 ( 006 002 U D P . 0022000 I N I T 006 001 ) ) ) \r 0022020 ( C O N D \r 0022040 ( ( N U L L I P 0022060 S O C K E T ) \r 0022100 ( \ I P . O P E N . 0022120 S O C K E T \ U D P . P R O T 0022140 O C O L S K T # ) ) \r 0022160 ( T ( S E L 0022200 E C T Q I F C L A S H \r 0022220 0022240 ( ( T A C C E P T ) \r 0022260 0022300 ( 006 002 \ U D P . F 0022320 L U S H . S O C K E T . Q U E U 0022340 E 006 001 I P S O C K E T ) \r 0022360 0022400 I P S O C K E T ) 0022420 \r 0022440 ( ( D O N ' T F A I 0022460 L ) \r 0022500 N I L 0022520 ) \r 0022540 ( E R R O R " U D 0022560 P P o r t i s a l r e a d 0022600 y i n u s e " S K T # ] ) 0022620 \r \r ( 006 004 U D P . C L O S E . S 0022640 O C K E T 006 001 \r [ L A M B D 0022660 A ( I P S O C K E T N O E R 0022700 R O R F L G ) 006 006 006 001 0022720 0022740 006 006 ( * e j 0022760 s % : " 9 - F e b - 8 5 1 0023000 5 : 0 0 " ) 006 001 \r ( 006 002 0023020 \ U D P . F L U S H . S O C K E 0023040 T . Q U E U E 006 001 I P S O C K 0023060 E T ) \r ( \ I P . C L O 0023100 S E . S O C K E T ( 006 002 f e t 0023120 c h 006 001 ( I P S O C K E T I 0023140 P S O C K E T ) 006 002 o f 006 001 0023160 I P S O C K E T ) \r 0023200 \ U D P . P R O T O C 0023220 O L N O E R R O R F L G ] ) \r 0023240 \r ( 006 004 U D P . S O C K E T . E 0023260 V E N T 006 001 \r [ L A M B D A 0023300 ( I P S O C K E T ) 006 006 006 001 0023320 * 0023360 006 006 ( * e j s 0023400 % : " 9 - F e b - 8 5 1 5 0023420 : 0 7 " ) 006 001 \r ( 006 002 f 0023440 e t c h 006 001 ( I P S O C K E T 0023460 I P S E V E N T ) 006 002 o f 006 0023500 001 I P S O C K E T ] ) \r \r ( 006 0023520 004 U D P . S O C K E T . N U M B 0023540 E R 006 001 \r [ L A M B D A ( 0023560 I P S O C K E T ) 006 006 006 001 0023600 * 0023640 006 006 ( * e j s % : 0023660 " 9 - F e b - 8 5 1 5 : 0 0023700 8 " ) 006 001 \r ( 006 002 f e t 0023720 c h 006 001 ( I P S O C K E T I 0023740 P S O C K E T ) 006 002 o f 006 001 0023760 I P S O C K E T ] ) \r \r ( 006 004 U 0024000 D P . G E T 006 001 \r [ L A M B 0024020 D A ( I P S O C K E T W A I 0024040 T ) 006 006 006 001 0024060 0024100 006 006 ( * H 0024120 A S % : " 1 9 - A u g - 8 6 0024140 1 6 : 4 8 " ) 006 001 \r 0024160 \r 006 0024200 006 ( * * R e t u r n s t h 0024220 e n e x t U D P p a c k e 0024240 t o n t h e q u e u e , 0024260 o r N I L i f n o n e e 0024300 x i s t a n d W A I T i s 0024320 \r 006 001 006 006 0024340 N I L . I f W A I T i s 0024360 T , t h i s f u n c t i o n 0024400 w a i t s f o r e v e r . \r 0024420 006 001 006 006 I f 0024440 W A I T i s a n i n t e 0024460 g e r , i t i s i n t e r 0024500 p r e t e d a s t h e n u 0024520 m b e r o f m i l l i s e c 0024540 o n d s t o w a i t \r 006 001 0024560 006 006 b e f o 0024600 r e r e t u r n i n g N I L 0024620 o r a p a c k e t w h i 0024640 c h a r r i v e s d u r i n 0024660 g t h a t t i m e . \r 006 001 0024700 006 006 T h i s 0024720 f u n c t i o n t h e r e f o 0024740 r e i s l i k e G E T X I 0024760 P a n d G E T P U P ) 006 001 \r 0025000 \r ( P R O G ( ( Q U E 0025020 U E ( 006 002 f e t c h 006 001 ( I 0025040 P S O C K E T I P S Q U E U E 0025060 ) 006 002 o f 006 001 I P S O C K E 0025100 T ) ) \r U 0025120 D P T I M E R ) \r 0025140 L P ( U N I N T E R R U P T 0025160 A B L Y \r 0025200 ( C O N D \r 0025220 ( ( S E T Q 0025240 U D P ( \ D E Q U E U E Q 0025260 U E U E ) ) \r 0025300 ( 006 002 a d d 006 0025320 001 ( 006 002 f e t c h 006 001 ( I P 0025340 S O C K E T I P S Q U E U E L 0025360 E N G T H ) 006 002 o f 006 001 I P 0025400 S O C K E T ) \r 0025420 - 0025440 1 ) ) ) ) \r 0025460 ( C O N D \r 0025500 [ ( N U L L U D P ) \r 0025520 ( C O 0025540 N D \r 0025560 ( W A I T ( C O N D \r 0025600 0025620 ( ( E Q W 0025640 A I T T ) ) \r 0025660 0025700 [ T I M E R ( C O N D \r 0025720 * 0025760 ( ( T I M E R E X P I R E 0026000 D ? T I M E R ) \r 0026020 0026040 ( 0026060 R E T U R N ] \r 0026100 0026120 ( T ( O R ( F I X P W 0026140 A I T ) \r 0026160 0026200 ( L I S P E R R O R 0026220 " N O N - N U M E R I C A R 0026240 G " W A I T ) ) \r 0026260 0026300 ( S E T Q T I M 0026320 E R ( S E T U P T I M E R W 0026340 A I T ) ) \r 0026360 0026400 T ) ) \r 0026420 ( A 0026440 W A I T . E V E N T ( 006 002 f e 0026460 t c h 006 001 ( I P S O C K E T 0026500 I P S E V E N T ) 006 002 o f 006 001 0026520 I P S O C K E T ) \r 0026540 0026560 T I M E R T 0026600 ) \r 0026620 ( G O L P ) 0026640 ) \r 0026660 ( T ( B L O C K ] \r 0026700 ( ( N O T 0026720 ( \ I P . C H E C K S U M . O 0026740 K ( 006 002 \ U D P . C H E C K S 0026760 U M 006 001 U D P T ) ) ) \r 0027000 ( \ R E 0027020 L E A S E . E T H E R P A C K E 0027040 T U D P ) \r 0027060 ( G O L P ) ) ) \r 0027100 ( R E T U R N 0027120 U D P ] ) \r \r ( 006 004 U D P . S 0027140 E N D 006 001 \r [ L A M B D A 0027160 ( I P S O C K E T U D P ) 006 006 0027200 006 001 0027220 0027240 006 006 ( * e j s % 0027260 : " 9 - F e b - 8 5 1 5 : 0027300 2 4 " ) 006 001 \r 0027320 \r 006 006 ( * 0027340 * S e n d s a U D P p 0027360 a c k e t . I P a n d U D 0027400 P h e a d e r a s s u m e d 0027420 s e t u p b y U D P . S 0027440 E T U P a n d \r 006 001 0027460 006 006 \ I P . S E T U 0027500 P I P ) 006 001 \r \r ( 006 002 \ 0027520 U D P . S E T . C H E C K S U M 0027540 006 001 U D P ) \r ( \ I P 0027560 . T R A N S M I T U D P ] ) \r 0027600 \r ( 006 004 U D P . E X C H A N G E 0027620 006 001 \r [ L A M B D A ( I P 0027640 S O C K E T O U T U D P T I 0027660 M E O U T ) 006 006 006 001 0027700 0027720 006 006 ( * e j s % : " 0027740 9 - F e b - 8 5 2 2 : 2 8 " 0027760 ) 006 001 \r \r 0030000 006 006 ( * * 0030020 S e n d a U D P p a c k e 0030040 t a n d w a i t f o r T 0030060 I M E O U T t o r e c e i v 0030100 e a p a c k e t \r 006 001 0030120 006 006 ( T I M E O U 0030140 T d e f a u l t s t o \ E 0030160 T H E R T I M E O U T ) ) 006 001 \r 0030200 \r ( 006 002 \ U D P . F L U 0030220 S H . S O C K E T . Q U E U E 006 0030240 001 I P S O C K E T ) \r 0030260 ( 006 002 U D P . S E N D 006 001 I P 0030300 S O C K E T O U T U D P ) \r 0030320 ( B L O C K ) \r ( 0030340 006 002 U D P . G E T 006 001 I P S O 0030360 C K E T ( O R ( F I X P T 0030400 I M E O U T ) \r 0030420 0030440 \ E T H E R T I M E O U T ] 0030460 ) \r \r ( 006 004 U D P . S E T U P 006 0030500 001 \r [ L A M B D A ( U D P 0030520 D E S T H O S T D E S T S O 0030540 C K E T I D I P S O C K E T 0030560 R E Q U E U E ) 006 006 006 001 0030600 006 006 ( * e j s % : " 0030620 9 - F e b - 8 5 1 6 : 0 4 " ) 0030640 006 001 \r ( \ I P . S E T U 0030660 P I P U D P D E S T H O S T 0030700 I D I P S O C K E T R E Q 0030720 U E U E ) \r ( 006 002 a d d 0030740 006 001 ( 006 002 f e t c h 006 001 ( I 0030760 P I P T O T A L L E N G T H ) 0031000 006 002 o f 006 001 U D P ) \r 0031020 \ U D P O V L E N ) 0031040 \r ( A N D ( S M A L L 0031060 P D E S T S O C K E T ) \r 0031100 ( 006 002 r e p l a c 0031120 e 006 001 ( U D P U D P D E S T 0031140 P O R T ) 006 002 o f 006 001 U D P 0031160 006 002 w i t h 006 001 D E S T S O 0031200 C K E T ) ) \r ( 006 002 r e 0031220 p l a c e 006 001 ( U D P U D P 0031240 S O U R C E P O R T ) 006 002 o f 0031260 006 001 U D P 006 002 w i t h 006 001 0031300 ( 006 002 f e t c h 006 001 ( I P S O 0031320 C K E T I P S O C K E T ) 006 0031340 002 o f 006 001 I P S O C K E T ) ) 0031360 \r ( 006 002 r e p l a c e 006 0031400 001 ( U D P U D P L E N G T H 0031420 ) 006 002 o f 006 001 U D P 006 002 w 0031440 i t h 006 001 \ U D P O V L E N ) 0031460 \r U D P ] ) \r \r ( 006 004 U 0031500 D P . A P P E N D . B Y T E 006 001 0031520 \r [ L A M B D A ( U D P 0031540 B Y T E ) 006 006 006 001 0031560 * 0031620 006 006 ( * e j s % : " 9 0031640 - F e b - 8 5 1 6 : 0 7 " ) 006 0031660 001 \r ( \ I P . A P P E N 0031700 D . B Y T E U D P B Y T E ) 0031720 \r ( 006 002 a d d 006 001 ( 006 0031740 002 f e t c h 006 001 ( U D P U D 0031760 P L E N G T H ) 006 002 o f 006 001 0032000 U D P ) \r 1 ] 0032020 ) \r \r ( 006 004 U D P . A P P E N D 0032040 . C E L L 006 001 \r [ L A M B D 0032060 A ( U D P C E L L ) 006 006 006 001 0032100 * 0032140 006 006 ( * e j 0032160 s % : " 9 - F e b - 8 5 1 0032200 6 : 0 6 " ) 006 001 \r ( \ I 0032220 P . A P P E N D . C E L L U D 0032240 P C E L L ) \r ( 006 002 a 0032260 d d 006 001 ( 006 002 f e t c h 006 001 0032300 ( U D P U D P L E N G T H ) 0032320 006 002 o f 006 001 U D P ) \r 0032340 B Y T E S P E R C E L 0032360 L ] ) \r \r ( 006 004 U D P . A P P E 0032400 N D . S T R I N G 006 001 \r [ L 0032420 A M B D A ( U D P S T R I N 0032440 G ) 006 006 006 001 0032460 0032500 006 006 ( 0032520 * e j s % : " 9 - F e b - 0032540 8 5 1 6 : 1 0 " ) 006 001 \r 0032560 ( O R ( S T R I N G P S T 0032600 R I N G ) \r ( S 0032620 E T Q S T R I N G ( M K S T 0032640 R I N G S T R I N G ) ) ) \r 0032660 ( \ I P . A P P E N D . S 0032700 T R I N G U D P S T R I N G 0032720 ) \r ( 006 002 a d d 006 001 ( 0032740 006 002 f e t c h 006 001 ( U D P U 0032760 D P L E N G T H ) 006 002 o f 006 001 0033000 U D P ) \r ( 0033020 N C H A R S S T R I N G ] ) \r 0033040 \r ( 006 004 U D P . A P P E N D . W 0033060 O R D 006 001 \r [ L A M B D A 0033100 ( U D P W O R D ) 006 006 006 001 0033120 * 0033160 006 006 ( * e j s % 0033200 : " 9 - F e b - 8 5 1 6 : 0033220 0 7 " ) 006 001 \r ( \ I P . 0033240 A P P E N D . W O R D U D P 0033260 W O R D ) \r ( 006 002 a d d 0033300 006 001 ( 006 002 f e t c h 006 001 ( U 0033320 D P U D P L E N G T H ) 006 002 0033340 o f 006 001 U D P ) \r 0033360 W O R D S P E R C E L L ] 0033400 ) \r \r ( 006 004 U D P . I N C R E M 0033420 E N T . L E N G T H 006 001 \r [ 0033440 L A M B D A ( U D P I N C R 0033460 E M E N T ) 006 006 006 001 0033500 0033520 006 006 0033540 ( * e j s % : " 1 2 - A p r 0033560 - 8 6 1 8 : 5 0 " ) 006 001 \r 0033600 ( 006 002 a d d 006 001 ( 006 002 f e 0033620 t c h 006 001 ( I P I P T O T A 0033640 L L E N G T H ) 006 002 o f 006 001 0033660 U D P ) \r I N 0033700 C R E M E N T ) \r ( 006 002 0033720 a d d 006 001 ( 006 002 f e t c h 006 001 0033740 ( U D P U D P L E N G T H ) 0033760 006 002 o f 006 001 U D P ) \r 0034000 I N C R E M E N T ) 0034020 \r I N C R E M E N T ] ) 0034040 \r ) \r \r ( A D D T O V A R 006 002 0034060 I P P R I N T M A C R O S 006 001 0034100 ( 1 7 . P R I N T U D P ) ) 0034120 \r ( U D P . I N I T ) \r ( P U T 0034140 P R O P S T C P U D P C O P 0034160 Y R I G H T ( " X e r o x C 0034200 o r p o r a t i o n " 1 9 8 5 0034220 1 9 8 6 1 9 8 7 ) ) \r ( D E 0034240 C L A R E % : D O N T C O P Y 0034260 \r ( F I L E M A P ( N I L 0034300 ( 2 1 6 1 7 6 6 0 ( U D P 0034320 . G E T . B Y T E 2 1 7 1 . 0034340 2 5 4 6 ) ( U D P . G E T . 0034360 C E L L 2 5 4 8 . 3 1 4 5 0034400 ) ( U D P . G E T . S T R I N 0034420 G 3 1 4 7 . \r 3 7 7 7 ) 0034440 ( U D P . G E T . W O R D 3 7 0034460 7 9 . 4 2 0 6 ) ( \ U D P 0034500 . F L U S H . S O C K E T . Q U 0034520 E U E 4 2 0 8 . 4 6 7 9 ) 0034540 ( \ U D P . P O R T C O M P A 0034560 R E 4 6 8 1 . 5 0 0 2 ) 0034600 \r ( \ U D P . C H E C K S U M 0034620 5 0 0 4 . 6 9 3 2 ) ( \ U 0034640 D P . S E T . C H E C K S U M 0034660 6 9 3 4 . 7 6 5 8 ) ) ( 7 0034700 6 9 7 1 4 3 7 0 ( P R I N T 0034720 U D P 7 7 0 7 . 8 3 4 4 ) 0034740 ( \r U D P . I N I T 8 3 4 6 0034760 . 8 6 8 7 ) ( U D P . S T 0035000 O P 8 6 8 9 . 8 8 4 0 ) 0035020 ( U D P . O P E N . S O C K E T 0035040 8 8 4 2 . 9 6 1 6 ) ( U 0035060 D P . C L O S E . S O C K E T 0035100 9 6 1 8 . \r 9 8 8 7 ) ( U 0035120 D P . S O C K E T . E V E N T 0035140 9 8 8 9 . 1 0 0 6 0 ) ( U 0035160 D P . S O C K E T . N U M B E R 0035200 1 0 0 6 2 . 1 0 2 3 4 ) 0035220 ( U D P . G E T 1 0 2 3 6 . 0035240 1 1 8 6 2 ) ( \r U D P . S E 0035260 N D 1 1 8 6 4 . 1 2 1 5 9 0035300 ) ( U D P . E X C H A N G E 0035320 1 2 1 6 1 . 1 2 5 9 3 ) ( 0035340 U D P . S E T U P 1 2 5 9 5 0035360 . 1 3 1 1 4 ) ( U D P . A P 0035400 P E N D . B Y T E 1 3 1 1 6 \r 0035420 . 1 3 3 2 9 ) ( U D P . A 0035440 P P E N D . C E L L 1 3 3 3 1 0035460 . 1 3 5 5 5 ) ( U D P . A 0035500 P P E N D . S T R I N G 1 3 5 0035520 5 7 . 1 3 8 5 5 ) ( U D P 0035540 . A P P E N D . W O R D 1 3 8 0035560 5 7 . \r 1 4 0 8 1 ) ( U D 0035600 P . I N C R E M E N T . L E N G 0035620 T H 1 4 0 8 3 . 1 4 3 6 8 0035640 ) ) ) ) ) \r S T O P \r 0035653