$ od -c -N 50000 [_CD8_]<alto>EFTPPACKAGE.DM!2 0000000 377 \0 \0 P u p E F T P . d e c l \0 0000020 373 223 361 363 350 \0 \0 376 001 \0 251 L / / P 0000040 u p E F T P . d e c l - - D 0000060 e c l a r a t i o n s f o r 0000100 E F T P p a c k a g e \r / / 0000120 C o p y r i g h t X e r o x 0000140 C o r p o r a t i o n 1 9 7 9 0000160 \r \r / / L a s t m o d i f i 0000200 e d J u n e 3 , 1 9 7 9 0000220 1 1 : 5 8 A M b y T a f 0000240 t \r \r g e t " P u p 0 . d e c 0000260 l " \r g e t " P u p 1 . d e c 0000300 l " \r \r / / - - - - - - - - - - 0000320 - - - - - - - - - - - - - - - - * 0000420 - - \r s t r u c t u r e 376 001 \0 C 0000440 q E F T P S o c : \r / / - - - 0000460 - - - - - - - - - - - - - - - - * 0000560 - - - - - - - - - \r [ \r @ P u p 0000600 S o c \r S e q N u m w o r d \r 0000620 A b o r t P B I w o r d \t \t / 0000640 / p r o v i d e s a t e m 0000660 p o r a r y p o i n t e r t 0000700 o m o s t r e c e n t o n 0000720 e \r S o m e o n e E l s e W a i 0000740 t i n g w o r d \r T r a n s f 0000760 e r N o t S t a r t e d w o r 0001000 d \t / / t r u e w h i l e 0001020 f o r e i g n s o c k e t n 0001040 o 376 001 \0 223 ~ t c o m p l e t e 0001060 d \r c u r r e n t T i m e o u t 0001100 w o r d \t / / c u r r e n t 0001120 r e t r a n s m i s s i o n 0001140 t i m e o u t \r s t a r t T i m 0001160 e w o r d \t \t / / t i m e 0001200 a t w h i c h l a s t D a 0001220 t a w a s s e n t \r ] \r m a 0001240 n i f e s t l e n E F T P S o 0001260 c = s i z e E F T P S o c 0001300 / 1 6 \r \r / / - - - - - - - - - 0001320 - - - - - - - - - - - - - - - - * 0001420 - - - \r s t r u c t u r e B y 0001440 t e ^ 1 , 1 376 001 \0 365 l : b y t 0001460 e \r / / - - - - - - - - - - - - 0001500 - - - - - - - - - - - - - - - - * 0001600 \r \r / / - - - - - - - - - - - - 0001620 - - - - - - - - - - - - - - - - * 0001720 \r m a n i f e s t \r / / - - - - 0001740 - - - - - - - - - - - - - - - - * 0002040 - - - - - - - - \r [ \r 376 001 \0 224 - 0002060 / / W e l l - k n o w n s o 0002100 c k e t \r s o c k e t E F T P R 0002120 e c e i v e = 2 0 b \r \r / / 0002140 E F T P p r o t o c o l p 0002160 a c k e t t y p e s \r t y p e 0002200 E F T P D a t a = 3 0 b \r t 0002220 y p e E F T P A c k = 3 1 b 0002240 \r t y p e E F T P E n d = 3 0002260 2 b \r t y p e E F T P A b o r t 0002300 = 3 3 b \r \r / / R e t u r 0002320 n v a l u e s f r o m R e 0002340 c e i v e E F T P B l o c k a 0002360 n d S e n d E F T P B l o c k 0002400 \r E F T P E n d R e c e i v e d 0002420 = 0 \t / / t h a t i s , 0002440 a z e r o b y t e c o u 0002460 376 001 \0 255 ' n t \r E F T P T i m e 0002500 o u t = - 1 \r E F T P A b o 0002520 r t R e c e i v e d = - 2 \r 0002540 E F T P A b o r t S e n t = 0002560 - 3 \r E F T P R e s e t R e c e 0002600 i v e d = - 4 \r E F T P N o 0002620 t F i r s t S y n c h = - 5 0002640 \r \r / / S o m e r e t r a n 0002660 s m i s s i o n t i m e o u t 0002700 s i n u n i t s o f 1 0 0002720 m i l l i s e c o n d s \r s t 0002740 a r t i n g T i m e o u t = 0002760 1 0 0 \t / / ~ 1 s e c . \r m 0003000 a x T i m e o u t = 1 0 0 0 0003020 \t / / ~ 1 0 s e c . \r m i n 0003040 T i m e o u t = 5 \t \t / / 0003060 ~ 5 0 m 376 001 \0 373 032 s . \r d a l 0003100 l y T i m e o u t = 5 0 0 \t 0003120 / / ~ 5 s e c d a l l y 0003140 p e r i o d . \r l o n g B l o c 0003160 k T i m e o u t = 3 0 0 0 \t 0003200 / / ~ 3 0 s e c , f o r 0003220 a l o n g w a i t \r \r / / 0003240 A b o r t c o d e s , f o r 0003260 u s e w i t h i n a n E 0003300 F T P A b o r t p a c k e t \r 0003320 E x t e r n a l S e n d e r A b 0003340 o r t = 1 \r E x t e r n a l 0003360 R e c e i v e r A b o r t = 0003400 2 \r R e c e i v e r B u s y A b 0003420 o r t = 3 \r O u t O f S y n 0003440 c h A b o r t = 4 \r M i s c 0003460 A b o r t = 5 \r 376 \0 002 ] 017 ] 0003500 \r 377 \0 \0 P u p E F T P S e n d . 0003520 b r \0 373 231 274 250 251 \0 \0 376 001 \0 ` d 002 0003540 002 001 367 \0 \0 \0 017 \0 \0 \0 203 \0 \0 \0 214 \0 0003560 \0 001 345 \0 \0 001 366 \0 \0 \0 \0 \0 \0 \0 020 \0 0003600 @ \0 001 \r S e n d E F T P B l o c 0003620 k \0 @ \0 002 \v S e n d E F T P E n 0003640 d \0 A \0 003 016 S e n d E F T P P a 0003660 c k e t \0 \0 A \0 004 \n A g e T i m 0003700 e o u t \0 \0 \0 \0 \0 \b S e t T i m 0003720 e r \0 \0 \0 \0 \0 006 G e t P B I \0 \0 0003740 \0 \0 \0 \t M o v e B l o c k \0 \0 \0 0003760 \0 \v C o m p l e t e P u p \0 \0 \0 0004000 \0 005 B l o c k \0 \0 \0 \0 017 T i m e 0004020 r H a s E x p i r e d \0 \0 \0 \0 \a 0004040 D e q u e u e \0 \0 \0 \0 006 M u l t 0004060 E q \0 \0 \0 \0 \0 \n R e l e a s e P 0004100 B I \0 \0 \0 \0 \0 \r S e n d E F T P 0004120 A b o r t \0 \0 \0 \0 003 M a x \0 \0 376 0004140 001 \0 350 \0 \0 \0 003 M i n \0 004 \0 001 \0 001 0004160 \0 002 \0 035 \0 003 \0 E \0 004 001 $ 001 X 001 X 0004200 Z 001 \f 370 \0 017 \f 367 : 006 Z \v : \a Z \f 0004220 9 f Z \r 9 e Z 003 " 004 * 005 i b \0 005 0004240 B \b " \b 202 J 001 006 : 004 # \r 203 \0 : 004 0004260 C \r " \b 001 001 \f 366 Z 001 \f 370 \0 \r \f 367 0004300 375 \0 Z \t : 005 Z \n 9 M Z \v 9 L Z 003 0004320 " 004 255 \0 i F \0 005 202 K 001 003 205 \0 001 024 0004340 : 004 # \r 203 \0 : 004 C \r 375 \0 Z \t 375 \0 0004360 Z \n 9 8 Z \v 9 7 Z 003 " 004 255 \0 i 1 0004400 \0 005 204 \0 001 001 \f 366 Z 001 \f 370 \0 022 \f 367 0004420 " 004 9 G 346 \0 255 \0 i E \0 002 ! D 306 \0 0004440 * \a i @ \0 002 " 004 i I \0 001 B \n : 004 0004460 # \r : \n C \f " \n 9 B 346 \0 * 006 253 \0 0004500 252 220 J 003 * 005 i J \0 003 " 006 9 H 346 \0 0004520 B 003 " \n * \b i D \0 003 001 006 \0 030 \0 \b 0004540 \0 \0 \0 032 376 001 \0 226 001 \0 006 ! A 306 \0 : 0004560 004 + 021 i 032 \0 002 i G \0 \0 " \a 200 \r 001 0004600 \t ! 024 306 \0 i A \0 001 202 \r 001 003 204 \0 001 0004620 c ! . 306 \0 i 9 \0 001 202 \r 001 \b " 004 i 0004640 ] \0 001 001 \ \0 022 \0 \0 \0 \t " 004 9 346 0004660 \0 i W \0 001 B \n " \n 202 \f 001 004 001 335 \0 0004700 \0 \0 023 " 004 9 362 346 \0 * \n 9 K 356 \0 i 0004720 J \0 002 202 \f 001 \b " \n i K \0 001 001 315 \0 0004740 \0 \0 026 \0 \0 " 004 i 9 \0 001 001 Z \0 \v : 0004760 \n # \f : 004 ; \r 345 \f 001 \b " \n i 9 \0 0005000 001 " 006 001 c \0 \0 \0 \0 : \n # \f : 004 ; 0005020 \r 344 J 001 / \t 025 & Y o u r r e c 0005040 e i v e r h a s g o t t e n 0005060 o u t o f s y n c h . \0 342 0005100 \0 B 017 : \n Z 020 9 1 Z 003 " 004 ) / i 0005120 / \0 004 001 \t \f 355 \0 9 \0 \0 \f 355 \0 5 \0 0005140 \0 \0 021 \0 \0 " \n i 004 376 \0 356 302 k \0 001 0005160 ! " 001 . \0 \0 " \n i 376 \0 001 001 ' \f 355 0005200 \0 022 : 004 # 016 202 \r 001 005 : 004 # 016 i 363 0005220 \0 001 " \n : 004 C 016 204 P 001 032 " \n i 353 0005240 \0 001 001 024 : \n # \n 9 \t 347 \0 001 \b \0 \f 0005260 \0 004 \0 \0 377 375 \f 355 \0 \t \0 377 \f 351 \0 002 0005300 \0 033 377 340 \0 031 377 227 001 352 001 , 001 - \f 366 0005320 Z 001 \f 370 \0 \r \f 367 ! ) 306 \0 255 \0 i ' 0005340 \0 002 " 005 : 004 ; 022 345 \0 ) " \f 346 9 341 0005360 346 \0 B 005 : 004 # 021 ) 034 \f 343 J 006 9 026 0005400 Z \b ! 030 * 005 i 027 \0 002 212 \0 " \b i 024 0005420 \0 002 * 006 216 \0 242 \0 ) \v \f 347 : 004 C 021 0005440 \f 366 \f 355 377 , \f 355 377 004 \0 005 \0 222 \0 003 0005460 \0 \a 003 350 \0 \0 \0 \0 \0 020 \0 \0 \0 \0 \0 q 0005500 \0 353 001 R \0 236 \0 256 \0 260 \0 301 \0 302 \0 356 0005520 \0 360 \0 366 001 025 001 W 001 V \0 \0 377 \0 \0 P 0005540 u p E F T P R e c e i v e . b r 0005560 \0 373 231 274 250 314 \0 \0 376 001 \0 U / 002 002 002 0005600 g \0 \0 \0 017 \0 \0 \0 w \0 \0 \0 ~ \0 \0 002 0005620 X \0 \0 002 f \0 \0 \0 \0 \0 \0 \0 \r \0 @ \0 0005640 001 020 R e c e i v e E F T P B l o 0005660 c k \0 \0 @ \0 002 021 R e c e i v e E 0005700 F T P P a c k e t \0 A \0 003 \r A c 0005720 k E F T P P a c k e t \0 \0 \0 \0 \t 0005740 M o v e B l o c k \0 \0 \0 \0 \n R e 0005760 l e a s e P B I \0 \0 \0 \0 \0 \b S e 0006000 t T i m e r \0 \0 \0 \0 \0 005 B l o c 0006020 k \0 \0 \0 \0 017 T i m e r H a s E x 0006040 p i r e d \0 \0 \0 \0 \a D e q u e u 0006060 e \0 \0 \0 \0 006 M u l t E q \0 \0 \0 \0 0006100 \0 \r S e n d E F T P A b o r t \0 0006120 \0 \0 \0 006 G e t P B I \0 \0 \0 \0 \0 \v 0006140 C o m p l e t e P u p \0 003 \0 001 \0 0006160 001 \0 002 \0 1 \0 003 001 303 001 331 001 331 376 001 \0 0006200 275 [ Z 001 \f 370 \0 016 \f 367 375 \0 Z \a ! e 0006220 306 \0 B 003 " 004 * 006 i a \0 003 B \b " \b 0006240 202 J 001 030 " \a 9 [ 346 \0 * \b 253 \0 252 220 0006260 J 003 212 \0 " 005 i T \0 003 : \a 372 \r 001 \b 0006300 " \a i O \0 001 " \b 202 \f 001 002 001 337 " \b 0006320 001 \b " \b 9 O 345 \r 001 003 " \b 001 002 001 326 0006340 \f 366 Z 001 \f 370 \0 022 \f 367 \t 023 # Y o u 0006360 r s e n d e r h a s g o t 0006400 t e n o u t o f s y n c . 0006420 342 \0 B \a \t 025 & R e c e i v e r 0006440 b u s y , p l e a s e t r y 0006460 a g a i n l a t e r . \0 342 \0 0006500 B \b ! _ 306 \0 * 005 i ] \0 002 i \ \0 \0 0006520 " 005 200 \r 001 020 001 006 \0 \a \0 \0 \0 023 \0 \0 0006540 \0 \0 ! O 306 \0 i P \0 001 202 \r 001 004 204 \0 0006560 001 L 377 373 " 004 9 K 346 \0 i J \0 001 B \n 0006600 " \n 376 001 \0 a " 202 \f 001 002 001 343 : \n ; 0006620 \f Z \v : 004 ; 020 372 \r 001 > : \n # \n 9 0006640 _ 347 \0 9 ^ 345 \f 001 7 " \v 202 \f 001 4 : 0006660 004 # \b 9 U 347 \0 202 \r 001 025 : 004 # \b 9 0006700 O 347 \0 : \n + 020 9 K 357 \0 245 \f 001 $ : 0006720 004 # \b 9 G 347 300 : \n + 020 9 C 357 300 245 0006740 \f 001 032 205 \0 : 004 C 020 205 \0 : 004 C \r " 0006760 004 9 L 346 \0 * \n 9 J 356 \0 9 I Z 003 i 0007000 262 \0 003 001 \t \0 \t \0 \0 \0 \0 \0 \0 \f 355 \0 0007020 375 \0 \v \0 \0 " 004 9 9 346 \0 * \n 9 7 356 0007040 \0 9 6 Z 003 i R \0 003 202 \f 001 3 : \n # 0007060 \n 9 026 347 \0 9 025 345 \f 001 025 " \v 202 \f 001 0007100 022 : \b Z 017 : \n Z 020 9 A Z 003 " 004 ) 0007120 037 i O \0 004 204 \0 : 004 C 017 001 016 \0 377 \0 0007140 030 377 \0 : \a Z 017 : \n Z 020 9 0 Z 003 " 0007160 004 ) L i > \0 004 " \n i I \0 001 : 004 ; 0007200 020 372 \r 001 006 ! Q 376 001 \0 C 231 001 303 \0 \b 0007220 \0 020 \0 003 001 M : 004 # \r : \v 345 \0 202 220 0007240 202 \r 001 033 " \v 202 \r 001 \v : \a Z 017 : \n 0007260 Z 020 9 017 Z 003 " 004 ) + i 035 \0 004 " \n 0007300 i ( \0 001 " \v 202 \f 001 005 ! H 001 005 \0 \0 0007320 \0 \f ! E 001 001 001 236 001 C " 004 * \n i L 0007340 \0 002 " \v : 004 ; \r 345 \r 001 006 " \n i 021 0007360 \0 001 001 036 \0 \0 : 004 # \r 203 \0 : 004 C \r 0007400 " \n F 006 : \n # \t 9 C 345 \0 001 203 \0 004 0007420 \0 p " 004 * \n i 0 \0 002 " \n i 372 \0 001 0007440 " \v : 004 ; \r 345 \r 001 005 001 002 377 373 \f 355 0007460 377 023 : 004 # \r 203 \0 : 004 C \r ! 312 306 \0 0007500 ) I i I \0 002 i H \0 \0 ! 303 306 \0 i F 0007520 \0 001 202 \r 001 \a 205 \0 001 [ 377 374 377 375 \f 355 0007540 \0 > " 004 9 C 346 \0 i B \0 001 B \n " \n 0007560 202 \f 001 003 001 351 \0 \0 : \n # \n 9 9 347 \0 0007600 9 8 345 \r 001 006 " \n i 304 \0 001 376 \0 316 243 0007620 243 001 335 \0 026 : 004 # \r : \n ; \f 345 \f 001 0007640 006 " \n i 271 \0 001 205 \0 001 5 " 004 * \n i 0007660 346 \0 002 " \n i 260 \0 001 001 311 001 ( : 004 # 0007700 016 202 \r 001 005 : 004 # 016 i 246 \0 001 " \n : 0007720 004 C 016 204 P 001 037 001 364 \0 301 \0 302 001 027 \0 0007740 303 : \n # \n 9 \a 347 \0 001 \t \f 355 \0 023 \0 0007760 \v \0 307 \0 377 \0 032 \f 355 \0 \t \f 350 \0 033 \0 0010000 004 377 336 377 212 \0 003 377 l 001 001 " \n i 204 \0 0010020 001 001 221 \f 366 Z 001 \f 370 \0 \f \f 367 " 004 i 0010040 016 \0 001 B 006 : 005 # \f : 006 C \f 9 263 Z 0010060 003 " 006 ) 005 i 005 \0 003 \f 366 \0 \0 \0 031 \0 0010100 \0 \0 \r \0 \0 \0 m 001 v \0 o 001 C 001 245 001 0010120 246 001 250 001 261 001 " 001 5 001 326 001 330 \0 \0 377 0010140 \0 \0 P u p E F T P C o m m o n . 0010160 b r \0 373 231 274 250 352 \0 \0 376 001 \0 340 ) 002 0010200 002 001 % \0 \0 \0 017 \0 \0 \0 220 \0 \0 \0 233 \0 0010220 \0 001 024 \0 \0 001 $ \0 \0 \0 \0 \0 \0 \0 017 \0 0010240 \0 023 \b l E F T P S o c \0 \0 @ \0 0010260 001 017 I n i t E F T P P a c k a g 0010300 e \0 @ \0 002 \v O p e n E F T P S o 0010320 c \0 @ \0 003 \f C l o s e E F T P S 0010340 o c \0 \0 @ \0 004 \f G e t E F T P A 0010360 b o r t \0 \0 @ \0 005 \r S e n d E F 0010400 T P A b o r t \0 \0 \0 \0 \v D e f a 0010420 u l t A r g s \0 \0 \0 \0 004 Z e r o 0010440 \0 \0 \0 \0 \0 020 O p e n L e v e l 1 0010460 S o c k e t \0 \0 \0 \0 \0 \n R e l e 0010500 a s e P B I \0 \0 \0 \0 \0 021 C l o s 0010520 e L e v e l 1 S o c k e t \0 \0 \0 0010540 \0 006 G e t P B I \0 \0 \0 \0 \0 \v S e 0010560 t P u p D P o r t \0 \0 \0 \0 021 A 376 0010600 001 \0 032 + p p e n d S t r i n g T 0010620 o P u p \0 \0 \0 \0 \v C o m p l e t 0010640 e P u p \0 005 \0 002 \0 001 \0 003 \0 006 \0 004 0010660 \0 ' \0 005 \0 7 \0 006 \0 > \0 x \0 x Z 001 0010700 \f 370 \0 006 \f 367 \f 366 Z 001 \f 370 \0 016 \f 367 0010720 B \a ! ] 306 \0 375 \0 Z \v 375 \0 Z \f 9 X 0010740 Z 003 254 \0 i V \0 004 " 004 ) T i T \0 002 0010760 204 \0 : 004 C 020 ! P : 004 C 021 : 006 Z 003 0011000 " 004 * 005 i J \0 003 \f 366 Z 001 \f 370 \0 \b 0011020 \f 367 : 004 # 016 202 \r 001 005 : 004 # 016 i > 0011040 \0 001 " 004 i < \0 001 \f 366 Z 001 \f 370 \0 006 0011060 \f 367 : 004 # 016 \f 366 Z 001 \f 370 \0 017 \f 367 0011100 B \b " 004 i - \0 001 B \t " \b 9 * 344 J 0011120 001 \f : \a # \f : \t C \f " \a 9 # 346 \0 0011140 212 \0 " \t i \0 002 : 004 # \r : \t C \f 0011160 " 005 : \t C 023 : 006 Z 003 " \t ) 022 i 024 0011200 \0 003 " \t 376 \0 J 244 035 ) 022 i 022 \0 002 \f 0011220 366 \0 \a \0 \b \0 \0 \0 023 \0 \0 \0 d \0 \0 \0 0011240 \0 \0 \0 \0 \0 \0 003 \0 020 \0 \0 \0 \0 \0 033 \0 0011260 \0 \0 017 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0011300 j \0 l \0 n \0 o \0 p \0 q \0 t \0 u \0 0011320 w \0 \0 374 0011324