$ 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