$ od -c -N 50000 [eris]<LispManual>IDfiles.im!3 0000000 { B e g i n S u b S e c F i 0000020 l e S y s t e m } \r { T i t l 0000040 e F i l e S y s t e m } \r { 0000060 T e x t \r \r \r T y p i c a l l y 0000100 , t h e m o s t m a c h i 0000120 n e - d e p e n d e n t p a r 0000140 t o f a n y c o m p u t e 0000160 r l a n g u a g e i m p l e 0000200 m e n t a t i o n i s t h e 0000220 I / O s y s t e m . R e 0000240 g a r d l e s s o f e f f o 0000260 r t s t o c r e a t e c o 0000300 n s i s t a n t i n t e r f a 0000320 c e s , t h e f a c t r e 0000340 m a i n s t h a t d i f f e 0000360 r e n t p h y s i c a l m a 0000400 c h i n e s o f f e r d i f 0000420 f e r e n t d i s k s , p r 0000440 i n t e r s , e t c . , a n 0000460 d l a n g u a g e s h a v e 0000500 t o b e e x t e n d e d 0000520 t o t a k e a d v a n t a g 0000540 e o f t h e s e . I n 0000560 t h e c a s e o f i m p l 0000600 e m e n t i n g I n t e r l i 0000620 s p o n t h e X e r o x 0000640 1 1 0 0 f a m i l y m a c h 0000660 i n e s , t h e b i g g e s 0000700 t c h a n g e w a s t h e 0000720 a d d i t i o n o f f a c 0000740 i l i t i e s f o r u s i n 0000760 g t h e h i g h - r e s o l 0001000 u t i o n d i s p l a y , d 0001020 e s c r i b e d e l s e w h e 0001040 r e . O t h e r c h a n g 0001060 e s h a v e h a d t o b 0001100 e m a d e t o a c c o m o 0001120 d a t e u s i n g f i l e s 0001140 o n a l o c a l d i s k 0001160 o r o n a f i l e s e 0001200 r v e r , a n d s e n d i n 0001220 g f i l e s t o r e m o t 0001240 e p r i n t e r s . E v e 0001260 r y e f f o r t h a s b e 0001300 e n m a d e t o k e e p 0001320 t h e s e i n t e r f a c e s 0001340 c o m p a t i b l e w i t h 0001360 I n t e r l i s p - 1 0 c o 0001400 n v e n t i o n s , t o r e 0001420 d u c e t h e a m o u n t 0001440 o f w o r k n e c e s s a r 0001460 y w h e n t r a n s f e r r 0001500 i n g p r o g r a m s . H 0001520 o w e v e r , i n s o m e 0001540 s i t u a t i o n s t h e u 0001560 s e r m a y w i s h t o 0001600 t a k e a d v a n t a g e o 0001620 f t h e s p e c i a l e x 0001640 t e n s i o n s o f f e r e d 0001660 b y I n t e r l i s p - D . 0001700 \r \r T h i s s e c t i o n c 0001720 o n t a i n s i n f o r m a t 0001740 i o n a b o u t a v a r i 0001760 e t y o f e x t e n s i o n 0002000 s t o I n t e r l i s p - D 0002020 t h a t a c c o m o d a t e 0002040 t h e d i f f e r e n t I 0002060 / O e n v i r o n m e n t . \r 0002100 \r \r { B e g i n S u b S e c 0002120 F i l e N a m e s } \r { T i t 0002140 l e F i l e N a m e s } \r { 0002160 T e x t \r \r " F u l l " f i l 0002200 e n a m e s i n s i d e o 0002220 f I n t e r l i s p - D l o 0002240 o k s i m i l a r t o T e 0002260 n e x / T o p s - 2 0 f i l e 0002300 n a m e s . F u l l f i l 0002320 e n a m e s b e g i n w i 0002340 t h a d e v i c e / h o s t 0002360 n a m e ( i n b r a c e s 0002400 ) t o i d e n t i f y t h 0002420 e m a c h i n e ( o r d e 0002440 v i c e ) o n w h i c h t 0002460 h e f i l e r e s i d e s . 0002500 F i l e s o n t h e l 0002520 o c a l d i s k b e l o n g 0002540 t o d e v i c e / h o s t 0002560 { l i s p D S K } , e . g . 0002600 , { l i s p { b r a c k e t 0002620 D S K } F O O . B A R ; 3 } . 0002640 F i l e s o n t h e 1 1 0002660 0 8 F l o p p y d i s k a 0002700 r e o n d e v i c e { l i 0002720 s p F L O P P Y } . \r \r { f n 0002740 P A C K F I L E N A M E } a 0002760 n d { f n U N P A C K F I L 0003000 E N A M E } a r e s t i l l 0003020 t h e a p p r o p r i a t e 0003040 w a y f o r p r o g r a m 0003060 s t o m a n i p u l a t e 0003100 f i l e n a m e s . T h e 0003120 d e v i c e / h o s t o f a 0003140 f i l e m a y b e a c c 0003160 e s s e d u s i n g t h e 0003200 n e w f i e l d n a m e { 0003220 l i s p H O S T } . \r \r X e r 0003240 o x 1 1 0 0 s a n d X e r 0003260 o x 1 1 3 2 s , h a v e s 0003300 e p a r a t e l y b o o t a b 0003320 l e " p a r t i t i o n s " . 0003340 I n t e r l i s p - D c a n 0003360 a c c e s s p a r t i t i o 0003400 n s o t h e r t h a n t h 0003420 e o n e w h i c h w a s 0003440 b o o t e d . I f t h e 0003460 o t h e r p a r t i t i o n 0003500 i s p a s s w o r d - p r o t 0003520 e c t e d , I n t e r l i s p 0003540 i n s i s t s o n t h e 0003560 c o r r e c t p a s s w o r d 0003600 b e f o r e a c c e s s i n 0003620 g a n y f i l e s . P a 0003640 r t i t i o n s a r e d e n 0003660 o t e d b y { l i s p { b 0003700 r a c k e t D S K 1 } } f o 0003720 r P a r t i t i o n 1 , 0003740 { l i s p { b r a c k e t D 0003760 S K 2 } } f o r P a r t i t 0004000 i o n 2 , e t c . { p a 0004020 c o m D I R } , { f n D I 0004040 R E C T O R Y } , e t c . a 0004060 l l w o r k f o r o t h e 0004100 r p a r t i t i o n s . \r \r } 0004120 { E n d S u b S e c F i l e 0004140 N a m e s } \r \r \r { B e g i n 0004160 S u b S e c R e n a m i n g 0004200 F i l e s } \r { T i t l e R 0004220 e n a m i n g F i l e s } \r { 0004240 T e x t \r \r I n t e r l i s p - 0004260 D i m p l e m e n t s { l i 0004300 s p ( R E N A M E F I L E { 0004320 a r g O L D } { a r g N E 0004340 W } ) } e v e n w h e n { 0004360 a r g O L D } a n d { a r 0004400 g N E W } a r e o n d i 0004420 f f e r e n t f i l e s e r 0004440 v e r s o r d e v i c e s . 0004460 I n t h i s c a s e , 0004500 i t m e r e l y c o p i e s 0004520 { a r g O L D } t o { a 0004540 r g N E W } a n d t h e n 0004560 d e l e t e s { a r g O L 0004600 D } . W h i l e t h i s 0004620 p r o c e d u r e i s q u i 0004640 t e g e n e r a l , i t c 0004660 a n b e u n n e c e s s a r 0004700 i l y s l o w w h e n r e 0004720 n a m i n g a f i l e t o 0004740 t h e s a m e d e v i c e 0004760 . E a c h i n d i v i d u 0005000 a l d e v i c e o r s e r 0005020 v e r p r o t o c o l c a n 0005040 i m p l e m e n t a d i r 0005060 e c t { l i s p R E N A M E 0005100 F I L E } o p e r a t i o n , 0005120 s p e e d i n g t h i s p 0005140 r o c e s s . C u r r e n t 0005160 l y , d i r e c t ( f a s t 0005200 ) { l i s p R E N A M E F I 0005220 L E } i s i m p l e m e n t 0005240 e d f o r P U P - F T P , 0005260 N S f i l i n g , t h e { 0005300 l i s p D S K } d e v i c e 0005320 , a n d t h e { l i s p 0005340 F L O P P Y } d e v i c e . \r 0005360 \r } { E n d S u b S e c R e 0005400 n a m i n g F i l e s } \r \r \r 0005420 { B e g i n S u b S e c E n 0005440 d O f L i n e C o n v e n 0005460 t i o n } \r { T i t l e E n d 0005500 O f L i n e C o n v e n t 0005520 i o n } \r { T e x t \r \r W h i l 0005540 e a l l v e r s i o n s o 0005560 f I n t e r l i s p u s e 0005600 A S C I I f o r i n t e r n 0005620 a l r e p r e s e n t a t i o 0005640 n o f a l p h a b e t i c 0005660 a n d n u m e r i c c h a r 0005700 a c t e r s , t h e r e a r 0005720 e s t i l l s o m e d i f 0005740 f e r e n c e s i n t h e 0005760 { i t e n d o f l i n e } 0006000 c o n v e n t i o n s . I n 0006020 I n t e r l i s p - D , e n 0006040 d o f l i n e i s r e p 0006060 r e s e n t e d i n t e r n a 0006100 l l y b y t h e c a r r i 0006120 a g e r e t u r n c h a r a 0006140 c t e r ( 1 5 Q ) , w h e r 0006160 e a s t h e i n t e r n a l 0006200 r e p r e s e n t a t i o n 0006220 i n I n t e r l i s p - 1 0 0006240 i s t h e { l i s p E O L 0006260 } c h a r a c t e r ( 3 7 Q 0006300 ) . T h e { f n C H A R 0006320 C O D E } m a c r o ( { P a 0006340 g e R e f F n C H A R C O D 0006360 E } ) i s t h e a p p r o 0006400 p r i a t e w a y t o c o 0006420 d e p r o g r a m s t o b 0006440 e i n d e p e n d e n t o f 0006460 t h e { l i s p E O L } 0006500 c o n v e n t i o n : i n a 0006520 l l s y s t e m s { l i s p 0006540 ( C H A R C O D E E O L ) } 0006560 i s a l w a y s t h e a 0006600 p p r o p r i a t e e n d - o 0006620 f - l i n e c h a r a c t e r 0006640 . { l i s p ( C H A R C O 0006660 D E C R ) } a n d { l i s 0006700 p ( C H A R C O D E T E N E 0006720 X E O L ) } p r o v i d e t 0006740 h e s y s t e m - d e p e n d 0006760 e n t c h a r a c t e r c o 0007000 d e s . \r \r } { E n d S u 0007020 b S e c E n d O f L i n e 0007040 C o n v e n t i o n } \r \r \r \r 0007060 \r { B e g i n S u b S e c U 0007100 s i n g F i l e s w i t h 0007120 P r o c e s s e s } \r { T i t l 0007140 e U s i n g F i l e s w i 0007160 t h P r o c e s s e s } \r { T 0007200 e x t \r \r C u r r e n t l y , 0007220 I n t e r l i s p - D d o e s 0007240 n o t p r o v i d e i n t 0007260 e r l o c k s t o k e e p 0007300 m u l t i p l e p r o c e s s 0007320 e s f r o m t r y i n g t 0007340 o a c c e s s t h e s a m 0007360 e f i l e . T h e r e f o 0007400 r e , t h e u s e r h a s 0007420 t o b e c a r e f u l n 0007440 o t t o h a v e t w o p 0007460 r o c e s s e s m a n i p u l 0007500 a t i n g t h e s a m e f 0007520 i l e a t t h e s a m e 0007540 t i m e . F o r e x a m p 0007560 l e , i t w i l l n o t 0007600 w o r k t o h a v e o n e 0007620 p r o c e s s { f n T C O 0007640 M P L } a f i l e w h i l 0007660 e a n o t h e r p r o c e s 0007700 s i s r u n n i n g { f n 0007720 L I S T F I L E S } o n i 0007740 t . \r \r } { E n d S u b S e c 0007760 U s i n g F i l e s w i t 0010000 h P r o c e s s e s } \r \r \r \r 0010020 \r \r { B e g i n S u b S e c 0010040 M i s c e l l a n e o u s F i 0010060 l e M a n i p u l a t i o n } 0010100 \r { T i t l e M i s c e l l a 0010120 n e o u s F i l e M a n i p 0010140 u l a t i o n } \r { T e x t \r \r 0010160 \r { F n D e f { N a m e C O 0010200 P Y F I L E } { A r g s F R 0010220 O M F I L E T O F I L E } \r { 0010240 T e x t \r C o p i e s a f i 0010260 l e t o a n e w f i l e 0010300 . T h e s o u r c e a n 0010320 d d e s t i n a t i o n m a 0010340 y b e a n y s e r v e r s 0010360 / d e v i c e s . { f n C 0010400 O P Y F I L E } a t t e m p t 0010420 s t o p r e s e r v e t h 0010440 e { l i s p T Y P E } a n 0010460 d { l i s p C R E A T I O N 0010500 D A T E } w h e r e p o s s 0010520 i b l e . \r } } \r \r { F n D e f 0010540 { N a m e D I S K F R E E P 0010560 A G E S } { A r g s { a n o 0010600 n a r g } { a n o n a r g } } 0010620 \r { T e x t \r R e t u r n s a 0010640 n e s t i m a t e o f t h 0010660 e n u m b e r o f p a g e 0010700 s f r e e o n t h e l o 0010720 c a l d i s k ( c u r r e n 0010740 t p a r t i t i o n ) . T 0010760 h i s n u m b e r i s o n 0011000 l y a " h i n t " , b u t 0011020 i s u s u a l l y q u i t 0011040 e a c c u r a t e . \r } } \r \r 0011060 \r { F n D e f { N a m e D I 0011100 S K P A R T I T I O N } { A r 0011120 g s } \r { T e x t \r R e t u r n 0011140 s t h e n u m b e r o f 0011160 t h e c u r r e n t p a r t 0011200 i t i o n ( 1 o r 2 o n 0011220 X e r o x 1 1 0 0 , 1 - 5 0011240 o n X e r o x 1 1 3 2 ) . 0011260 \r } } \r \r \r } { E n d S u b S 0011300 e c M i s c e l l a n e o u s 0011320 F i l e M a n i p u l a t i 0011340 o n } \r \r \r { B e g i n S u b 0011360 S e c C o n n e c t i n g t 0011400 o D i r e c t o r i e s } \r { 0011420 T i t l e C o n n e c t i n g 0011440 t o D i r e c t o r i e s } 0011460 \r { T e x t \r \r I n t e r l i s 0011500 p h a s a n o t i o n o 0011520 f a " c o n n e c t e d " 0011540 d i r e c t o r y , w h i c h 0011560 i s u s e d a s t h e 0011600 d e f a u l t w h e n y o u 0011620 g i v e a f i l e n a m e 0011640 l a c k i n g a n e x p l 0011660 i c i t d e v i c e / h o s t 0011700 ( a n d d i r e c t o r y ) 0011720 . T h e d e f a u l t i 0011740 s c h a n g e d b y u s i 0011760 n g t h e p r o g r a m m e 0012000 r ' s a s s i s t a n t c o 0012020 m m a n d { l i s p C O N N 0012040 } o r t h e f u n c t i o 0012060 n { l i s p C N D I R } . \r 0012100 \r \r { D e f { T y p e P A C 0012120 o m } \r { N a m e C O N N } \r 0012140 { A r g s d i r e c t o r y } 0012160 \r { N o P a r e n s } \r { T e x 0012200 t \r I n I n t e r l i s p - D 0012220 , { a r g d i r e c t o r y 0012240 } c a n b e o f t h e 0012260 f o r m { b r a c k e t { a 0012300 r g h o s t } } < { a r g d 0012320 i r e c t o r y } > . E i t h 0012340 e r p a r t o f t h e a 0012360 r g u m e n t i s o p t i o 0012400 n a l ; i f t h e d i r e 0012420 c t o r y i s o m i t t e d 0012440 , t h e d e f a u l t f o 0012460 r d e v i c e s t h a t h 0012500 a v e d i r e c t o r i e s 0012520 i s t h e v a l u e o f 0012540 { l i s p ( { f n U S E R N 0012560 A M E } ) } ; i f t h e h 0012600 o s t i s o m i t t e d , 0012620 c o n n e c t i o n w i l l 0012640 b e m a d e t o a n o t h 0012660 e r d i r e c t o r y o n 0012700 t h e s a m e h o s t a s 0012720 b e f o r e . I f { l i 0012740 s p C O N N } i s g i v e 0012760 n w i t h n o a r g u m e 0013000 n t s , c o n n e c t s t o 0013020 t h e v a l u e o f { v 0013040 a r L O G I N H O S T / D I R 0013060 } . \r \r N o t e t h a t { l 0013100 i s p C O N N } d o e s n 0013120 o t r e q u i r e o r p r 0013140 o v i d e a n y d i r e c t 0013160 o r y a c c e s s p r i v i 0013200 l e g e s , a s d o e s t 0013220 h e c o m m a n d o f t h 0013240 e s a m e n a m e i n I 0013260 n t e r l i s p - 1 0 . A c 0013300 c e s s p r i v i l e g e s 0013320 a r e c h e c k e d w h e n 0013340 a f i l e i s o p e n e 0013360 d . \r } } \r \r \r { F n D e f { 0013400 N a m e C N D I R } { A r g 0013420 s H O S T / D I R } \r { T e x 0013440 t \r P r o g r a m m a t i c f 0013460 o r m o f { l i s p C O N 0013500 N } . \r C o n n e c t s t o 0013520 t h e d i r e c t o r y { a 0013540 r g H O S T / D I R } . \r R e 0013560 t u r n s t h e f u l l n a 0013600 m e o f t h e n o w - c o 0013620 n n e c t e d d i r e c t o r 0013640 y . \r } } \r \r \r { F n D e f { 0013660 N a m e / C N D I R } { A r 0013700 g s H O S T / D I R } \r { T e 0013720 x t \r U n d o a b l e f o r m 0013740 o f { f n C N D I R } . \r 0013760 { l i s p C O N N } i s i 0014000 m p l e m e n t e d v i a { 0014020 f n / C N D I R } . \r } } \r \r 0014040 \r { V a r D e f { N a m e L 0014060 O G I N H O S T / D I R } \r { T 0014100 e x t \r { l i s p C O N N } 0014120 w i t h n o a r g u m e n t 0014140 c o n n e c t s t o t h e 0014160 v a l u e o f t h e v a 0014200 r i a b l e { v a r L O G I 0014220 N H O S T / D I R } , i n i t 0014240 i a l l y { l i s p { b r a 0014260 c k e t D S K } } , b u t 0014300 u s u a l l y r e s e t i n 0014320 t h e u s e r ' s g r e e 0014340 t i n g f i l e . \r } } \r \r \r 0014360 { F n D e f { N a m e D I R 0014400 E C T O R Y N A M E } { A r g 0014420 s F L G S T R P T R } \r { T 0014440 e x t \r I f { a r g F L G } 0014460 i s { l i s p T } , r e 0014500 t u r n s t h e c u r r e n 0014520 t l y c o n n e c t e d h o 0014540 s t a n d d i r e c t o r y 0014560 n a m e . I f { a r g 0014600 F L G } i s { l i s p N I 0014620 L } , r e t u r n s t h e 0014640 v a l u e o f { v a r L O 0014660 G I N H O S T / D I R } . I 0014700 f { a r g S T R P T R } i 0014720 s { l i s p T } , t h e 0014740 v a l u e i s r e t u r n e 0014760 d a s a n a t o m , o t 0015000 h e r w i s e i t i s r e 0015020 t u r n e d a s a s t r i 0015040 n g . \r } } \r \r { F n D e f { 0015060 N a m e D I R E C T O R Y N A 0015100 M E P } { A r g s D I R N A 0015120 M E H O S T N A M E } \r { T e 0015140 x t \r R e t u r n s { l i s p 0015160 T } i f { a r g D I R N 0015200 A M E } i s r e c o g n i z 0015220 e d a s a v a l i d d i 0015240 r e c t o r y . { a r g D 0015260 I R N A M E } m a y i n c l 0015300 u d e a n e x p l i c i t 0015320 h o s t n a m e . } } \r \r \r 0015340 \r { V a r D e f { N a m e D 0015360 I R E C T O R I E S } \r { T e x 0015400 t \r G l o b a l v a r i a b l 0015420 e c o n t a i n i n g t h e 0015440 l i s t o f d i r e c t o 0015460 r i e s s e a r c h e d ( i 0015500 n o r d e r ) b y { f n 0015520 S P E L L F I L E } a n d { 0015540 f n F I N D F I L E } ( { P 0015560 a g e R e f F n S P E L L F 0015600 I L E } ) w h e n n o t g 0015620 i v e n a n e x p l i c i t 0015640 { a r g D I R L S T } a r 0015660 g u m e n t . I n t h i s 0015700 l i s t , t h e a t o m 0015720 { l i s p N I L } s t a n d 0015740 s f o r t h e l o g i n 0015760 d i r e c t o r y ( { v a r 0016000 L O G I N H O S T / D I R } ) , 0016020 a n d t h e a t o m { l 0016040 i s p T } s t a n d s f o 0016060 r t h e c u r r e n t l y 0016100 c o n n e c t e d d i r e c t 0016120 o r y . \r \r { n o t e C h e c 0016140 k t h i s . T r u e ? 0016160 s h o u l d w e d o c u m e 0016200 n t t h i s h e r e ? } \r } 0016220 } \r \r \r } { E n d S u b S e c 0016240 C o n n e c t i n g t o D 0016260 i r e c t o r i e s } \r \r \r \r \r 0016300 { B e g i n S u b S e c S t 0016320 r e a m s } \r { T i t l e S t 0016340 r e a m s } \r { T e x t \r \r I n 0016360 I n t e r l i s p - D , t h 0016400 e b a s i c h a n d l e o 0016420 n a n o p e n f i l e i 0016440 s a d a t a t y p e c a l 0016460 l e d a { l i s p S T R E 0016500 A M } , { i n d e x S T R E A 0016520 M ( d a t a t y p e ) } w h 0016540 o s e b a s i c o p e r a t 0016560 i o n s a r e " i n p u t " 0016600 a n d " o u t p u t " . 0016620 A l l I / O f u n c t i o n 0016640 s ( e . g . , { f n P R I 0016660 N T } , { f n P R I N 1 } , 0016700 { f n C O P Y B Y T E S } , 0016720 { f n F U L L N A M E } ) 0016740 a c c e p t s t r e a m s , 0016760 a n d a n y o t h e r a r 0017000 g u m e n t s ( e . g . f i 0017020 l e n a m e s , { l i s p 0017040 N I L } , { l i s p T } ) 0017060 a r e f i r s t c o e r c e 0017100 d t o s t r e a m s b e f 0017120 o r e a n y o t h e r a c 0017140 t i o n i s t a k e n . 0017160 T h u s I / O f u n c t i o 0017200 n s w i l l o p e r a t e 0017220 m o r e e f f i c i e n t l y 0017240 i f g i v e n s t r e a m 0017260 s d i r e c t l y . T h e 0017300 f o l l o w i n g f u n c t 0017320 i o n s p r o v i d e u s e 0017340 r a c c e s s t o s t r e 0017360 a m s : \r \r \r { F n D e f { F 0017400 n N a m e O P E N S T R E A M 0017420 } { F n A r g s F I L E A 0017440 C C E S S R E C O G B Y T E 0017460 S I Z E M A C H I N E . D E P 0017500 E N D E N T . P A R A M E T E R 0017520 S } \r { T e x t \r O p e n s a 0017540 n d r e t u r n s a { l i 0017560 s p S T R E A M } f o r { 0017600 a r g F I L E } , i n t e r 0017620 p r e t i n g t h e o t h e 0017640 r a r g u m e n t s i n t 0017660 h e s a m e m a n n e r a 0017700 s { f n O P E N F I L E } 0017720 ( { P a g e R e f F n O P E 0017740 N F I L E } ) . \r } } \r \r \r { F 0017760 n D e f { N a m e G E T S T 0020000 R E A M } { A r g s F I L E 0020020 A C C E S S } \r { T e x t \r T 0020040 a k e s a d e s i g n a t o 0020060 r w h i c h c a n b e u 0020100 s e d a s a " f i l e " 0020120 a r g u m e n t f o r a f 0020140 i l e a l r e a d y o p e n 0020160 f o r { a r g A C C E S S 0020200 } ( e . g . , a f u l l / 0020220 p a r t i a l f i l e n a m 0020240 e , { l i s p N I L } , a 0020260 w i n d o w , e t c . ) a 0020300 n d r e t u r n s t h e c 0020320 o r r e s p o n d i n g s t r 0020340 e a m . I f { a r g F I 0020360 L E } i s a s t r e a m , 0020400 i t i s s i m p l y r e 0020420 t u r n e d . { a r g A C 0020440 C E S S } i s i n t e r p r 0020460 e t e d t h e s a m e a s 0020500 i n { f n O P E N P } ( 0020520 { P a g e R e f F n O P E N 0020540 P } ) . \r } } \r \r \r { F n D e f 0020560 { N a m e S T R E A M P } 0020600 { A r g s X } \r { T e x t \r R 0020620 e t u r n s { a r g X } i 0020640 f { a r g X } i s a { 0020660 l i s p S T R E A M } , o t 0020700 h e r w i s e { l i s p N I 0020720 L } . \r } } \r \r \r T h e f o l 0020740 l o w i n g t w o f u n c t 0020760 i o n s p r o v i d e t h e 0021000 m o s t p r i m i t i v e 0021020 b i n a r y i n p u t a n d 0021040 o u t p u t o n s t r e a 0021060 m s : \r \r { F n D e f { N a m 0021100 e B I N } { A r g s S T R 0021120 E A M } \r { T e x t \r R e t u r 0021140 n s t h e n e x t b y t e 0021160 f r o m { a r g S T R E A 0021200 M } ; t h u s , t h i s o 0021220 p e r a t i o n i s s i m i 0021240 l a r t o { l i s p ( C H 0021260 C O N 1 ( R E A D C { a r g 0021300 S T R E A M } ) ) } . D e 0021320 p e n d i n g o n t h e k 0021340 i n d o f s t r e a m , { 0021360 f n B I N } m a y b e a 0021400 m i c r o c o d e d o p e r 0021420 a t i o n . \r } } \r \r \r { F n D 0021440 e f { N a m e B O U T } { 0021460 A r g s S T R E A M B Y T E 0021500 } \r { T e x t \r O u t p u t s 0021520 a s i n g l e 8 - b i t b 0021540 y t e t o { a r g S T R E 0021560 A M } , i . e . , s i m i l 0021600 a r t o { l i s p ( P R I 0021620 N 3 ( C H A R A C T E R { a 0021640 r g B Y T E } ) ) } . \r } } 0021660 \r \r \r { f n B I N } a n d 0021700 { f n B O U T } w i l l a 0021720 l s o a c c e p t a f i l 0021740 e d e s i g n a t o r , i n 0021760 w h i c h c a s e t h e y 0022000 c o e r c e i t t o a 0022020 s t r e a m v i a { f n G 0022040 E T S T R E A M } . H o w e 0022060 v e r , { f n B I N } e x 0022100 e c u t e s i n m i c r o c 0022120 o d e o n l y w h e n g i 0022140 v e n a s t r e a m d i r 0022160 e c t l y . \r \t \r { B e g i n 0022200 N o t e } \r d o c u m e n t D 0022220 F O R 1 0 ? \r \r [ W a r n i n g 0022240 : t h e s e f u n c t i o n 0022260 s a r e c u r r e n t l y 0022300 n o t s u p p o r t e d i n 0022320 I n t e r l i s p - 1 0 . A 0022340 c o m p a t i b i l i t y p 0022360 a c k a g e f o r I n t e r 0022400 l i s p - 1 0 i s p l a n n 0022420 e d b u t n o t y e t a 0022440 v a i l a b l e . P l e a s e 0022460 c o n t a c t t h e I n t 0022500 e r l i s p - D m a i n t a i 0022520 n e r s i f y o u h a v e 0022540 r e q u i r e m e n t s t o 0022560 t r a n s p o r t c o d e 0022600 w h i c h u s e s b i n a r 0022620 y I / O t o I n t e r l i 0022640 s p - 1 0 . ] \r { E n d N o t 0022660 e } \r \r \r } { E n d S u b S e 0022700 c S t r e a m s } \r \r \r \r \r { 0022720 B e g i n S u b S e c T e m 0022740 p o r a r y F i l e s a n d 0022760 t h e C O R E D e v i c e 0023000 } \r { T i t l e T e m p o r a 0023020 r y F i l e s a n d t h e 0023040 C O R E D e v i c e } \r { T 0023060 e x t \r \r T h e l o c a l { 0023100 l i s p D S K } d e v i c e 0023120 a n d m o s t f i l e s 0023140 e r v e r s d o n o t s u 0023160 p p o r t t h e t e m p o r 0023200 a r y o r s c r a t c h f 0023220 i l e s t h a t a r e a v 0023240 a i l a b l e i n I n t e r 0023260 l i s p - 1 0 . F i l e s 0023300 t h a t a r e c r e a t e d 0023320 d o n o t d i s a p p e a 0023340 r w h e n s o m e l a t e 0023360 r e v e n t s u c h a s 0023400 l o g o u t o c c u r s a n 0023420 d i n s t e a d m u s t b 0023440 e d e l e t e d b y s p e 0023460 c i f i c a c t i o n o n 0023500 t h e p a r t o f t h e 0023520 u s e r . F o r t h i s 0023540 r e a s o n , t h e { l i s 0023560 p ; S } a n d { l i s p 0023600 ; T } s u f f i x e s i n 0023620 f i l e n a m e s a r e s 0023640 i m p l y i g n o r e d w h 0023660 e n o u t p u t i s d i r 0023700 e c t e d t o a p a r t i 0023720 c u l a r h o s t o r d e 0023740 v i c e . \r \r H o w e v e r , 0023760 I n t e r l i s p - D d o e s 0024000 s u p p o r t a n o t i o 0024020 n o f c o r e - r e s i d e 0024040 n t f i l e s , a n d i n 0024060 m a n y c a s e s t h e s 0024100 e p r o v i d e a r e a s 0024120 o n a b l e s u b s t i t u t 0024140 e f o r I n t e r l i s p - 0024160 1 0 s c r a t c h f i l e s 0024200 . C o r e - r e s i d e n t 0024220 f i l e s a r e o n t h 0024240 e d e v i c e { l i s p C 0024260 O R E } { i n d e x C O R E 0024300 ( c o r e d e v i c e ) } ( 0024320 e . g . { l i s p { b r a c 0024340 k e t C O R E } < F O O > F I 0024360 E . D C O M ; 5 ) } . T h e 0024400 d i r e c t o r y f o r t 0024420 h i s d e v i c e a n d a 0024440 l l f i l e s o n i t a 0024460 r e r e p r e s e n t e d c 0024500 o m p l e t e l y w i t h i n 0024520 t h e u s e r ' s v i r t 0024540 u a l m e m o r y . T h e 0024560 s e f i l e s a r e t r e 0024600 a t e d a s o r d i n a r y 0024620 f i l e s b y a l l f i 0024640 l e o p e r a t i o n s ; t 0024660 h e i r o n l y d i s t i n 0024700 g u i s h i n g f e a t u r e 0024720 i s t h a t a l l t r a 0024740 c e o f t h e m d i s a p 0024760 p e a r s w h e n t h e v 0025000 i r t u a l m e m o r y i s 0025020 a b a n d o n e d . \r \r { n o 0025040 t e i s t h e v m e m s 0025060 p a c e r e c l a i m e d i 0025100 f a c o r e - r e s i d e n 0025120 t f i l e i s d e l e t e 0025140 d ? ( y e s - R o n ) } \r 0025160 \r I n I n t e r l i s p - D , 0025200 t h e f u n c t i o n { f 0025220 n P A C K F I L E N A M E } 0025240 i s d e f i n e d t o d e 0025260 f a u l t t h e d e v i c e 0025300 n a m e t o { l i s p C 0025320 O R E } i f t h e f i l e 0025340 h a s t h e { l i s p T 0025360 E M P O R A R Y } a t t r i b 0025400 u t e a n d n o e x p l i 0025420 c i t h o s t i s p r o v 0025440 i d e d . \r \r I n t e r l i s p 0025460 - D i s i n i t i a l i z e 0025500 d w i t h t h e s i n g l 0025520 e c o r e - r e s i d e n t 0025540 d e v i c e { l i s p C O R 0025560 E } , b u t t h e f u n c 0025600 t i o n { f n C O R E D E V 0025620 I C E } m a y b e u s e d 0025640 t o c r e a t e a n y n 0025660 u m b e r o f l o g i c a l 0025700 l y d i s t i n c t c o r e 0025720 d e v i c e s . \r \r { F n D e 0025740 f { N a m e C O R E D E V I 0025760 C E } { A r g s N A M E } \r 0026000 { T e x t \r C r e a t e s a 0026020 n e w d e v i c e f o r c 0026040 o r e - r e s i d e n t f i l 0026060 e s a n d a s s i g n s { 0026100 a r g N A M E } a s i t s 0026120 d e v i c e n a m e . T 0026140 h u s , a f t e r p e r f o 0026160 r m i n g { l i s p ( C O R 0026200 E D E V I C E ' F O O ) } , 0026220 o n e c a n e x e c u t e 0026240 { l i s p ( O U T F I L E ' 0026260 { b r a c k e t F O O } B A R 0026300 ) } t o o p e n a f i l 0026320 e o n t h a t d e v i c e 0026340 . \r } } \r \r \r I f t h e d i 0026360 r e c t o r y i n f o r m a t 0026400 i o n a s s o c i a t e d w 0026420 i t h { l i s p C O R E } 0026440 d e v i c e s i s n o t n 0026460 e e d e d , t h e d e v i c 0026500 e { l i s p N O D I R C O R 0026520 E } { i n d e x N O D I R C O 0026540 R E ( c o r e d e v i c e ) 0026560 } c a n b e u s e d t o 0026600 o p e n c o r e - r e s i d 0026620 e n t f i l e s w h i c h 0026640 " d i s a p p e a r " w h e n 0026660 t h e y a r e c l o s e d 0026700 . N o t e t h a t { l i 0026720 s p { b r a c k e t N O D I 0026740 R C O R E } } f i l e s d o 0026760 n o t h a v e n a m e s , 0027000 s o t h e o n l y w a y 0027020 t o m a n i p u l a t e t 0027040 h e m i s t o p a s s a 0027060 r o u n d t h e v a l u e 0027100 t h a t { f n O P E N F I L 0027120 E } r e t u r n e d w h e n 0027140 t h e f i l e w a s o p 0027160 e n e d . \r \r { n o t e h o w 0027200 t o c r e a t e n e w d 0027220 e v i c e s t r u c t u r e s 0027240 ? d o c u m e n t ? } \r \r } 0027260 { E n d S u b S e c T e m p 0027300 o r a r y F i l e s a n d 0027320 t h e C O R E D e v i c e } 0027340 \r \r \r \r { B e g i n S u b S e 0027360 c F l o p p y D i s k s o 0027400 n t h e X e r o x 1 1 0 8 0027420 } \r { T i t l e F l o p p y 0027440 D i s k s o n t h e X e r 0027460 o x 1 1 0 8 } \r { T e x t \r \r 0027500 { i n d e x F L O P P Y ( F 0027520 i l e D e v i c e ) } \r \r I n 0027540 t e r l i s p - D o n t h e 0027560 X e r o x 1 1 0 8 c a n 0027600 a c c e s s t h e b u i l t 0027620 - i n f l o p p y d i s k 0027640 d r i v e a s d e v i c e 0027660 { l i s p { b r a c k e t F 0027700 L O P P Y } } . T h e f l 0027720 o p p y d e v i c e s u p p 0027740 o r t s r a n d o m a c c e 0027760 s s ( { l i s p S E T F I L 0030000 E P T R } ) , m u l t i p l e 0030020 v e r s i o n s , a n d a 0030040 l l o t h e r I n t e r l i 0030060 s p f i l e a c c e s s p 0030100 r i m i t i v e s . E a c h 0030120 d o u b l e - s i d e d d o u 0030140 b l e - d e n s i t y 8 - i n 0030160 c h d i s k e t t e h o l d 0030200 s a p p r o x i m a t e l y 0030220 1 M B y t e o f s t o r a 0030240 g e . \r \r { F n D e f { N a m 0030260 e F L O P P Y . F O R M A T } 0030300 { A r g s N A M E } \r { T e 0030320 x t \r { f n F L O P P Y . F O 0030340 R M A T } i s u s e d t o 0030360 f o r m a t a f l o p p y 0030400 d i s k s o t h a t I n 0030420 t e r l i s p c a n u s e 0030440 i t . T o u s e , p l a 0030460 c e a n 8 " d o u b l e 0030500 s i d e d / d o u b l e d e n 0030520 s i t y s o f t - s e c t o r 0030540 e d f l o p p y d i s k i 0030560 n t o t h e X e r o x 1 1 0030600 0 8 f l o p p y d r i v e 0030620 a n d c l o s e t h e d r 0030640 i v e d o o r . T h e n , 0030660 c a l l { l i s p F L O P 0030700 P Y . F O R M A T } , p a s s 0030720 i n g i t { a r g N A M E 0030740 } , a l i t a t o m o r 0030760 s t r i n g w h i c h w i l 0031000 l b e c o m e t h e n a m 0031020 e o f t h e f l o p p y . 0031040 T h e f u n c t i o n { 0031060 f n F L O P P Y . F O R M A T 0031100 } i n i t i a l i z e s t h 0031120 e f l o p p y , e r a s i n 0031140 g a n y o l d i n f o r m 0031160 a t i o n o n t h e d i s 0031200 k . \r } } \r \r } { E n d S u b 0031220 S e c F l o p p y D i s k s 0031240 o n t h e X e r o x 1 1 0031260 0 8 } \r \r \r } { E n d S u b S 0031300 e c F i l e S y s t e m } \r 0031320 \r \r \r { B e g i n S u b S e c 0031340 F i l e S e r v e r s } \r { 0031360 T i t l e F i l e S e r v e 0031400 r s } \r { T e x t \r \r A f i l 0031420 e s e r v e r i s a s h 0031440 a r e d r e s o u r c e o n 0031460 a l o c a l c o m m u n i 0031500 c a t i o n s n e t w o r k 0031520 w h i c h p r o v i d e s l 0031540 a r g e a m o u n t s o f 0031560 f i l e s t o r a g e . D 0031600 i f f e r e n t f i l e s e 0031620 r v e r s h o n o r a v a 0031640 r i e t y o f a c c e s s 0031660 p r o t o c o l s . I n t e r 0031700 l i s p - D s u p p o r t s 0031720 t h r e e s u c h p r o t o 0031740 c o l s , k n o w n r e s p 0031760 e c t i v e l y a s P U P - 0032000 F T P , P U P - L e a f , a 0032020 n d N S F i l i n g . \r \r L 0032040 e a f i s a r a n d o m 0032060 a c c e s s p r o t o c o l . 0032100 I t h a s b e e n i n 0032120 t e g r a t e d i n t o t h 0032140 e I n t e r l i s p - D f i 0032160 l e s y s t e m t o a l l 0032200 o w f i l e s o n a f i 0032220 l e s e r v e r t o b e 0032240 t r e a t e d i n m u c h 0032260 t h e s a m e w a y f i l 0032300 e s a r e a c c e s s e d 0032320 o n t h e l o c a l d i s 0032340 k . E x c e p t w h e r e 0032360 n o t e d i n t h i s s 0032400 e c t i o n , t h e s t a n 0032420 d a r d f i l e o p e r a t 0032440 i o n s ( { f n O P E N F I 0032460 L E } , { f n I N F I L E P 0032500 } , { f n C L O S E F } , 0032520 e t c . ) a l l w o r k f 0032540 o r r e m o t e f i l e s . 0032560 T h i s s e c t i o n e 0032600 x p l a i n s h o w t o m 0032620 a k e u s e o f r e m o t 0032640 e f i l e s a n d w h a t 0032660 d i f f e r e n c e s e x i 0032700 s t b e t w e e n t h e m 0032720 a n d o t h e r f i l e s . 0032740 \r \r \r { B e g i n S u b S e c 0032760 F i l e S e r v e r F i l 0033000 e N a m e s } \r { T i t l e 0033020 F i l e S e r v e r F i l e 0033040 N a m e s } \r { T e x t \r \r T 0033060 h e f u l l n a m e o f 0033100 a f i l e o n a f i l e 0033120 s e r v e r h o s t i n c 0033140 l u d e s t h e n a m e o 0033160 f t h e h o s t i n b r 0033200 a c e s , a n d a d i r e 0033220 c t o r y s p e c i f i c a t 0033240 i o n i n a n g l e b r a 0033260 c k e t s , e . g . , { l i 0033300 s p { b r a c k e t P H Y L 0033320 U M } < L I S P > F O O . D C O 0033340 M ; 3 } . T h e s e n a m 0033360 e s a r e n o t n e c e s 0033400 s a r i l y t h e s y n t a 0033420 x b y w h i c h t h e a 0033440 c t u a l d e v i c e / s e r 0033460 v e r k n o w s t h e f i 0033500 l e s ( e . g . s o m e f 0033520 i l e s e r v e r s u s e 0033540 " { l i s p ! } " i n s t e 0033560 a d o f " { l i s p ; } " 0033600 ) , b u t L i s p p r e s 0033620 e n t s a u n i f o r m s 0033640 e t o f n a m i n g c o n 0033660 v e n t i o n s . \r \r T h e u 0033700 s e r c a n " c o n n e c t 0033720 " t o a d i r e c t o r y 0033740 o n a f i l e s e r v e 0033760 r u s i n g t h e { p a c 0034000 o m C O N N } c o m m a n d 0034020 ( { P a g e R e f P A C o m 0034040 C O N N } ) , a f t e r w 0034060 h i c h a n y f i l e n a m 0034100 e s u p p l i e d t h a t 0034120 d o e s n o t i n c l u d e 0034140 t h e h o s t n a m e a 0034160 n d / o r d i r e c t o r y 0034200 w i l l u s e t h e " c o 0034220 n n e c t e d " h o s t a n 0034240 d / o r d i r e c t o r y . 0034260 S p e c i f i c a l l y , i 0034300 f t h e h o s t i s o m 0034320 i t t e d , t h e n t h e 0034340 c o n n e c t e d h o s t i 0034360 s u s e d , a n d i f t 0034400 h e d i r e c t o r y i s 0034420 a l s o o m i t t e d , t h 0034440 e c o n n e c t e d d i r e 0034460 c t o r y i s u s e d a s 0034500 w e l l . I f a n e x 0034520 p l i c i t h o s t i s s 0034540 u p p l i e d , n o d e f a 0034560 u l t i n g o f t h e d i 0034600 r e c t o r y o c c u r s . 0034620 \r \r I n t e r l i s p s u p p 0034640 o r t s f i l e a c c e s s 0034660 t o X e r o x 8 0 3 x f 0034700 i l e s e r v e r s , u s i 0034720 n g t h e F i l i n g P r 0034740 o t o c o l b u i l t o n 0034760 X e r o x N e t w o r k S y 0035000 s t e m s p r o t o c o l s . 0035020 F r o m i n s i d e I n 0035040 t e r l i s p - D , o n e a 0035060 c c e s s e s f i l e s o n 0035100 N S s e r v e r s s i m i 0035120 l a r l y t o P U P s e r 0035140 v e r s : a n y d e v i c e 0035160 w i t h a c o l o n i n 0035200 i t s n a m e i s p r e 0035220 s u m e d t o b e a c c e 0035240 s s i b l e w i t h N S p 0035260 r o t o c o l s r a t h e r 0035300 t h a n P U P , e . g . , 0035320 { l i s p { b r a c k e t S 0035340 T A R F I L E : } } . T h e 0035360 g e n e r a l f o r m a t 0035400 o f N S f i l e s e r v e r 0035420 d e v i c e n a m e s i s 0035440 { l i s p { b r a c k e t 0035460 { a r g S E R V E R N A M E } 0035500 : { a r g D O M A I N } : { a 0035520 r g O R G A N I Z A T I O N } 0035540 } } ; t h e d e v i c e 0035560 s p e c i f i c a t i o n f o 0035600 r a n 8 0 0 0 - s e r i e s 0035620 p r o d u c t m u s t c o 0035640 n t a i n t h e C l e a r i 0035660 n g H o u s e d o m a i n a 0035700 n d o r g a n i z a t i o n . 0035720 I f d o m a i n a n d o 0035740 r g a n i z a t i o n a r e 0035760 n o t s u p p l i e d d i r 0036000 e c t l y , t h e n t h e y 0036020 a r e o b t a i n e d f r 0036040 o m t h e d e f a u l t s , 0036060 w h i c h t h e m s e l v e 0036100 s a r e f o u n d b y a 0036120 s e a r c h f o r t h e 0036140 n e a r e s t C l e a r i n g 0036160 H o u s e . \r \r T h e I n t e 0036200 r l i s p - D s o f t w a r e 0036220 t h a t s u p p o r t s a 0036240 c c e s s t o N S f i l e 0036260 s e r v e r s u s e s I F S 0036300 - s t y l e p a t h n a m e s 0036320 a n d d o e s t h e a p 0036340 p r o p r i a t e m a p p i n 0036360 g i n s o f t w a r e . 0036400 O n e i m p o r t a n t d i 0036420 f f e r e n c e , h o w e v e 0036440 r , i s t h a t f i l e s 0036460 e r v e r , d i r e c t o r y 0036500 , a n d f i l e n a m e s 0036520 m a y h a v e s p a c e s 0036540 i n t h e m . N S f i 0036560 l e s e r v e r s a r e m 0036600 o d e l e d a f t e r t h e 0036620 S t a r w o r l d , a n d 0036640 h a v e " F i l e D r a w 0036660 e r s " r a t h e r t h a n 0036700 d i r e c t o r i e s ; " 0036720 F i l e F o l d e r s " a r 0036740 e l i k e s u b - d i r e c 0036760 t o r i e s . T h e f u n 0037000 c t i o n s { f n D I R E C 0037020 T O R Y } , { f n F I L E B 0037040 R O W S E R } , { f n I N F 0037060 I L E } , { f n C O P Y F I 0037100 L E } , { f n L O A D } , 0037120 a n d { f n M A K E F I L E 0037140 } a r e w o r k i n g n o 0037160 w w i t h N S f i l e s 0037200 e r v e r s . \r \r \r { V a r D e 0037220 f { N a m e N E T W O R K O 0037240 S T Y P E S } \r { T e x t \r F i 0037260 l e s s e r v e r s o n d 0037300 i f f e r e n t m a c h i n e 0037320 s h a v e d i f f e r e n t 0037340 l o g i n p r o t o c o l s 0037360 , f i l e n a m e f o r m 0037400 a t s , e t c . F o r p 0037420 r o p e r s e r v i c e f r 0037440 o m f i l e s e r v e r s 0037460 o t h e r t h a n X e r o x 0037500 f i l e s e r v e r s , t 0037520 h e u s e r s h o u l d a 0037540 d d e n t r i e s t o t h 0037560 e a s s o c i a t i o n - l i 0037600 s t { v a r N E T W O R K O 0037620 S T Y P E S } a s s o c i a t 0037640 i n g t h e h o s t n a m 0037660 e ( a l l u p p e r c a s e 0037700 ) w i t h i t s o p e r a 0037720 t i n g s y s t e m t y p e 0037740 , c u r r e n t l y o n e 0037760 o f { l i s p T E N E X } , 0040000 { l i s p T O P S 2 0 } , 0040020 { l i s p U N I X } , o r 0040040 { l i s p V M S } . F o r 0040060 e x a m p l e { l i s p ( 0040100 A D D T O V A R N E T W O R K 0040120 O S T Y P E S ( M A X C 2 . 0040140 T E N E X ) ) } w i l l i 0040160 n f o r m I n t e r l i s p 0040200 t h a t t h e f i l e s e 0040220 r v e r { l i s p M A X C 2 0040240 } i s a { l i s p T E N 0040260 E X } f i l e s e r v e r . 0040300 \r } } \r \r \r \r } { E n d S u b 0040320 S e c F i l e S e r v e r 0040340 F i l e N a m e s } \r \r \r \r \r 0040360 { B e g i n S u b S e c L o 0040400 g g i n g I n } \r { T i t l e 0040420 L o g g i n g I n } \r { T e 0040440 x t \r \r M o s t f i l e s e 0040460 r v e r s r e q u i r e a 0040500 u s e r n a m e a n d p a 0040520 s s w o r d f o r a c c e s 0040540 s . W h e n a f i l e 0040560 s e r v e r r e q u e s t s 0040600 t h i s i n f o r m a t i o n 0040620 , I n t e r l i s p - D f i 0040640 r s t g i v e s t h e n a 0040660 m e a n d p a s s w o r d 0040700 f r o m t h e A l t o E x 0040720 e c u t i v e . I f t h e 0040740 f i l e s e r v e r d o e 0040760 s n ' t r e c o g n i z e t 0041000 h a t n a m e / p a s s w o r 0041020 d , I n t e r l i s p - D p 0041040 r o m p t s t h e u s e r 0041060 f o r a n a m e a n d p 0041100 a s s w o r d t o u s e . 0041120 I t s u g g e s t s a d 0041140 e f a u l t n a m e ( t h e 0041160 o n e o n t h e d i s k 0041200 ) , w h i c h t h e u s e 0041220 r c a n a c c e p t b y 0041240 t y p i n g a s p a c e , 0041260 o r r e p l a c e b y t y 0041300 p i n g a n e w n a m e 0041320 o r b a c k s p a c i n g o 0041340 v e r i t . I n t e r l i 0041360 s p - D s a v e s n a m e s 0041400 a n d p a s s w o r d s f 0041420 o r e a c h h o s t , s o 0041440 t h e u s e r c a n l o 0041460 g i n t o d i f f e r e n t 0041500 f i l e s e r v e r s u s 0041520 i n g d i f f e r e n t n a 0041540 m e s . \r \r { n o t e h o w 0041560 a b o u t p r o t e c t i o n 0041600 v i o l a t i o n i n t e r 0041620 a c t i o n - - r o n } \r \r 0041640 \r { F n D e f { N a m e L O 0041660 G I N } { A r g s H O S T N 0041700 A M E { a n o n a r g } { a 0041720 n o n a r g } { a n o n a r g 0041740 } } \r { T e x t \r F o r c e s 0041760 I n t e r l i s p - D t o a 0042000 s k f o r t h e l o g i n 0042020 n a m e a n d p a s s w o 0042040 r d t o b e u s e d w h 0042060 e n a c c e s s i n g h o s 0042100 t { a r g H O S T N A M E } 0042120 . A n y p r e v i o u s 0042140 l o g i n i n f o r m a t i o 0042160 n f o r { a r g H O S T N 0042200 A M E } i s o v e r r i d e 0042220 n . I f { a r g H O S T 0042240 N A M E } i s { l i s p N 0042260 I L } , i t o v e r r i d e 0042300 s l o g i n i n f o r m a t 0042320 i o n f o r a l l h o s t 0042340 s . P a s s w o r d i n f 0042360 o r m a t i o n v a n i s h e 0042400 s w h e n { f n L O G O U 0042420 T } , { f n S Y S O U T } , 0042440 o r { f n M A K E S Y S } 0042460 i s e x e c u t e d . R 0042500 e t u r n s t h e l o g i n 0042520 u s e r n a m e . \r } } \r \r 0042540 \r \r \r \r } { E n d S u b S e c 0042560 L o g g i n g I n } \r \r \r { 0042600 B e g i n S u b S e c A b n 0042620 o r m a l C o n d i t i o n s 0042640 } \r { T i t l e A b n o r m a 0042660 l C o n d i t i o n s } \r { T 0042700 e x t \r \r I f I n t e r l i s 0042720 p - D t r i e s t o a c c 0042740 e s s a f i l e a n d d 0042760 o e s n o t g e t a r e 0043000 s p o n s e f r o m t h e 0043020 f i l e s e r v e r i n a 0043040 r e a s o n a b l e p e r i 0043060 o d o f t i m e , i t p 0043100 r i n t s a m e s s a g e 0043120 t h a t t h e f i l e s e 0043140 r v e r i s n o t r e s p 0043160 o n d i n g , a n d k e e p 0043200 s t r y i n g . I f t h 0043220 e f i l e s e r v e r h a 0043240 s a c t u a l l y c r a s h 0043260 e d , t h i s m a y c o n 0043300 t i n u e i n d e f i n i t e 0043320 l y . A { l i s p C T R 0043340 L - E } o r s i m i l a r 0043360 i n t e r r u p t a b o r t s 0043400 o u t o f t h i s s t a 0043420 t e . \r \r I f t h e f i l e 0043440 s e r v e r c r a s h e s 0043460 b u t i s r e s t a r t e d 0043500 b e f o r e t h e u s e r 0043520 a t t e m p t s t o d o 0043540 a n y t h i n g , f i l e o 0043560 p e r a t i o n s w i l l u 0043600 s u a l l y p r o c e e d n 0043620 o r m a l l y , e x c e p t 0043640 f o r a b r i e f p a u s 0043660 e w h i l e I n t e r l i s 0043700 p - D t r i e s t o r e e 0043720 s t a b l i s h a n y c o n 0043740 n e c t i o n s i t h a d 0043760 o p e n b e f o r e t h e 0044000 c r a s h . I t w i l l 0044020 i n f o r m t h e u s e r 0044040 o f a n y p r o b l e m s 0044060 t h a t a r i s e i n s o 0044100 d o i n g . T h e m o s 0044120 t l i k e l y p r o b l e m 0044140 o c c u r s w h e n a f 0044160 i l e h a s b e e n o p e 0044200 n e d f o r o u t p u t b 0044220 u t h a s n o t y e t b 0044240 e e n w r i t t e n t o ( 0044260 o r n o t e n o u g h h a 0044300 s b e e n w r i t t e n s 0044320 o t h a t I n t e r l i s p 0044340 - D h a s w r i t t e n t 0044360 o t h e f i l e s e r v e 0044400 r ) . I n t h i s c a s 0044420 e t h e f i l e s e r v e 0044440 r w i l l t h i n k t h e 0044460 f i l e i s n o t t h e 0044500 r e w h e n I n t e r l i s 0044520 p - D t r i e s t o r e e 0044540 s t a b l i s h t h e c o n 0044560 n e c t i o n . A s i m i 0044600 l a r s i t u a t i o n a r 0044620 i s e s i f t h e s y s t 0044640 e m h a s b e e n i d l e 0044660 ( o r a t l e a s t h a 0044700 s n o t a c c e s s e d t 0044720 h e f i l e s e r v e r ) 0044740 f o r a s u f f i c i e n t 0044760 l y l o n g p e r i o d . 0045000 I n t h i s c a s e , t 0045020 h e f i l e s e r v e r w 0045040 i l l t i m e o u t t h e 0045060 c o n n e c t i o n . N o 0045100 r m a l l y , I n t e r l i s 0045120 p - D w i l l a t t e m p t 0045140 t o r e c o v e r g r a c 0045160 e f u l l y a s d e s c r i 0045200 b e d a b o v e . \r \r { f n 0045220 L O G O U T } c l o s e s a 0045240 n y L e a f c o n n e c t i 0045260 o n s t h a t a r e c u r 0045300 r e n t l y o p e n . O n 0045320 r e t u r n , i t a t t e 0045340 m p t s t o r e e s t a b l 0045360 i s h c o n n e c t i o n s 0045400 f o r a n y f i l e s t h 0045420 a t w e r e o p e n b e f 0045440 o r e l o g g i n g o u t . 0045460 I f a f i l e h a s 0045500 d i s a p p e a r e d o r b 0045520 e e n m o d i f i e d , I n 0045540 t e r l i s p - D r e p o r t 0045560 s t h i s f a c t . \r \r I f 0045600 i t i s d e s i r e d t 0045620 o b r e a k t h e L e a f 0045640 c o n n e c t i o n w i t h 0045660 o u t l o g g i n g o u t , 0045700 c a l l { l i s p ( B R E 0045720 A K C O N N E C T I O N { a r 0045740 g H O S T } ) } . { i n d e x 0045760 B R E A K C O N N E C T I O N 0046000 F N } \r A n y s u b s e q u 0046020 e n t r e f e r e n c e t o 0046040 f i l e s o n t h a t h 0046060 o s t w i l l r e e s t a b 0046100 l i s h t h e c o n n e c t 0046120 i o n . T h e m a i n r 0046140 e a s o n f o r d o i n g 0046160 t h i s o c c u r s i f I 0046200 n t e r l i s p - D i s i n 0046220 t e r r u p t e d w h i l e 0046240 a f i l e i s b e i n g 0046260 o p e n e d , l e a v i n g 0046300 t h e f i l e s e r v e r 0046320 t h i n k i n g t h e f i l 0046340 e i s o p e n a n d L i 0046360 s p t h i n k i n g i t i 0046400 s c l o s e d , a n d t h 0046420 e n g e t t i n g a f i l 0046440 e b u s y w h e n I n t e 0046460 r l i s p - D n e x t t r i 0046500 e s t o o p e n i t . \r \r 0046520 { n o t e B R E A K C O N N E 0046540 C T I O N s h o u l d b e 0046560 d o c u m e n t e d b e l o w 0046600 . A r e t h e r e a n y 0046620 o t h e r u s e r - l e v e 0046640 l L e a f f u n c t i o n s 0046660 ? } \r \r \r O n r a r e o c c 0046700 a s i o n s , t h e E t h e 0046720 r n e t m a y a p p e a r 0046740 c o m p l e t e l y u n r e s 0046760 p o n s i v e , d u e t o 0047000 I n t e r l i s p h a v i n g 0047020 g o t t e n i n t o a b 0047040 a d s t a t e . T y p i n 0047060 g { l i s p ( R E S T A R T 0047100 . E T H E R ) } w i l l r e 0047120 i n i t i a l i z e L i s p ' 0047140 s E t h e r n e t d r i v e 0047160 r ( s ) , j u s t a s w h 0047200 e n t h e L i s p s y s t 0047220 e m i s s t a r t e d u p 0047240 f o l l o w i n g a { f n 0047260 L O G O U T } , { f n S Y 0047300 S O U T } , e t c ( s e e 0047320 { P a g e R e f F n R E S T 0047340 A R T . E T H E R } ) \r \r \r } { 0047360 E n d S u b S e c A b n o r 0047400 m a l C o n d i t i o n s } \r 0047420 \r \r \r \r \r { B e g i n S u b S 0047440 e c C a v e a t s } \r { T i t 0047460 l e C a v e a t s } \r { T e x 0047500 t \r \r L e a f d o e s n o t 0047520 c u r r e n t l y s u p p o 0047540 r t d i r e c t o r y e n u 0047560 m e r a t i o n e x c e p t 0047600 f o r o n e m i n o r c a 0047620 s e ( i n t h e v e r s i 0047640 o n f i e l d ) . H e n c 0047660 e , { f n D I R E C T O R Y 0047700 } o r { f n F I L D I R } 0047720 c a n n o t b e u s e d 0047740 o n a L e a f f i l e s 0047760 e r v e r t o g e t a l 0050000 i s t o f f i l e s . \r \r { 0050020 f n I N F I L E P } a n d 0050040 { f n G E T F I L E I N F O } 0050060 c u r r e n t l y h a v e 0050100 t o o p e n t h e f i l e 0050120 f o r i n p u t i n o r 0050140 d e r t o o b t a i n t h 0050160 e i r i n f o r m a t i o n , 0050200 a n d h e n c e t h e f 0050220 i l e ' s r e a d d a t e 0050240 w i l l c h a n g e , e v e 0050260 n t h o u g h t h e s e m 0050300 a n t i c s o f t h e s e 0050320 f u n c t i o n s d o n o t 0050340 i m p l y i t . T h i s 0050360 d i f f e r s f r o m t h 0050400 e o p e r a t i o n o f { 0050420 l i s p D S K } , a n d f 0050440 r o m I n t e r l i s p - 1 0 0050460 f i l e o p e r a t i o n s 0050500 . \r \r \r I n t e r l i s p s u 0050520 p p o r t s s i m u l t a n e 0050540 o u s a c c e s s t o t h 0050560 e s a m e s e r v e r f r 0050600 o m d i f f e r e n t p r o 0050620 c e s s e s a n d p e r m i 0050640 t s o v e r l a p p i n g o 0050660 f L i s p c o m p u t a t i 0050700 o n w i t h f i l e s e r 0050720 v e r o p e r a t i o n s , 0050740 a l l o w i n g f o r i m p 0050760 r o v e d p e r f o r m a n c 0051000 e . H o w e v e r , a s 0051020 a c o r o l l a r y o f t 0051040 h i s , a f i l e i s n 0051060 o t c l o s e d t h e i n 0051100 s t a n t t h a t { f n C 0051120 L O S E F } r e t u r n s ; 0051140 I n t e r l i s p c l o s e 0051160 s t h e f i l e " i n t 0051200 h e b a c k g r o u n d " . 0051220 I t i s t h e r e f o r e 0051240 v e r y i m p o r t a n t 0051260 t h a t t h e u s e r e x 0051300 i t s I n t e r l i s p v i 0051320 a { l i s p ( L O G O U T ) 0051340 } , o r { l i s p ( L O G 0051360 O U T T ) } , r a t h e r 0051400 t h a n b o o t t h e m a 0051420 c h i n e o r e x i t v i 0051440 a R a i d . \r \r \r } { E n d 0051460 S u b S e c C a v e a t s } \r 0051500 \r \r \r \r \r { B e g i n S u b S 0051520 e c N e w F u n c t i o n a 0051540 l i t y } \r { T i t l e N e w 0051560 F u n c t i o n a l i t y } \r 0051600 { T e x t \r \r C e r t a i n f 0051620 i l e s e r v e r s t r e a 0051640 t t e x t a n d b i n a r 0051660 y f i l e s d i f f e r e n 0051700 t l y . F i l e s o n f 0051720 i l e s e r v e r s c a n 0051740 h a v e t h e a t t r i b u 0051760 t e { l i s p T Y P E } , 0052000 w i t h v a l u e { l i s p 0052020 T E X T } o r { l i s p 0052040 B I N A R Y } , f o r u s e 0052060 w i t h { f n G E T F I L 0052100 E I N F O } a n d { f n S 0052120 E T F I L E I N F O } . T h 0052140 e f i l e t y p e d e f a 0052160 u l t s t o t h e v a l u 0052200 e o f { v a r D E F A U L 0052220 T F I L E T Y P E } , { i n d e 0052240 x D E F A U L T F I L E T Y P 0052260 E V a r } i n i t i a l l y 0052300 { l i s p T E X T } . { 0052320 f n O P E N F I L E } a c c 0052340 e p t s { l i s p ( T Y P E 0052360 T E X T ) } o r { l i s p 0052400 ( T Y P E B I N A R Y ) } 0052420 a s a n e l e m e n t o f 0052440 i t s a r g u m e n t { a 0052460 r g M A C H I N E . D E P E N 0052500 D E N T . P A R A M E T E R S } 0052520 . \r \r { n o t e w h o c a r 0052540 e s ? - - R o n I 0052560 d o ! T h i s c a n b e 0052600 i m p o r t a n t i n f o 0052620 f o r O P E N F I L E o f 0052640 a n e w f i l e - - b v 0052660 m } \r \r A n o t h e r a l l o 0052700 w e d e l e m e n t o f { 0052720 a r g M A C H I N E . D E P E 0052740 N D E N T . P A R A M E T E R S 0052760 } i s { l i s p D O N ' T 0053000 . C H A N G E . D A T E } , w 0053020 h i c h m e a n s n o t t 0053040 o c h a n g e t h e f i l 0053060 e ' s c r e a t i o n d a t 0053100 e w h e n a f i l e i s 0053120 o p e n e d ( m e a n i n g 0053140 f u l o n l y f o r f i l 0053160 e s b e i n g o p e n e d 0053200 f o r o u t p u t ) . \r \r \r 0053220 \r I n t e r l i s p - D i n c 0053240 l u d e s a n i m p l e m e 0053260 n t a t i o n o f t h e P 0053300 u p F t p p r o t o c o l , 0053320 w h i c h s u p p o r t s t 0053340 r a n s f e r r i n g f i l e 0053360 s s e q u e n t i a l l y o 0053400 n l y . I n t h o s e c 0053420 a s e s w h e r e s e q u e 0053440 n t i a l a c c e s s ( a s 0053460 o p p o s e d t o r a n d 0053500 o m a c c e s s ) t o a 0053520 f i l e i s a p p r o p r i 0053540 a t e , t h e u s e o f 0053560 P u p F t p g e n e r a l l y 0053600 r e s u l t s i n c o n s 0053620 i d e r a b l e s p e e d i 0053640 m p r o v e m e n t o v e r 0053660 L e a f , p a r t i c u l a r 0053700 l y f o r w r i t i n g f 0053720 i l e s o n a X e r o x 0053740 I F S . T h e s y s t e m 0053760 t r i e s t o u s e P u 0054000 p F t p w h e r e p o s s i 0054020 b l e f o r { f n S Y S O 0054040 U T } a n d f o r t h e 0054060 d e s t i n a t i o n f i l e 0054100 o f a { f n C O P Y F I 0054120 L E } . O n e c a n i n 0054140 d i c a t e t h a t a f i 0054160 l e i s g o i n g t o b 0054200 e a c c e s s e d o n l y 0054220 s e q u e n t i a l l y b y 0054240 i n c l u d i n g t h e k e 0054260 y w o r d { l i s p S E Q U 0054300 E N T I A L } i n t h e l 0054320 i s t o f { a r g M A C H 0054340 I N E . D E P E N D E N T . P A 0054360 R A M E T E R S } p a s s e d 0054400 t o { f n O P E N F I L E 0054420 } ; t h e P u p F t p w i 0054440 l l b e u s e d , i f p 0054460 o s s i b l e . I f f o r 0054500 s o m e r e a s o n y o u 0054520 r f i l e s e r v e r s u 0054540 p p o r t s P u p F t p b u 0054560 t y o u d o n o t w i s 0054600 h { f n C O P Y F I L E } 0054620 o r { f n S Y S O U T } t 0054640 o u s e i t , y o u c a 0054660 n s e t t h e i n t e r n 0054700 a l v a r i a b l e { v a r 0054720 \ F T P A V A I L A B L E } { 0054740 i n d e x \ F T P A V A I L A 0054760 B L E V a r } t o { l i s 0055000 p N I L } . \r \r \r } { E n d 0055020 S u b S e c N e w F u n c t 0055040 i o n a l i t y } \r \r \r } { E n 0055060 d S u b S e c F i l e S e 0055100 r v e r s } \r \r \r \r \r \0 \0 032 ' \0 0055120 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 0055140 \0 \0 \0 \0 \0 270 \0 \0 \0 005 G A C H A \0 0055160 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ? j \0 \0 \0 0055200 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0055220 \0 \0 \0 002 \0 \0 \0 \t H E L V E T I C 0055240 A \0 022 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 Z K \0 0055260 004 z 270 0055263