$ 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